Releases: jellyhive/SwedishBankAccounts
Releases · jellyhive/SwedishBankAccounts
v1.1.0 - Major IBAN Implementation & Bank Data Expansion
What's Changed
Major Features
- Complete IBAN Implementation: Added full IBAN generation and validation support with proper modulus-97 check digit calculation according to ISO 13616
- New Account Type Support: Added
BankAccountNumberType2Dfor modern digital banks with modulus-11 validation - Massive Bank Database Expansion: Significantly expanded bank definitions with comprehensive sorting code ranges and BIC/SWIFT codes
IBAN Infrastructure
- Enhanced Format Support: IBAN format now properly handles all Swedish bank account types
- Robust Validation: Fixed IBAN generation for 5-digit sorting codes and edge cases
- Modulus-97 Algorithm: Implemented complete IBAN check digit validation according to international standards
Bank Data Updates
- Added support for numerous additional Swedish banks and their sorting code ranges
- Enhanced bank lookup functionality with improved range handling
- Updated BIC/SWIFT code mappings for international compatibility
Bug Fixes
- Fixed account validation for Type2D accounts (Avanza Bank and others)
- Corrected IBAN generation edge cases for complex sorting code patterns
- Improved modulus validation accuracy across all account types
Technical Improvements
- Refactored range handling for better performance and maintainability
- Enhanced code quality with stricter validation rules
- Updated test coverage for new IBAN functionality
Note: This release contains significant internal changes for IBAN handling that were previously incorrect. All IBAN-related functionality has been completely rewritten for accuracy and compliance.
Full Changelog: v1.0.0...v1.1.0
v1.0.0
Major Release - Breaking Changes
First major release introducing improved API for accessing bank information.
Breaking Changes
Bank Property Type Change: The Bank property on BankAccountNumber changed from string to Bank object. Use .Bank.Name to access bank name instead of .Bank.
New Features
- Enhanced bank information access through
Bankobject - Direct access to BIC/SWIFT codes via
.Bank.Bic - Access to sorting code ranges and account type information
Migration
Replace account.Bank with account.Bank.Name when upgrading from v0.x.x.
Technical Details
- All validation logic unchanged
- All formatting options preserved
- No performance impact
- .NET Standard 2.0 compatibility maintained
v0.2.1
What's New in v0.2.1
Features
- BIC/SWIFT Support: Added BIC/SWIFT codes for major Swedish banks including Swedbank, Nordea, SEB, Handelsbanken, Danske Bank, Avanza, ICA Banken, Länsförsäkringar, SBAB, Skandiabanken, and more
- New Banks Added:
- Aion Bank
- Lunar Bank
- Northmill Bank
Improvements
- Build Quality: Enabled TreatWarningsAsErrors to ensure higher code quality
- Null Safety: Fixed null reference warnings in ToString formatting method
v0.2.0
New Features
Multiple ToString Formats
Added comprehensive formatting support for BankAccountNumber with 6 different output formats:
- NUMERIC (N) - Default format:
9071-4172383 - COMPACT (C) - No separators:
90714172383 - SORTINGCODE (S) - Only clearing number:
9071 - ACCOUNTNUMBER (A) - Only account number:
4172383 - IBAN (I) - Swedish IBAN format:
SE8790714172383000000 - PRETTY (P) - With bank name:
Multitude Bank 9071-4172383
IBAN Generation
- Full IBAN support according to ISO 13616 standard
- Modulus 97 check digit calculation for Swedish bank accounts
- New
Modulus97class for IBAN validation
Enhanced API
var account = BankAccountNumber.Parse("9071-4172383");
Console.WriteLine(account.ToString("IBAN")); // SE8790714172383000000
Console.WriteLine(account.ToString("PRETTY")); // Multitude Bank 9071-4172383
Improvements
- Case-insensitive formatting - All format strings work with any case
- Robust error handling - Invalid formats throw FormatException with helpful messages
- Backward compatibility - Existing ToString() behavior unchanged
- Comprehensive testing - 40+ new tests covering all formats and edge cases
Documentation
- Updated README with formatting examples
- Enhanced CLAUDE.md with architecture details
- Complete API documentation for all formats
Technical Updates
- Updated GitHub Actions to support .NET 9
- All 228 tests passing
- Maintains .NET Standard 2.0 compatibilityv0.1.4
Fix of invalid type for "Marginalen Bank"
v0.1.3
- Fixed check for 15 characters max length of BankAccounts
- Unit tests
v0.1.2
Supports for .NET Standard 2.0
v0.1.1
Merge pull request #4 from jellyhive/v0.1.1 V0.1.1