diff --git a/.github/workflows/check-branch.yml b/.github/workflows/check-branch.yml
index 4c087e59..2332f0d0 100644
--- a/.github/workflows/check-branch.yml
+++ b/.github/workflows/check-branch.yml
@@ -8,13 +8,13 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Comment PR
- if: github.base_ref == 'master' && github.head_ref != 'next'
+ if: github.base_ref == 'master' && github.head_ref != 'staging'
uses: thollander/actions-comment-pull-request@v2
with:
message: |
- We regret to inform you that you are currently not able to merge your changes into the master branch due to restrictions applied by our SRE team. To proceed with merging your changes, we kindly request that you create a pull request from the next branch. Our team will then review the changes and work with you to ensure a successful merge into the master branch.
+ We regret to inform you that you are currently not able to merge your changes into the master branch due to restrictions applied by our SRE team. To proceed with merging your changes, we kindly request that you create a pull request from the staging branch. Our team will then review the changes and work with you to ensure a successful merge into the master branch.
- name: Check branch
- if: github.base_ref == 'master' && github.head_ref != 'next'
+ if: github.base_ref == 'master' && github.head_ref != 'staging'
run: |
- echo "ERROR: We regret to inform you that you are currently not able to merge your changes into the master branch due to restrictions applied by our SRE team. To proceed with merging your changes, we kindly request that you create a pull request from the next branch. Our team will then review the changes and work with you to ensure a successful merge into the master branch."
+ echo "ERROR: We regret to inform you that you are currently not able to merge your changes into the master branch due to restrictions applied by our SRE team. To proceed with merging your changes, we kindly request that you create a pull request from the staging branch. Our team will then review the changes and work with you to ensure a successful merge into the master branch."
exit 1
diff --git a/.github/workflows/issues-jira.yml b/.github/workflows/issues-jira.yml
new file mode 100644
index 00000000..7bf04694
--- /dev/null
+++ b/.github/workflows/issues-jira.yml
@@ -0,0 +1,31 @@
+name: Create Jira Ticket for Github Issue
+
+on:
+ issues:
+ types: [opened]
+
+jobs:
+ issue-jira:
+ runs-on: ubuntu-latest
+ steps:
+
+ - name: Login to Jira
+ uses: atlassian/gajira-login@master
+ env:
+ JIRA_BASE_URL: ${{ secrets.JIRA_BASE_URL }}
+ JIRA_USER_EMAIL: ${{ secrets.JIRA_USER_EMAIL }}
+ JIRA_API_TOKEN: ${{ secrets.JIRA_API_TOKEN }}
+
+ - name: Create Jira Issue
+ id: create_jira
+ uses: atlassian/gajira-create@master
+ with:
+ project: ${{ secrets.JIRA_PROJECT }}
+ issuetype: ${{ secrets.JIRA_ISSUE_TYPE }}
+ summary: Github | Issue | ${{ github.event.repository.name }} | ${{ github.event.issue.title }}
+ description: |
+ *GitHub Issue:* ${{ github.event.issue.html_url }}
+
+ *Description:*
+ ${{ github.event.issue.body }}
+ fields: "${{ secrets.ISSUES_JIRA_FIELDS }}"
\ No newline at end of file
diff --git a/.github/workflows/jira.yml b/.github/workflows/jira.yml
deleted file mode 100644
index 250abc76..00000000
--- a/.github/workflows/jira.yml
+++ /dev/null
@@ -1,33 +0,0 @@
-name: Create JIRA ISSUE
-on:
- pull_request:
- types: [opened]
-jobs:
- security-jira:
- if: ${{ github.actor == 'dependabot[bot]' || github.actor == 'snyk-bot' || contains(github.event.pull_request.head.ref, 'snyk-fix-') || contains(github.event.pull_request.head.ref, 'snyk-upgrade-')}}
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v2
- - name: Login into JIRA
- uses: atlassian/gajira-login@master
- env:
- JIRA_BASE_URL: ${{ secrets.JIRA_BASE_URL }}
- JIRA_USER_EMAIL: ${{ secrets.JIRA_USER_EMAIL }}
- JIRA_API_TOKEN: ${{ secrets.JIRA_API_TOKEN }}
- - name: Create a JIRA Issue
- id: create
- uses: atlassian/gajira-create@master
- with:
- project: ${{ secrets.JIRA_PROJECT }}
- issuetype: ${{ secrets.JIRA_ISSUE_TYPE }}
- summary: |
- Snyk | Vulnerability | ${{ github.event.repository.name }} | ${{ github.event.pull_request.title }}
- description: |
- PR: ${{ github.event.pull_request.html_url }}
-
- fields: "${{ secrets.JIRA_FIELDS }}"
- - name: Transition issue
- uses: atlassian/gajira-transition@v3
- with:
- issue: ${{ steps.create.outputs.issue }}
- transition: ${{ secrets.JIRA_TRANSITION }}
diff --git a/.github/workflows/maven--package-publish.yml b/.github/workflows/maven--package-publish.yml
index ed2ad1d8..ef515b1f 100644
--- a/.github/workflows/maven--package-publish.yml
+++ b/.github/workflows/maven--package-publish.yml
@@ -16,7 +16,7 @@ jobs:
with:
java-version: '11'
distribution: 'adopt'
- server-id: ossrh
+ server-id: central
server-username: MAVEN_USERNAME
server-password: MAVEN_PASSWORD
gpg-private-key: ${{ secrets.GPG_PRIVATE_KEY }}
@@ -24,8 +24,8 @@ jobs:
- name: Publish to Maven Central Repository
run: mvn --batch-mode -Dgpg.passphrase=${{ secrets.GPG_PASSPHRASE }} deploy
env:
- MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }}
- MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }}
+ MAVEN_USERNAME: ${{ secrets.MAVEN_USERNAME }}
+ MAVEN_PASSWORD: ${{ secrets.MAVEN_PASSWORD }}
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
# run: mvn --batch-mode deploy
\ No newline at end of file
diff --git a/.github/workflows/policy-scan.yml b/.github/workflows/policy-scan.yml
new file mode 100644
index 00000000..ff259231
--- /dev/null
+++ b/.github/workflows/policy-scan.yml
@@ -0,0 +1,46 @@
+name: Checks the security policy and configurations
+on:
+ pull_request:
+ types: [opened, synchronize, reopened]
+jobs:
+ security-policy:
+ if: github.event.repository.visibility == 'public'
+ runs-on: ubuntu-latest
+ defaults:
+ run:
+ shell: bash
+ steps:
+ - uses: actions/checkout@master
+ - name: Checks for SECURITY.md policy file
+ run: |
+ if ! [[ -f "SECURITY.md" || -f ".github/SECURITY.md" ]]; then exit 1; fi
+ security-license:
+ if: github.event.repository.visibility == 'public'
+ runs-on: ubuntu-latest
+ defaults:
+ run:
+ shell: bash
+ steps:
+ - uses: actions/checkout@master
+ - name: Checks for License file
+ run: |
+ expected_license_files=("LICENSE" "LICENSE.txt" "LICENSE.md" "License.txt")
+ license_file_found=false
+ current_year=$(date +"%Y")
+
+ for license_file in "${expected_license_files[@]}"; do
+ if [ -f "$license_file" ]; then
+ license_file_found=true
+ # check the license file for the current year, if not exists, exit with error
+ if ! grep -q "$current_year" "$license_file"; then
+ echo "License file $license_file does not contain the current year."
+ exit 2
+ fi
+ break
+ fi
+ done
+
+ if [ "$license_file_found" = false ]; then
+ echo "No license file found. Please add a license file to the repository."
+ exit 1
+ fi
\ No newline at end of file
diff --git a/.github/workflows/sast-scan.yml b/.github/workflows/sast-scan.yml
deleted file mode 100644
index 3b9521a5..00000000
--- a/.github/workflows/sast-scan.yml
+++ /dev/null
@@ -1,11 +0,0 @@
-name: SAST Scan
-on:
- pull_request:
- types: [opened, synchronize, reopened]
-jobs:
- security-sast:
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v2
- - name: Semgrep Scan
- run: docker run -v /var/run/docker.sock:/var/run/docker.sock -v "${PWD}:/src" returntocorp/semgrep semgrep scan --config auto
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
index f8e425ce..589ffda3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -25,6 +25,8 @@ local.properties
.settings/
.loadpath
.recommenders
+# Ignore test configuration
+test-config.properties
# External tool builders
.externalToolBuilders/
diff --git a/.talismanrc b/.talismanrc
index 7cd3cd8c..c7edb88f 100644
--- a/.talismanrc
+++ b/.talismanrc
@@ -1 +1,5 @@
threshold: medium
+fileignoreconfig:
+- filename: .github/workflows/secrets-scan.yml
+ checksum: d79ec3f3288964f7d117b9ad319a54c0ebc152e35f69be8fde95522034fdfb2a
+version: "1.0"
\ No newline at end of file
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 4a53e182..f18272a2 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,59 @@
# CHANGELOG
+## v2.3.1
+
+### Date: 03-Nov-2025
+
+- Github issue fix
+- Improved error messages
+
+## v2.3.0
+
+### Date: 29-Sep-2025
+
+- GCP-EU and AU region support
+
+## v2.2.0
+
+### Date: 25-Aug-2025
+
+- POJO implementation added
+
+## v2.1.3
+
+### Date: 06-Jun-2025
+
+- Fixed SyncStack to handle ArrayList
+
+## v2.1.2
+
+### Date: 26-May-2025
+
+- Global field implementation
+
+## v2.1.1
+
+### Date: 1-Apr-2025
+
+- Github Issue fix
+- Sanity test Integration
+
+## v2.1.0
+
+### Date: 1-Apr-2025
+
+- code vulnerabilities fixes
+- timeline feature implementation
+- snyk fixes
+
+## v2.0.3
+
+### Date: 3-March-2025
+
+- Added skip limit methods for Assets
+- Resolved a bug
+- Github issue fixed
+
## v2.0.2
### Date: 5-December-2024
diff --git a/CODEOWNERS b/CODEOWNERS
index 1be7e0dc..0496bc6a 100644
--- a/CODEOWNERS
+++ b/CODEOWNERS
@@ -1 +1,11 @@
-* @contentstack/security-admin
+* @contentstack/devex-pr-reviewers
+
+.github/workflows/sca-scan.yml @contentstack/security-admin
+
+.github/workflows/codeql-anaylsis.yml @contentstack/security-admin
+
+**/.snyk @contentstack/security-admin
+
+.github/workflows/policy-scan.yml @contentstack/security-admin
+
+.github/workflows/issues-jira.yml @contentstack/security-admin
diff --git a/LICENSE b/LICENSE
index d77c7f4e..d78b6bc8 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,6 +1,6 @@
MIT License
-Copyright (c) 2012 - 2024 Contentstack
+Copyright (c) 2012 - 2025 Contentstack
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/pom.xml b/pom.xml
index ad852c7d..7d86dffe 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
4.0.0
com.contentstack.sdk
java
- 2.0.2
+ 2.3.1
jar
contentstack-java
Java SDK for Contentstack Content Delivery API
@@ -20,12 +20,12 @@
3.3.1
3.4.1
3.0.0
- 3.1.9
+ 3.1.10
2.11.0
- 5.0.0-alpha.11
+ 5.1.0
0.8.5
- 1.18.34
- 5.10.1
+ 1.18.36
+ 5.11.4
5.8.0-M1
2.8.8
1.1.1
@@ -33,10 +33,10 @@
1.5
3.8.1
1.6.13
- 20240303
- 0.8.7
+ 20250107
+ 0.8.11
2.5.3
- 1.2.7
+ 1.2.15
@@ -85,26 +85,24 @@
-
+
+ Maven Snapshot Repository
ossrh
https://oss.sonatype.org/content/repositories/snapshots
-
-
-
-
-
-
-
+
+ github
+ https://maven.pkg.github.com/contentstack/contentstack-java
+
+ Maven Release Repository
ossrh
https://oss.sonatype.org/service/local/staging/deploy/maven2/
-
+ -->
@@ -122,14 +120,6 @@
compile
-
-
- io.github.cdimascio
- java-dotenv
- 5.2.2
-
-
-
io.reactivex.rxjava3
rxjava
@@ -187,10 +177,46 @@
com.fasterxml.jackson.core
jackson-databind
- 2.18.0
+ 2.18.2
-
+
+ com.slack.api
+ bolt
+ 1.45.3
+
+
+ org.jetbrains
+ annotations
+ 24.0.1
+
+
+ com.squareup.okhttp3
+ okhttp
+ 5.1.0
+
+
+ org.slf4j
+ slf4j-simple
+ 2.0.17
+
+
+
+ io.github.cdimascio
+ java-dotenv
+ 5.2.2
+
+
+
+
+
+
+ org.jetbrains.kotlin
+ kotlin-stdlib
+ 2.1.0
+
+
+
@@ -237,8 +263,7 @@
1.8
- https://docs.oracle.com/javase/7/docs/api/
- https://docs.oracle.com/javase/7/docs/api/
+ https://docs.oracle.com/en/java/javase/23/docs/api/
none
@@ -301,19 +326,14 @@
- org.sonatype.plugins
- nexus-staging-maven-plugin
- ${nexus-staging-maven-plugin.version}
+ org.sonatype.central
+ central-publishing-maven-plugin
+ 0.8.0
true
-
-
-
-
-
- ossrh
- https://oss.sonatype.org/
- true
+ central
+ true
+ published