From 110b98a0a6998d6082a256a04f4ad420466ee925 Mon Sep 17 00:00:00 2001 From: Aravind Kumar Date: Fri, 19 Jun 2026 12:57:18 +0530 Subject: [PATCH 1/5] issues-jira.yml --- .github/workflows/issues-jira.yml | 121 +++++++++++++++++++++++++----- 1 file changed, 104 insertions(+), 17 deletions(-) diff --git a/.github/workflows/issues-jira.yml b/.github/workflows/issues-jira.yml index 7bf0469..5f65d0b 100644 --- a/.github/workflows/issues-jira.yml +++ b/.github/workflows/issues-jira.yml @@ -2,30 +2,117 @@ name: Create Jira Ticket for Github Issue on: issues: - types: [opened] + types: [opened, reopened] jobs: issue-jira: runs-on: ubuntu-latest steps: + - name: Create Jira Issue + id: create_jira + uses: actions/github-script@v9 + with: + script: | + const baseUrl = process.env.JIRA_BASE_URL; + const userEmail = process.env.JIRA_USER_EMAIL; + const jiraToken = process.env.JIRA_API_TOKEN; + const jiraProject = process.env.JIRA_PROJECT; + const jiraIssueType = process.env.JIRA_ISSUE_TYPE; + const jiraFields = JSON.parse(process.env.ISSUES_JIRA_FIELDS); + + let requestBody = JSON.stringify({ + fields: { + ...jiraFields, + "project": { + "key": jiraProject + }, + "issuetype": { + "name": jiraIssueType + }, + "summary": "Github | Issue | ${{ github.event.repository.name }} | ${{ github.event.issue.title }}", + "description": { + "version": 1, + "type": "doc", + "content": [ + { + "type": "paragraph", + "content": [ + { + "type": "text", + "text": "Github Issue", + "marks": [ + { + "type": "strong" + } + ] + }, + { + "type": "text", + "text": ": " + }, + { + "type": "text", + "text": "${{ github.event.issue.html_url }}", + "marks": [ + { + "type": "link", + "attrs": { + "href": "${{ github.event.issue.html_url }}" + } + } + ] + } + ] + }, + { + "type": "paragraph", + "content": [ + { + "type": "text", + "text": "Description", + "marks": [ + { + "type": "strong" + } + ] + }, + { + "type": "text", + "text": ":" + } + ] + }, + { + "type": "codeBlock", + "content": [ + { + "type": "text", + "text": `${{ github.event.issue.body }}` + } + ] + } + ] + } + } + }); - - name: Login to Jira - uses: atlassian/gajira-login@master + const response = await fetch(`${baseUrl}/rest/api/3/issue`, { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + 'Authorization': `Basic ${btoa(userEmail + ":" + jiraToken)}` + }, + body: requestBody + }); + if (!response.ok) { + throw new Error(`JIRA API error! Status: ${response.status}`); + } + const data = await response.json(); + console.log('Jira Issue Created:', data.key); 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 + JIRA_PROJECT: ${{ secrets.JIRA_PROJECT }} + JIRA_ISSUE_TYPE: ${{ secrets.JIRA_ISSUE_TYPE }} + ISSUES_JIRA_FIELDS: "${{ secrets.ISSUES_JIRA_FIELDS }}" From bf09214af49d8af8f7f5b62a24f4e76b0b7e40e6 Mon Sep 17 00:00:00 2001 From: Aravind Kumar Date: Tue, 30 Jun 2026 20:27:55 +0530 Subject: [PATCH 2/5] Delete issues-jira.yml --- .github/workflows/issues-jira.yml | 118 ------------------------------ 1 file changed, 118 deletions(-) delete mode 100644 .github/workflows/issues-jira.yml diff --git a/.github/workflows/issues-jira.yml b/.github/workflows/issues-jira.yml deleted file mode 100644 index 5f65d0b..0000000 --- a/.github/workflows/issues-jira.yml +++ /dev/null @@ -1,118 +0,0 @@ -name: Create Jira Ticket for Github Issue - -on: - issues: - types: [opened, reopened] - -jobs: - issue-jira: - runs-on: ubuntu-latest - steps: - - name: Create Jira Issue - id: create_jira - uses: actions/github-script@v9 - with: - script: | - const baseUrl = process.env.JIRA_BASE_URL; - const userEmail = process.env.JIRA_USER_EMAIL; - const jiraToken = process.env.JIRA_API_TOKEN; - const jiraProject = process.env.JIRA_PROJECT; - const jiraIssueType = process.env.JIRA_ISSUE_TYPE; - const jiraFields = JSON.parse(process.env.ISSUES_JIRA_FIELDS); - - let requestBody = JSON.stringify({ - fields: { - ...jiraFields, - "project": { - "key": jiraProject - }, - "issuetype": { - "name": jiraIssueType - }, - "summary": "Github | Issue | ${{ github.event.repository.name }} | ${{ github.event.issue.title }}", - "description": { - "version": 1, - "type": "doc", - "content": [ - { - "type": "paragraph", - "content": [ - { - "type": "text", - "text": "Github Issue", - "marks": [ - { - "type": "strong" - } - ] - }, - { - "type": "text", - "text": ": " - }, - { - "type": "text", - "text": "${{ github.event.issue.html_url }}", - "marks": [ - { - "type": "link", - "attrs": { - "href": "${{ github.event.issue.html_url }}" - } - } - ] - } - ] - }, - { - "type": "paragraph", - "content": [ - { - "type": "text", - "text": "Description", - "marks": [ - { - "type": "strong" - } - ] - }, - { - "type": "text", - "text": ":" - } - ] - }, - { - "type": "codeBlock", - "content": [ - { - "type": "text", - "text": `${{ github.event.issue.body }}` - } - ] - } - ] - } - } - }); - - const response = await fetch(`${baseUrl}/rest/api/3/issue`, { - method: 'POST', - headers: { - 'Content-Type': 'application/json', - 'Authorization': `Basic ${btoa(userEmail + ":" + jiraToken)}` - }, - body: requestBody - }); - if (!response.ok) { - throw new Error(`JIRA API error! Status: ${response.status}`); - } - const data = await response.json(); - console.log('Jira Issue Created:', data.key); - env: - JIRA_BASE_URL: ${{ secrets.JIRA_BASE_URL }} - JIRA_USER_EMAIL: ${{ secrets.JIRA_USER_EMAIL }} - JIRA_API_TOKEN: ${{ secrets.JIRA_API_TOKEN }} - JIRA_PROJECT: ${{ secrets.JIRA_PROJECT }} - JIRA_ISSUE_TYPE: ${{ secrets.JIRA_ISSUE_TYPE }} - ISSUES_JIRA_FIELDS: "${{ secrets.ISSUES_JIRA_FIELDS }}" From d8ffd818ac8fccd9ae204169a3d05e5b8e15f1d3 Mon Sep 17 00:00:00 2001 From: reeshika-h Date: Thu, 9 Jul 2026 09:41:56 +0530 Subject: [PATCH 3/5] Fix snyk issue --- CHANGELOG.md | 6 ++++++ Contentstack.podspec | 6 +++--- Contentstack/Info.plist | 2 +- ContentstackInternal/CSIOCoreHTTPNetworking.m | 2 +- 4 files changed, 11 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 13eb3cc..104493e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,12 @@ - README and Docs/overview: Customer-facing deprecation announcement (new development → Swift CDA + SPM). - Added `DEPRECATION.md`: customer-facing deprecation notice (Swift SDK + SPM, existing CocoaPods users, support expectations, industry context). +### Version: 3.16.1 +#### Date: Jul-13-2026 + +##### Maintenance: + - Synced runtime SDK version (`X-User-Agent` header and bundle version) with the podspec release version + ### Version: 3.16.0 #### Date: Sep-22-2025 diff --git a/Contentstack.podspec b/Contentstack.podspec index dc061fa..7de562c 100644 --- a/Contentstack.podspec +++ b/Contentstack.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'Contentstack' -s.version = '3.16.0' +s.version = '3.16.1' s.summary = 'Contentstack is a headless CMS with an API-first approach that puts content at the centre.' s.description = <<-DESC @@ -9,10 +9,10 @@ In a world where content is consumed via countless channels and form factors acr DESC s.homepage = 'https://www.contentstack.com/' -s.license = { :type => 'Commercial',:text => 'See https://www.contentstack.com/'} +s.license = { :type => 'MIT',:file => 'LICENSE'} s.author = { 'Contentstack' => 'support@contentstack.io' } -s.source = { :git => 'https://github.com/contentstack/contentstack-ios.git', :tag => 'v3.14.0' } +s.source = { :git => 'https://github.com/contentstack/contentstack-ios.git', :tag => 'v3.16.1' } s.social_media_url = 'https://twitter.com/Contentstack' s.ios.deployment_target = '12.0' diff --git a/Contentstack/Info.plist b/Contentstack/Info.plist index cb51027..ba6bcae 100644 --- a/Contentstack/Info.plist +++ b/Contentstack/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 3.10.1 + 3.16.1 CFBundleSignature ???? CFBundleVersion diff --git a/ContentstackInternal/CSIOCoreHTTPNetworking.m b/ContentstackInternal/CSIOCoreHTTPNetworking.m index 72a070c..9e3d288 100644 --- a/ContentstackInternal/CSIOCoreHTTPNetworking.m +++ b/ContentstackInternal/CSIOCoreHTTPNetworking.m @@ -15,7 +15,7 @@ #import "NSObject+Extensions.h" #import "CSURLSessionManager.h" -NSString *const sdkVersion = @"3.10.1"; +NSString *const sdkVersion = @"3.16.1"; @interface CSIOCoreHTTPNetworking (){ id networkChangeObserver; From a50bded4d417d71cafd6c2b72d3e4035a5968aca Mon Sep 17 00:00:00 2001 From: reeshika-h Date: Wed, 22 Jul 2026 14:35:42 +0530 Subject: [PATCH 4/5] Update build destination for iOS Simulator in release workflow --- .github/workflows/release-package.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release-package.yml b/.github/workflows/release-package.yml index 72674bb..4ee472d 100644 --- a/.github/workflows/release-package.yml +++ b/.github/workflows/release-package.yml @@ -24,7 +24,7 @@ jobs: - name: Build run: | # Add commands to build and test your package - xcodebuild -workspace Contentstack.xcworkspace -scheme 'Contentstack' -destination 'platform=iOS Simulator,name=iPhone 16' + xcodebuild -workspace Contentstack.xcworkspace -scheme 'Contentstack' -destination 'generic/platform=iOS Simulator' - name: CocoaPods trunk push run: pod trunk push --allow-warnings From 26259ef65228582cae719665a928403c3ff28c6a Mon Sep 17 00:00:00 2001 From: reeshika-h Date: Mon, 27 Jul 2026 14:18:58 +0530 Subject: [PATCH 5/5] Update release date for version 3.16.1 in CHANGELOG.md --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 104493e..b4b20dd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,7 +6,7 @@ - Added `DEPRECATION.md`: customer-facing deprecation notice (Swift SDK + SPM, existing CocoaPods users, support expectations, industry context). ### Version: 3.16.1 -#### Date: Jul-13-2026 +#### Date: Jul-27-2026 ##### Maintenance: - Synced runtime SDK version (`X-User-Agent` header and bundle version) with the podspec release version