Skip to content

Releases: jellyhive/SwedishBankAccounts

v1.1.0 - Major IBAN Implementation & Bank Data Expansion

04 Oct 12:38
e895e76

Choose a tag to compare

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 BankAccountNumberType2D for 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

02 Oct 18:40
2378666

Choose a tag to compare

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 Bank object
  • 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

02 Oct 12:09
ba58be3

Choose a tag to compare

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

28 Sep 19:37
60ebd4a

Choose a tag to compare

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 Modulus97 class 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 compatibility

v0.1.4

19 Mar 09:10
1aae4f7

Choose a tag to compare

Fix of invalid type for "Marginalen Bank"

v0.1.3

13 Oct 09:17
fef4cf9

Choose a tag to compare

  • Fixed check for 15 characters max length of BankAccounts
  • Unit tests

v0.1.2

02 Jun 16:02
9f5473f

Choose a tag to compare

Supports for .NET Standard 2.0

v0.1.1

30 May 12:42
a37d70c

Choose a tag to compare

Merge pull request #4 from jellyhive/v0.1.1

V0.1.1