Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
a657af8
fix bug (#594)
xinyual Jun 16, 2025
4dd37cb
Doc: release note file rename (#597)
yuye-aws Jun 18, 2025
7bd0476
Fix cve13009 (#599)
xinyual Jun 18, 2025
bdf987e
support dynamic tool in agent framework (#606)
zane-neo Jul 14, 2025
bd912c3
Fix attributes handling in dynamic tool (#607)
zane-neo Jul 14, 2025
f62deac
Update the maven snapshot publish endpoint and credential (#601)
zelinh Jul 17, 2025
df667b7
mask error message (#609)
xinyual Jul 28, 2025
df5e252
Merge index schema meta (#596)
xinyual Aug 4, 2025
a76521f
Increment version to 3.2.0-SNAPSHOT (#605)
opensearch-trigger-bot[bot] Aug 6, 2025
d5e4e93
bump gradle, java, lombok and fix ad configrequest change
amitgalitz Aug 6, 2025
bd19b37
Add release notes for 3.2.0
opensearch-ci-bot Aug 6, 2025
bc4d9ca
Add release notes for 3.2.0
opensearch-ci-bot Aug 6, 2025
addf057
Update parameter handling of tools (#618)
yuancu Aug 11, 2025
a33cbb3
Remove dynamic tool (#620)
zane-neo Aug 11, 2025
d1152a2
Wait until LLM setup tasks complete in ToolIntegrationTest (#623)
yuancu Aug 13, 2025
fff1ca0
Update delete_backport_branch workflow to include release-chores bran…
RileyJergerAmazon Aug 13, 2025
aa1e091
fix: Update System.env syntax for Gradle 9 compatibility (#630)
dbwiddis Aug 21, 2025
32ac215
Log patterns analysis tool (#625)
Hailong-am Sep 5, 2025
ca93fb4
Increment version to 3.3.0-SNAPSHOT (#626)
opensearch-trigger-bot[bot] Sep 17, 2025
4450039
feat: Data Distribution Tool (#634)
PauiC Sep 18, 2025
b2556bc
Add more information in ppl tool when passing to sagemaker (#636)
xinyual Sep 19, 2025
1f866c0
fix: delete-single-baseline (#641)
PauiC Sep 30, 2025
f6f9cf6
Add release notes for 3.3.0 (#642)
opensearch-ci-bot Oct 7, 2025
10d97ac
Fix websearchtool issue (#639)
zane-neo Oct 8, 2025
5a3529c
update 3.3 release note (#650)
zane-neo Oct 8, 2025
0d1bfa8
Onboarding new maven snapshots publishing to s3 (skills) (#657)
peterzhuamazon Oct 23, 2025
0952482
fix regex bypass issue (#656)
zane-neo Oct 27, 2025
6584fa5
[AUTO] Add release notes for 3.3.2 (#664)
opensearch-ci-bot Oct 28, 2025
ba0a55e
chore(deps): update gradle to v8.14.3 (#649)
mend-for-github-com[bot] Oct 30, 2025
dc07401
Increment version to 3.4.0-SNAPSHOT (#646)
opensearch-trigger-bot[bot] Dec 1, 2025
805de2d
Gradle 9.2.0 and GitHub Actions JDK 25 Upgrade (#675)
zane-neo Dec 2, 2025
7d49cee
increase max_sample_count to 5 for log insight (#677)
Hailong-am Dec 4, 2025
06525fc
[AUTO] Increment version to 3.5.0-SNAPSHOT (#683)
opensearch-trigger-bot[bot] Jan 22, 2026
054e9ed
fix LogPatternAnalysisTool missing attributes (#690)
Hailong-am Feb 5, 2026
ec18a10
feat: Add MetricChangeAnalysisTool for metric change detection (#698)
xluo-aws Feb 27, 2026
4be3a13
update tool description to be more clear (#703)
Hailong-am Mar 4, 2026
0f25162
Search around tool (#702)
Hailong-am Mar 10, 2026
e3f247c
Add filter support for LogPatternAnalysisTool (#707)
Hailong-am Mar 20, 2026
5a07968
Increment version to 3.6.0-SNAPSHOT (#693)
opensearch-trigger-bot[bot] Mar 24, 2026
d9e2e8b
fix(deps): update dependency org.apache.spark:spark-common-utils_2.13…
opensearch-trigger-bot[bot] Apr 1, 2026
18ec663
[AUTO] Add release notes for 3.6.0 (#719)
opensearch-ci-bot Apr 4, 2026
770da34
Incremented version to 3.6.1
opensearch-ci-bot Apr 7, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
needs: Get-CI-Image-Tag
strategy:
matrix:
java: [21, 23]
java: [21, 25]
name: Build and Test skills plugin on Linux
runs-on: ubuntu-latest
container:
Expand Down Expand Up @@ -52,7 +52,7 @@ jobs:
build-MacOS:
strategy:
matrix:
java: [21, 23]
java: [21, 25]

name: Build and Test skills Plugin on MacOS
needs: Get-CI-Image-Tag
Expand All @@ -77,7 +77,7 @@ jobs:
build-windows:
strategy:
matrix:
java: [21, 23]
java: [21, 25]
name: Build and Test skills plugin on Windows
needs: Get-CI-Image-Tag
runs-on: windows-latest
Expand Down
17 changes: 12 additions & 5 deletions .github/workflows/delete_backport_branch.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,16 @@ on:
jobs:
delete-branch:
runs-on: ubuntu-latest
if: startsWith(github.event.pull_request.head.ref,'backport/')
permissions:
contents: write
if: startsWith(github.event.pull_request.head.ref,'backport/') || startsWith(github.event.pull_request.head.ref,'release-chores/')
steps:
- name: Delete merged branch
uses: SvanBoxel/delete-merged-branch@main
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Delete merged branch
uses: actions/github-script@v7
with:
script: |
github.rest.git.deleteRef({
owner: context.repo.owner,
repo: context.repo.repo,
ref: `heads/${context.payload.pull_request.head.ref}`,
})
21 changes: 15 additions & 6 deletions .github/workflows/maven-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,14 +24,23 @@ jobs:
distribution: temurin # Temurin is a distribution of adoptium
java-version: 21
- uses: actions/checkout@v3
- uses: aws-actions/configure-aws-credentials@v4

- name: Load secret
uses: 1password/load-secrets-action@v2
with:
# Export loaded secrets as environment variables
export-env: true
env:
OP_SERVICE_ACCOUNT_TOKEN: ${{ secrets.OP_SERVICE_ACCOUNT_TOKEN }}
MAVEN_SNAPSHOTS_S3_REPO: op://opensearch-infra-secrets/maven-snapshots-s3/repo
MAVEN_SNAPSHOTS_S3_ROLE: op://opensearch-infra-secrets/maven-snapshots-s3/role

- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v5
with:
role-to-assume: ${{ secrets.PUBLISH_SNAPSHOTS_ROLE }}
role-to-assume: ${{ env.MAVEN_SNAPSHOTS_S3_ROLE }}
aws-region: us-east-1

- name: publish snapshots to maven
run: |
export SONATYPE_USERNAME=$(aws secretsmanager get-secret-value --secret-id maven-snapshots-username --query SecretString --output text)
export SONATYPE_PASSWORD=$(aws secretsmanager get-secret-value --secret-id maven-snapshots-password --query SecretString --output text)
echo "::add-mask::$SONATYPE_USERNAME"
echo "::add-mask::$SONATYPE_PASSWORD"
./gradlew publishPluginZipPublicationToSnapshotsRepository
2 changes: 1 addition & 1 deletion .github/workflows/test_security.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
integ-test-with-security-linux:
strategy:
matrix:
java: [21, 23]
java: [21, 25]
env:
ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true
name: Run Security Integration Tests on Linux
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,4 @@ out/
.settings
.vscode
bin/
.factorypath
53 changes: 34 additions & 19 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import com.github.jengelman.gradle.plugins.shadow.ShadowPlugin
buildscript {
ext {
opensearch_group = "org.opensearch"
opensearch_version = System.getProperty("opensearch.version", "3.1.0-SNAPSHOT")
opensearch_version = System.getProperty("opensearch.version", "3.6.1-SNAPSHOT")
buildVersionQualifier = System.getProperty("build.version_qualifier", "")
isSnapshot = "true" == System.getProperty("build.snapshot", "true")
version_tokens = opensearch_version.tokenize('-')
Expand All @@ -31,7 +31,7 @@ buildscript {

repositories {
mavenLocal()
maven { url "https://aws.oss.sonatype.org/content/repositories/snapshots" }
maven { url "https://ci.opensearch.org/ci/dbc/snapshots/maven/" }
maven { url "https://plugins.gradle.org/m2/" }
mavenCentral()
}
Expand All @@ -49,14 +49,14 @@ plugins {
}

lombok {
version = "1.18.34"
version = "1.18.38"
}

repositories {
mavenLocal()
mavenCentral()
maven { url "https://plugins.gradle.org/m2/" }
maven { url "https://aws.oss.sonatype.org/content/repositories/snapshots" }
maven { url "https://ci.opensearch.org/ci/dbc/snapshots/maven/" }
}

allprojects {
Expand Down Expand Up @@ -136,26 +136,36 @@ dependencies {
compileOnly "org.apache.logging.log4j:log4j-slf4j-impl:2.23.1"
compileOnly group: 'org.json', name: 'json', version: '20240303'
compileOnly("com.google.guava:guava:33.2.1-jre")
compileOnly group: 'org.apache.commons', name: 'commons-lang3', version: '3.16.0'
compileOnly group: 'org.apache.commons', name: 'commons-lang3', version: "${versions.commonslang}"
compileOnly group: 'org.apache.commons', name: 'commons-text', version: '1.12.0'
compileOnly("com.fasterxml.jackson.core:jackson-annotations:${versions.jackson}")
compileOnly group: 'org.apache.commons', name: 'commons-math3', version: '3.6.1'
compileOnly("com.fasterxml.jackson.core:jackson-annotations:${versions.jackson_annotations}")
compileOnly("com.fasterxml.jackson.core:jackson-databind:${versions.jackson_databind}")
compileOnly(group: 'org.apache.httpcomponents.core5', name: 'httpcore5', version: "${versions.httpcore5}")
compileOnly(group: 'org.apache.httpcomponents.client5', name: 'httpclient5', version: "${versions.httpclient5}")
compileOnly ('com.jayway.jsonpath:json-path:2.9.0') {
exclude group: 'net.minidev', module: 'json-smart'
}
compileOnly (group: 'software.amazon.awssdk', name: 'netty-nio-client', version: "${versions.aws}") {
exclude(group: 'org.reactivestreams', module: 'reactive-streams')
exclude(group: 'org.slf4j', module: 'slf4j-api')
}
compileOnly(group: 'software.amazon.awssdk', name: 'http-client-spi', version: "${versions.aws}")
compileOnly(group: 'software.amazon.awssdk', name: 'utils', version: "${versions.aws}")
compileOnly(group: 'software.amazon.awssdk', name: 'sdk-core', version: "${versions.aws}")

spark 'org.apache.spark:spark-sql-api_2.13:3.5.4'
spark 'org.apache.spark:spark-core_2.13:3.5.4'
spark group: 'org.apache.spark', name: 'spark-common-utils_2.13', version: '3.5.4'
spark 'org.apache.spark:spark-sql-api_2.13:3.5.8'
spark ('org.apache.spark:spark-core_2.13:3.5.8') {
exclude group: 'org.eclipse.jetty', module: 'jetty-server'
}
spark group: 'org.apache.spark', name: 'spark-common-utils_2.13', version: '3.5.8'

implementation 'org.scala-lang:scala-library:2.13.9'
implementation group: 'org.antlr', name: 'antlr4-runtime', version: '4.9.3'
implementation("org.json4s:json4s-ast_2.13:3.7.0-M11")
implementation("org.json4s:json4s-core_2.13:3.7.0-M11")
implementation("org.json4s:json4s-jackson_2.13:3.7.0-M11")
implementation 'com.fasterxml.jackson.module:jackson-module-scala_3:2.18.2'
implementation "com.fasterxml.jackson.module:jackson-module-scala_3:${versions.jackson}"
implementation group: 'org.scala-lang', name: 'scala3-library_3', version: '3.7.0-RC1-bin-20250119-bd699fc-NIGHTLY'
implementation("com.thoughtworks.paranamer:paranamer:2.8")
implementation("org.jsoup:jsoup:1.19.1")
Expand All @@ -165,7 +175,7 @@ dependencies {
compileOnly group: 'org.opensearch', name:'opensearch-ml-spi', version: "${opensearch_build}"
compileOnly fileTree(dir: jsJarDirectory, include: ["opensearch-job-scheduler-${opensearch_build}.jar"])
implementation fileTree(dir: adJarDirectory, include: ["opensearch-anomaly-detection-${opensearch_build}.jar"])
implementation fileTree(dir: sqlJarDirectory, include: ["opensearch-sql-thin-${opensearch_build}.jar", "ppl-${opensearch_build}.jar", "protocol-${opensearch_build}.jar"])
implementation fileTree(dir: sqlJarDirectory, include: ["opensearch-sql-thin-${opensearch_build}.jar", "ppl-${opensearch_build}.jar", "protocol-${opensearch_build}.jar", "core-${opensearch_build}.jar"])
implementation fileTree(dir: sparkDir, include: ["spark*.jar"])
compileOnly "org.opensearch:common-utils:${opensearch_build}"
compileOnly "org.jetbrains.kotlin:kotlin-stdlib:${kotlin_version}"
Expand All @@ -189,13 +199,15 @@ dependencies {
testImplementation group: 'org.json', name: 'json', version: '20240303'
testImplementation group: 'org.mockito', name: 'mockito-core', version: '5.14.2'
testImplementation group: 'org.mockito', name: 'mockito-inline', version: '5.2.0'
testImplementation("net.bytebuddy:byte-buddy:1.17.5")
testImplementation("net.bytebuddy:byte-buddy:1.17.7")
testImplementation("net.bytebuddy:byte-buddy-agent:1.17.5")
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.11.2'
testImplementation 'org.mockito:mockito-junit-jupiter:5.14.2'
testImplementation "com.nhaarman.mockitokotlin2:mockito-kotlin:2.2.0"
testImplementation "com.cronutils:cron-utils:9.2.1"
testImplementation 'com.jayway.jsonpath:json-path:2.9.0'
testImplementation('net.minidev:json-smart:2.5.2')
testImplementation 'net.minidev:asm:1.0.2'
testImplementation "commons-validator:commons-validator:1.8.0"
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.11.2'
}
Expand All @@ -205,9 +217,9 @@ task addSparkJar(type: Copy) {
into sparkDir

doLast {
def jarA = file("$sparkDir/spark-sql-api_2.13-3.5.4.jar")
def jarB = file("$sparkDir/spark-core_2.13-3.5.4.jar")
def jarC = file("$sparkDir/spark-common-utils_2.13-3.5.4.jar")
def jarA = file("$sparkDir/spark-sql-api_2.13-3.5.8.jar")
def jarB = file("$sparkDir/spark-core_2.13-3.5.8.jar")
def jarC = file("$sparkDir/spark-common-utils_2.13-3.5.8.jar")

// 3a. Extract jar A to manipulate it
def jarAContents = file("$buildDir/tmp/JarAContents")
Expand All @@ -234,7 +246,9 @@ task addSparkJar(type: Copy) {
// Remove the unwanted directory from jar B
delete file("${jarBContents}/org/apache/spark/unused")
delete file("${jarBContents}/org/sparkproject/jetty/http")
delete file("${jarBContents}/org/sparkproject/jetty/server")
delete file("${jarBContents}/META-INF/maven/org.eclipse.jetty/jetty-http")
delete file("${jarBContents}/META-INF/maven/org.eclipse.jetty/jetty-server")
// Re-compress jar B
ant.zip(destfile: jarB, baseDir: jarBContents)

Expand Down Expand Up @@ -432,10 +446,11 @@ publishing {
repositories {
maven {
name = "Snapshots"
url = "https://aws.oss.sonatype.org/content/repositories/snapshots"
credentials {
username "$System.env.SONATYPE_USERNAME"
password "$System.env.SONATYPE_PASSWORD"
url = System.getenv("MAVEN_SNAPSHOTS_S3_REPO")
credentials(AwsCredentials) {
accessKey = System.getenv("AWS_ACCESS_KEY_ID")
secretKey = System.getenv("AWS_SECRET_ACCESS_KEY")
sessionToken = System.getenv("AWS_SESSION_TOKEN")
}
}
}
Expand Down
4 changes: 2 additions & 2 deletions gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionSha256Sum=61ad310d3c7d3e5da131b76bbf22b5a4c0786e9d892dae8c1658d4b484de3caa
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14-bin.zip
distributionSha256Sum=16f2b95838c1ddcf7242b1c39e7bbbb43c842f1f1a1a0dc4959b6d4d68abcac3
distributionUrl=https\://services.gradle.org/distributions/gradle-9.2.0-all.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
Expand Down
15 changes: 15 additions & 0 deletions release-notes/opensearch-skills.release-notes-3.2.0.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
## Version 3.2.0.0 Release Notes

Compatible with OpenSearch and OpenSearch Dashboards version 3.2.0.0

### Enhancements
* Merge index schema meta ([#596](https://github.com/opensearch-project/skills/pull/596))
* Mask error message in PPLTool ([#609](https://github.com/opensearch-project/skills/pull/609))

### Bug Fixes
* Update parameter handling of tools ([#618](https://github.com/opensearch-project/skills/pull/618))

### Maintenance
* Update the maven snapshot publish endpoint and credential ([#601](https://github.com/opensearch-project/skills/pull/601))
* Bump gradle, java, lombok and fix ad configrequest change ([#615](https://github.com/opensearch-project/skills/pull/615))
* Bump version to 3.2.0.0 ([#605](https://github.com/opensearch-project/skills/pull/605))
20 changes: 20 additions & 0 deletions release-notes/opensearch-skills.release-notes-3.3.0.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
## Version 3.3.0 Release Notes

Compatible with OpenSearch and OpenSearch Dashboards version 3.3.0

### Features
* Log patterns analysis tool ([#625](https://github.com/opensearch-project/skills/pull/625))
* Data Distribution Tool ([#634](https://github.com/opensearch-project/skills/pull/634))

### Enhancements
* Add more information in ppl tool when passing to sagemaker ([#636](https://github.com/opensearch-project/skills/pull/636))

### Bug Fixes
* Delete-single-baseline ([#641](https://github.com/opensearch-project/skills/pull/641))
* Fix WebSearchTool issue ([#639](https://github.com/opensearch-project/skills/pull/639))

### Infrastructure
* Update System.env syntax for Gradle 9 compatibility ([#630](https://github.com/opensearch-project/skills/pull/630))

### Maintenance
* Increment version to 3.3.0-SNAPSHOT ([#626](https://github.com/opensearch-project/skills/pull/626))
6 changes: 6 additions & 0 deletions release-notes/opensearch-skills.release-notes-3.3.2.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
## Version 3.3.2 Release Notes

Compatible with OpenSearch 3.3.2 and OpenSearch Dashboards 3.3.0

### Bug Fixes
* Fix regex bypass issue ([#656](https://github.com/opensearch-project/skills/pull/656))
17 changes: 17 additions & 0 deletions release-notes/opensearch-skills.release-notes-3.6.0.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
## Version 3.6.0 Release Notes

Compatible with OpenSearch and OpenSearch Dashboards version 3.6.0

### Features

* Add SearchAroundTool to search N documents around a given document ([#702](https://github.com/opensearch-project/skills/pull/702))
* Add MetricChangeAnalysisTool for detecting and analyzing metric changes via percentile comparison between baseline and selection periods ([#698](https://github.com/opensearch-project/skills/pull/698))

### Enhancements

* Add filter support for LogPatternAnalysisTool to enable log pattern analysis for specific services ([#707](https://github.com/opensearch-project/skills/pull/707))
* Update default tool descriptions for LogPatternAnalysisTool and DataDistributionTool to improve clarity for LLM usage ([#703](https://github.com/opensearch-project/skills/pull/703))

### Maintenance

* Update Apache Spark dependencies (spark-common-utils_2.13) from 3.5.4 to 3.5.8 ([#713](https://github.com/opensearch-project/skills/pull/713))
Loading
Loading