Update SWIFT Registry to Release 101 (Dec 2025) - #389
Conversation
|
Manual changes to the registry provider are not accepted. The SWIFT registry provider is code generated with a T4 template using the (raw, uneditted) txt file from SWIFT as a data source /src/IbanNet/Registry/Swift/Files. The file must be downloaded and included in the repo and then the T4 engine run once. The provider .cs file will be updated accordingly and this is what should be committed for review. If any data needs further patching, that should be done via an incremental code generation patch /src/IbanNet.CodeGen/Swift/Patches. But this should only be done sparingly and specifically to fix parse/data errors (iow. the T4 code generation fails somewhere). Please also refrain from modifying the .tt file, I don't really want to consider any changes to code generation at this point since it is being replaced with a source generator #322. This is also when the .cs file will be permanently removed from git, so any manual changes will be lost anyway. The exception can be the inclusion of RU, but please submit this as a separate PR and then also give the same treatment to the Wikipedia provider. |
This PR updates the SwiftRegistryProvider to align with the official SWIFT IBAN Registry Release 101 (published December 2025). The current implementation was based on Release 99 (December 2024).
Keeping the registry up-to-date ensures that users validating IBANs for recently updated regions (such as North Macedonia or Kosovo) or re-added regions (Russia) receive correct validation results according to the latest ISO 13616 standards.
Changes Made:
1. Registry Provider (SwiftRegistryProvider.cs)
- Updated EnglishName for North Macedonia (MK) (previously "Macedonia, The Former Yugoslav Republic of").
- Updated LastUpdatedDate for 28 countries (AE, AL, AT, CZ, JO, KW, KZ, LB, LI, LT, LU, LV, MC, MD, MK, MT, MU, OM, PK, PL, PS, PT, RO, SO, TR, UA, VA, VG, XK) to match the Release 101 timestamps.
2. Tests (SwiftRegistryProviderTests.cs & ExpectedDefinitionsSubset.cs)
3. Snapshot Testing (SwiftRegistryProvider.verified.txt)
Verification
[x] The solution builds successfully.
[x] Unit tests passed (specifically SwiftRegistryProviderTests).
[x] Snapshot tests verified against the generated output.