Skip to content

SRU2025 #162

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 5 commits into
base: main
Choose a base branch
from
Open

SRU2025 #162

wants to merge 5 commits into from

Conversation

zubri
Copy link
Member

@zubri zubri commented May 5, 2025

Summary by CodeRabbit

  • Deprecations & Removals

    • Removed multiple deprecated XML serialization and parsing methods from message header classes.
    • Deleted the deprecated MxWrite interface and related legacy methods.
    • Removed the deprecated "Derivatives" enum constant and cleared deprecation from "Treasury" in business process definitions.
    • Advanced deprecation phases for several legacy methods, with updated annotations and runtime warnings.
  • Upgrades & Dependency Updates

    • Upgraded dependencies including commons-lang3 and gson.
    • Updated Gradle and plugin versions for improved build tooling.
  • General Improvements

    • Updated documentation for the upcoming SWIFT Standard release (2025).
    • Enhanced deprecation notices and recommendations for alternative APIs.

Copy link
Contributor

coderabbitai bot commented May 5, 2025

Warning

Rate limit exceeded

@zubri has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 0 minutes and 10 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

📥 Commits

Reviewing files that changed from the base of the PR and between bfca6a4 and 08c2ddd.

📒 Files selected for processing (3)
  • .idea/compiler.xml (1 hunks)
  • CHANGELOG.md (1 hunks)
  • build.gradle (5 hunks)
📝 Walkthrough

Walkthrough

This update removes deprecated XML serialization and file parsing methods from several ISO 20022 core classes, eliminates the deprecated MxWrite interface, and advances the deprecation phase of certain legacy APIs. It also updates dependency versions, project metadata, and the Gradle wrapper, and removes an obsolete enum constant.

Changes

File(s) Change Summary
CHANGELOG.md Added new changelog entry for version 10.3.0-SNAPSHOT, documenting the 2025 SWIFT Standard release and dependency updates.
build.gradle, gradle/wrapper/gradle-wrapper.properties Upgraded Gradle wrapper (8.12 → 8.14), updated plugin and dependency versions, centralized version properties, and updated project metadata for SRU2025.
iso20022-core/src/main/java/com/prowidesoftware/swift/model/MxBusinessProcess.java Removed enum constant defp("Derivatives"), removed deprecation annotations from trea("Treasury"), and updated cbrf description; removed unused deprecation imports.
iso20022-core/src/main/java/com/prowidesoftware/swift/model/mx/AbstractMX.java Removed deprecated file parsing and XML serialization methods; updated deprecation annotation on DEFAULT_ROOT_ELEMENT; removed unused imports.
iso20022-core/src/main/java/com/prowidesoftware/swift/model/mx/AppHdr.java Removed deprecated XML serialization methods; changed xml(MxWriteParams) from default to abstract method; removed unused imports and comments.
iso20022-core/src/main/java/com/prowidesoftware/swift/model/mx/BusinessAppHdrV01.java
iso20022-core/src/main/java/com/prowidesoftware/swift/model/mx/BusinessAppHdrV02.java
iso20022-core/src/main/java/com/prowidesoftware/swift/model/mx/BusinessAppHdrV03.java
iso20022-core/src/main/java/com/prowidesoftware/swift/model/mx/BusinessAppHdrV04.java
iso20022-core/src/main/java/com/prowidesoftware/swift/model/mx/LegacyAppHdr.java
Removed deprecated xml method overloads accepting (String prefix, boolean includeXMLDeclaration) and (String prefix, boolean includeXMLDeclaration, EscapeHandler escapeHandler) parameters; removed related deprecation utilities imports.
iso20022-core/src/main/java/com/prowidesoftware/swift/model/mx/MxParseUtils.java Advanced deprecation phase of findElementByTags and findElementByPath methods to phase3/SRU2026; added runtime deprecation calls and rationale in Javadoc.
iso20022-core/src/main/java/com/prowidesoftware/swift/model/mx/MxWrite.java Deleted deprecated MxWrite interface and its default method.
iso20022-core/src/main/java/com/prowidesoftware/swift/model/mx/MxWriteImpl.java Removed implements MxWrite from class declaration.
iso20022-core/src/main/java/com/prowidesoftware/swift/model/mx/MxWriteConfiguration.java Updated deprecation annotation on envelopeTyoe field to phase3/SRU2026.
iso20022-core/src/main/java/com/prowidesoftware/swift/model/mx/NamespaceReader.java Updated deprecation annotation on elementExists method to phase3/SRU2026; added runtime deprecation call and import.
iso20022-core/src/main/java/com/prowidesoftware/swift/model/mx/AppHdrParser.java Changed header element presence check to use MxParseUtils.elementExists instead of NamespaceReader.elementExists.

Sequence Diagram(s)

sequenceDiagram
    participant User
    participant BusinessAppHdr as BusinessAppHdrV0[1-4]/LegacyAppHdr
    participant AppHdr
    participant MxWriteImpl

    User->>BusinessAppHdr: xml(MxWriteParams)
    BusinessAppHdr->>AppHdr: xml(MxWriteParams)
    AppHdr-->>BusinessAppHdr: XML String
    BusinessAppHdr-->>User: XML String

    User->>MxWriteImpl: write(AbstractMX, MxWriteParams)
    MxWriteImpl-->>User: XML String

    %% Deprecated methods removed:
    %% User->>BusinessAppHdr: xml(String prefix, boolean includeXMLDeclaration)
    %% User->>BusinessAppHdr: xml(String prefix, boolean includeXMLDeclaration, EscapeHandler)
Loading

Possibly related PRs


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Explain this complex logic.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai explain this code block.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

📜 Review details

Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 1d3d9f4 and 1726d7e.

📒 Files selected for processing (17)
  • CHANGELOG.md (1 hunks)
  • build.gradle (6 hunks)
  • gradle/wrapper/gradle-wrapper.properties (1 hunks)
  • iso20022-core/src/main/java/com/prowidesoftware/swift/model/MxBusinessProcess.java (0 hunks)
  • iso20022-core/src/main/java/com/prowidesoftware/swift/model/mx/AbstractMX.java (2 hunks)
  • iso20022-core/src/main/java/com/prowidesoftware/swift/model/mx/AppHdr.java (1 hunks)
  • iso20022-core/src/main/java/com/prowidesoftware/swift/model/mx/AppHdrParser.java (1 hunks)
  • iso20022-core/src/main/java/com/prowidesoftware/swift/model/mx/BusinessAppHdrV01.java (0 hunks)
  • iso20022-core/src/main/java/com/prowidesoftware/swift/model/mx/BusinessAppHdrV02.java (0 hunks)
  • iso20022-core/src/main/java/com/prowidesoftware/swift/model/mx/BusinessAppHdrV03.java (0 hunks)
  • iso20022-core/src/main/java/com/prowidesoftware/swift/model/mx/BusinessAppHdrV04.java (0 hunks)
  • iso20022-core/src/main/java/com/prowidesoftware/swift/model/mx/LegacyAppHdr.java (0 hunks)
  • iso20022-core/src/main/java/com/prowidesoftware/swift/model/mx/MxParseUtils.java (3 hunks)
  • iso20022-core/src/main/java/com/prowidesoftware/swift/model/mx/MxWrite.java (0 hunks)
  • iso20022-core/src/main/java/com/prowidesoftware/swift/model/mx/MxWriteConfiguration.java (1 hunks)
  • iso20022-core/src/main/java/com/prowidesoftware/swift/model/mx/MxWriteImpl.java (1 hunks)
  • iso20022-core/src/main/java/com/prowidesoftware/swift/model/mx/NamespaceReader.java (2 hunks)
💤 Files with no reviewable changes (7)
  • iso20022-core/src/main/java/com/prowidesoftware/swift/model/MxBusinessProcess.java
  • iso20022-core/src/main/java/com/prowidesoftware/swift/model/mx/BusinessAppHdrV03.java
  • iso20022-core/src/main/java/com/prowidesoftware/swift/model/mx/MxWrite.java
  • iso20022-core/src/main/java/com/prowidesoftware/swift/model/mx/BusinessAppHdrV04.java
  • iso20022-core/src/main/java/com/prowidesoftware/swift/model/mx/LegacyAppHdr.java
  • iso20022-core/src/main/java/com/prowidesoftware/swift/model/mx/BusinessAppHdrV02.java
  • iso20022-core/src/main/java/com/prowidesoftware/swift/model/mx/BusinessAppHdrV01.java
🧰 Additional context used
🧬 Code Graph Analysis (1)
iso20022-core/src/main/java/com/prowidesoftware/swift/model/mx/AppHdrParser.java (1)
iso20022-core/src/main/java/com/prowidesoftware/swift/model/mx/MxParseUtils.java (1)
  • MxParseUtils (56-733)
🪛 markdownlint-cli2 (0.17.2)
CHANGELOG.md

3-3: Heading levels should only increment by one level at a time
Expected: h2; Actual: h4

(MD001, heading-increment)


3-3: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below

(MD022, blanks-around-headings)


4-4: Unordered list indentation
Expected: 0; Actual: 2

(MD007, ul-indent)


4-4: Lists should be surrounded by blank lines
null

(MD032, blanks-around-lists)


5-5: Unordered list indentation
Expected: 0; Actual: 2

(MD007, ul-indent)


5-5: Bare URL used
null

(MD034, no-bare-urls)


6-6: Unordered list indentation
Expected: 0; Actual: 2

(MD007, ul-indent)


7-7: Unordered list indentation
Expected: 0; Actual: 2

(MD007, ul-indent)

⏰ Context from checks skipped due to timeout of 90000ms (2)
  • GitHub Check: Analyze (java-kotlin)
  • GitHub Check: Analyze (actions)
🔇 Additional comments (23)
iso20022-core/src/main/java/com/prowidesoftware/swift/model/mx/MxWriteImpl.java (1)

33-38: Clean removal of deprecated interface implementation.

The class no longer implements the MxWrite interface, which has been removed as part of the deprecation cleanup, while maintaining all functional aspects. This change successfully eliminates a layer of indirection and associated deprecation warnings.

iso20022-core/src/main/java/com/prowidesoftware/swift/model/mx/AppHdr.java (1)

122-122: Appropriate interface enhancement requiring explicit implementation.

The xml(MxWriteParams params) method is now declared abstract, requiring implementing classes to provide their own implementation. This change enforces the use of the newer parameterized approach for XML serialization, while the no-args xml() method maintains backward compatibility.

iso20022-core/src/main/java/com/prowidesoftware/swift/model/mx/AppHdrParser.java (1)

61-61: Good replacement of deprecated method with recommended alternative.

The code correctly replaces the deprecated NamespaceReader.elementExists() method with the recommended MxParseUtils.elementExists() method, maintaining the same functionality while aligning with the library's deprecation management strategy.

gradle/wrapper/gradle-wrapper.properties (1)

3-3: Appropriate Gradle wrapper updates.

The changes include:

  1. Upgrading Gradle from 8.12 to 8.14, which brings the latest improvements and bug fixes
  2. Adding validateDistributionUrl=true for enhanced security by validating the distribution URL

These are good practice updates that improve build system reliability and security.

Also applies to: 5-5

iso20022-core/src/main/java/com/prowidesoftware/swift/model/mx/NamespaceReader.java (1)

117-121: LGTM: Appropriate deprecation phase advancement

The postponement of deprecation from phase2 (SRU2025) to phase3 (SRU2026) is properly implemented with both the annotation update and runtime deprecation warning.

build.gradle (5)

7-10: LGTM: Updated plugin versions

The plugin versions have been updated to more recent releases, which is good practice for security and feature improvements.


25-31: LGTM: Centralized dependency versions

Good practice to extract dependency versions into variables for consistent management across the build file.


41-41: Review hardcoded version override

Line 41 sets a hardcoded version that overrides the version from scmVersion. Ensure this is intentional and only meant for local development.

This explicit version override will take precedence over the SCM-derived version. Is this intentional or should this be conditionally applied only for development?


108-114: LGTM: Updated dependency references

Dependencies now reference the centralized version variables, improving maintainability.


161-162: LGTM: Migration to Jakarta EE APIs

Properly updating from javax.persistence to jakarta.persistence, supporting the Jakarta EE migration path.

iso20022-core/src/main/java/com/prowidesoftware/swift/model/mx/MxParseUtils.java (5)

18-20: LGTM: Added necessary imports

Added import for DeprecationUtils to support runtime deprecation warnings.


479-482: LGTM: Improved JavaDoc explaining deprecation rationale

The enhanced JavaDoc clearly explains why these methods are deprecated, providing guidance to users on the recommended approach.


487-490: LGTM: Appropriate deprecation phase advancement with runtime warning

The postponement of deprecation from phase2 (SRU2025) to phase3 (SRU2026) is properly implemented with both the annotation update and the runtime deprecation warning.


620-623: LGTM: Consistent JavaDoc for deprecated methods

Good to see the same detailed explanation applied consistently to both deprecated methods.


626-629: LGTM: Consistent deprecation implementation

Consistently implemented the same deprecation approach as with other methods, using both annotation and runtime warning.

iso20022-core/src/main/java/com/prowidesoftware/swift/model/mx/AbstractMX.java (8)

31-31: Import changes align with method removals described in the summary

The retention of StringReader import while removing other IO-related imports suggests it's still needed for remaining functionality (like the xmlSource() method), while imports for deprecated file-handling utilities were removed.


73-73: Deprecation phase updated to SRU2026

The deprecation annotation for DEFAULT_ROOT_ELEMENT has been updated to target SRU2026 instead of a previous target. This aligns with the gradual deprecation strategy mentioned in the PR summary.


105-107: Parsing methods refactored to use MxReadParams

The remaining parse methods all use the MxReadParams and MxReadImpl approach, maintaining a consistent API while the deprecated file-based parsing methods have been removed.

Also applies to: 125-127, 137-162, 179-181


336-342: Header serialization methods properly maintained

The header serialization methods now consistently use MxWriteParams, which aligns with the removal of deprecated XML serialization methods mentioned in the summary.

Also applies to: 380-383


350-353: Document serialization methods properly maintained

The document serialization methods also consistently use MxWriteParams, supporting the standardized approach to XML serialization after removal of deprecated methods.

Also applies to: 394-399


255-329: Message serialization methods properly maintained

The message serialization methods that combine header and document elements continue to function properly after the removal of deprecated XML serialization methods.

Also applies to: 417-432


408-415: XML source method correctly uses StringReader

The xmlSource() method correctly uses StringReader to convert the XML string to a Source object, explaining why this import was retained while other IO-related imports were removed.


1-588:

❓ Verification inconclusive

Verify impact of removed parsing methods

The PR summary indicates that several deprecated parsing methods (like parse(File, MxId)) were removed. Ensure all client code has migrated to using the remaining parsing methods.


🏁 Script executed:

#!/bin/bash
# Search for any references to removed parsing methods in the codebase
rg -A 3 "AbstractMX\.parse\(.*File" --glob "*.java"

Length of output: 53


🏁 Script executed:

#!/bin/bash
# Search for any calls to parse methods expecting File parameters in the codebase
rg -nE "(AbstractMX|MxReadImpl)\.parse\([^)]*File" --glob '*.java'

Length of output: 465


Verify migration of deprecated parse methods
I ran searches for any in-repo invocations of parse(…, File) on both AbstractMX and MxReadImpl and found no hits. However, absence in this codebase doesn’t guarantee that downstream or client code isn’t still calling the removed overloads.

Please manually confirm that all consumers of this library have been updated to use the remaining parse signatures.

Comment on lines 89 to 92
@Deprecated
@ProwideDeprecated(phase2 = TargetYear.SRU2025)
@ProwideDeprecated(phase3 = TargetYear.SRU2026)
public EnvelopeType envelopeTyoe = EnvelopeType.CUSTOM;

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Verification agent

🧩 Analysis chain

Deprecation phase update aligned with SRU2026
The @ProwideDeprecated annotation on envelopeTyoe has been correctly advanced to phase3 = TargetYear.SRU2026. Please make sure that all related documentation—changelogs, migration guides, release notes—and any code examples are updated to reflect this new deprecation timeline.

You can verify that no remaining deprecated annotations still target SRU2025 by running:


🏁 Script executed:

#!/bin/bash
# Verify any @ProwideDeprecated annotations still reference SRU2025
rg -n "@ProwideDeprecated\\(phase[[:digit:]] = TargetYear\\.SRU2025\\)" -C 2 iso20022-core/

Length of output: 90


🏁 Script executed:

#!/bin/bash
# Verify any @ProwideDeprecated annotations still reference SRU2025 across the entire repository
rg -n "@ProwideDeprecated.*TargetYear\\.SRU2025" -C 2 .

# Additionally, search for any raw mentions of SRU2025 that might have been missed
rg -n "SRU2025" -C 2 .

Length of output: 528


Build configuration version bump to SRU2026
The @ProwideDeprecated annotations have been updated to TargetYear.SRU2026, but the Gradle build still references SRU2025. Please update these version settings to align with the new deprecation timeline and upcoming release:

• build.gradle:26

- SRU = 'SRU2025'
+ SRU = 'SRU2026'

• build.gradle:27

- prowideCoreVersion = 'SRU2025-10.3.0-SNAPSHOT'
+ prowideCoreVersion = 'SRU2026-10.3.0-SNAPSHOT'

• build.gradle:41

- project.version = "SRU2025-10.3.0-SNAPSHOT"
+ project.version = "SRU2026-10.3.0-SNAPSHOT"

Also review and update any related documentation—changelogs, migration guides, release notes, and code examples—to reflect SRU2026.

🤖 Prompt for AI Agents (early access)
In iso20022-core/src/main/java/com/prowidesoftware/swift/model/mx/MxWriteConfiguration.java around lines 89 to 92, the @ProwideDeprecated annotation for envelopeTyoe has been updated to phase3 = TargetYear.SRU2026, but the Gradle build files at lines 26, 27, and 41 still reference SRU2025. Update these build.gradle version settings from SRU2025 to SRU2026 to maintain consistency. Additionally, review and update all related documentation such as changelogs, migration guides, release notes, and code examples to reflect the new SRU2026 deprecation timeline.

CHANGELOG.md Outdated
Comment on lines 3 to 7
#### 10.3.0 - SNAPSHOT
* SWIFT Standard release update 2025 (live 22 November 2025)
* Yearly revision of deprecation phase (see https://dev.prowidesoftware.com/SRU2024/getting-started/deprecation/)
* Dependency update: commons-lang3 -> 3.17.0
* Dependency update: gson -> 2.13.1
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick (assertive)

Fix markdown formatting issues for better consistency

The changelog entry has several formatting issues according to markdown best practices:

  1. Heading level should be h2 instead of h4 (use ## instead of ####)
  2. Missing blank lines around the heading and list
  3. List items should be at indentation level 0
  4. Bare URL should be enclosed in angle brackets
-#### 10.3.0 - SNAPSHOT
-  * SWIFT Standard release update 2025 (live 22 November 2025)
-  * Yearly revision of deprecation phase (see https://dev.prowidesoftware.com/SRU2024/getting-started/deprecation/)
-  * Dependency update: commons-lang3 -> 3.17.0
-  * Dependency update: gson -> 2.13.1
+## 10.3.0 - SNAPSHOT
+
+* SWIFT Standard release update 2025 (live 22 November 2025)
+* Yearly revision of deprecation phase (see <https://dev.prowidesoftware.com/SRU2024/getting-started/deprecation/>)
+* Dependency update: commons-lang3 -> 3.17.0
+* Dependency update: gson -> 2.13.1
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
#### 10.3.0 - SNAPSHOT
* SWIFT Standard release update 2025 (live 22 November 2025)
* Yearly revision of deprecation phase (see https://dev.prowidesoftware.com/SRU2024/getting-started/deprecation/)
* Dependency update: commons-lang3 -> 3.17.0
* Dependency update: gson -> 2.13.1
## 10.3.0 - SNAPSHOT
* SWIFT Standard release update 2025 (live 22 November 2025)
* Yearly revision of deprecation phase (see <https://dev.prowidesoftware.com/SRU2024/getting-started/deprecation/>)
* Dependency update: commons-lang3 -> 3.17.0
* Dependency update: gson -> 2.13.1
🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

3-3: Heading levels should only increment by one level at a time
Expected: h2; Actual: h4

(MD001, heading-increment)


3-3: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below

(MD022, blanks-around-headings)


4-4: Unordered list indentation
Expected: 0; Actual: 2

(MD007, ul-indent)


4-4: Lists should be surrounded by blank lines
null

(MD032, blanks-around-lists)


5-5: Unordered list indentation
Expected: 0; Actual: 2

(MD007, ul-indent)


5-5: Bare URL used
null

(MD034, no-bare-urls)


6-6: Unordered list indentation
Expected: 0; Actual: 2

(MD007, ul-indent)


7-7: Unordered list indentation
Expected: 0; Actual: 2

(MD007, ul-indent)

🤖 Prompt for AI Agents (early access)
In CHANGELOG.md around lines 3 to 7, fix markdown formatting by changing the heading from h4 (####) to h2 (##), add blank lines before and after the heading and the list, ensure list items have no indentation, and enclose the bare URL in angle brackets to follow markdown best practices.

@@ -1,5 +1,11 @@
# Prowide ISO 20022 - CHANGELOG

#### 10.3.0 - SNAPSHOT
* SWIFT Standard release update 2025 (live 22 November 2025)
* Yearly revision of deprecation phase (see https://dev.prowidesoftware.com/SRU2024/getting-started/deprecation/)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Verification agent

🧩 Analysis chain

Update deprecation documentation URL

The URL for the deprecation documentation still references SRU2024, but this PR is for SRU2025.

Check if an updated URL for SRU2025 deprecation documentation exists, and update the reference accordingly if available.


🌐 Web query:

Does Prowide have an SRU2025 deprecation documentation page?

💡 Result:

Based on the search results, there is no explicit mention of an SRU2025 deprecation documentation page for Prowide. The search results contain information about Prowide's deprecation policy in general and references to documentation pages for previous SRU (SWIFT Release Update) versions such as SRU2024, SRU2023, and earlier releases.

The deprecation policy is documented at "https://dev.prowidesoftware.com/latest/getting-started/deprecation/" which explains Prowide's approach to API deprecation in phases[6]. This general policy document dates back to April 2016 and outlines a four-phase deprecation process that spans at least 4 years from the initial deprecation mark to deletion.

When discussing specific SRU versions, the search results show that Prowide typically includes a "yearly revision of deprecation phase" in their release notes, with references to the deprecation policy page. For example, in the changelog for SRU2024 (version 10.2.0), they mention "Yearly revision of deprecation phase (see https://dev.prowidesoftware.com/SRU2024/getting-started/deprecation/)"[7][9].

While there is mention of SRU2025 in the context of hybrid addresses support (starting by the end of November 2025)[4], there is no specific mention of an SRU2025 deprecation documentation page in the provided search results.

Citations:


Update deprecation documentation URL to use the generic “latest” page

Please update the SRU2024‐specific link in CHANGELOG.md to point at the general deprecation policy, as there is no SRU2025‐specific page:

  • File: CHANGELOG.md (around line 5)
- * Yearly revision of deprecation phase (see https://dev.prowidesoftware.com/SRU2024/getting-started/deprecation/)
+ * Yearly revision of deprecation phase (see https://dev.prowidesoftware.com/latest/getting-started/deprecation/)
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
* Yearly revision of deprecation phase (see https://dev.prowidesoftware.com/SRU2024/getting-started/deprecation/)
* Yearly revision of deprecation phase (see https://dev.prowidesoftware.com/latest/getting-started/deprecation/)
🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

5-5: Unordered list indentation
Expected: 0; Actual: 2

(MD007, ul-indent)


5-5: Bare URL used
null

(MD034, no-bare-urls)

🤖 Prompt for AI Agents (early access)
In CHANGELOG.md at line 5, the URL for the deprecation documentation currently points to the SRU2024-specific page. Since there is no SRU2025-specific page, update the URL to the generic deprecation policy page at https://dev.prowidesoftware.com/latest/getting-started/deprecation/ to ensure the link remains accurate and relevant.

@nazeer1100126
Copy link

Hi can you release this PR changes please

@zubri
Copy link
Member Author

zubri commented May 28, 2025

Hi can you release this PR changes please

New standard releases are made publicly available via Maven Central by October each year.

Prowide issues pre-releases by May (six- months in advance) only to subscribed customers, via a private repository. manager. There is an early release offering at https://www.prowidesoftware.com/development-tools/iso20022

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants