github marcwrobel/jbanking v4.0.0
4.0.0

latest releases: v4.2.0, v4.1.0
2 years ago

Added

  • Add random IBAN generation for all the ISO 13616-compliant national IBAN formats (#153).
  • Add Iban#getBankIdentifier() to get the bank identifier from an Iban (#162).
  • Add Iban#getBranchIdentifier() to get the branch identifier from an Iban (#162).
  • Add Iban#getAccountNumber() to get the account number from an Iban (#162).
  • Add Iban#getNationalCheckDigit() to get the national check digit from an Iban (#162).
  • Make CreditorIdentifier#REGEX public (as part of #172).
  • Make Iban#REGEX public (as part of #171).
  • Make BbanStructure public (as part of #153). BbanStructure is an enum that holds countries BBAN structure as listed in the IBAN registry.
  • Add SwiftPatternCharacterRepresentation to centralize information about SWIFT pattern character representations (as part of #171).
  • Document alternatives to jbanking (#164).

Changed

  • (breaking change) Make CreditorIdentifier final (#116).
  • (breaking change) Rename Bic#BIC_REGEX to Bic#REGEX and make it accept untrimmed strings (as part of #170 and #176).
  • (breaking change) Make Iban not accepting values containing spaces anymore (as part of #116). This means
    printable or untrimmed IBANs are not considered valid values anymore. Note that this feature was not documented.
  • (breaking change) Make IbanCheckDigit#validate return false for null or less than 5 characters strings (#188).
  • (breaking change) Make SwiftPattern#toString returning only the SWIFT pattern expression (as part of #222).
    Prior to this version SwiftPattern#toString were returning the SWIFT pattern expression with its corresponding regular expression.
  • (breaking change) Make BicFormatException, CreditorIdentifierFormatException, IbanFormatException and SwiftPatternSyntaxException extend IllegalArgumentException instead of RuntimeException (#220).
  • (breaking change) Move IbanCheckDigit from fr.marcwrobel.jbanking.iban to fr.marcwrobel.jbanking.checkdigit (#174).
  • (breaking change) Accept untrimmed input strings in Bic, CreditorIdentifier, Iban, IsoCountry and IsoCurrency (#176). In earlier versions only case-insensitive were accepted.
  • Get rid of regexes to validate BICs (#170). This significantly increased the performances of BIC validation and creation (+200-300%).
  • Get rid of regexes to validate Creditor Identifiers (#172). This significantly increased the performances of Creditor Identifiers validation and creation (+100-300%).
  • Get rid of regexes to validate IBANs (#171). This significantly increased the performances of IBAN validation and creation (+200-400%).
  • Improve javadoc (as part of #170 and #172).
  • Add the state funeral of Queen Elizabeth II day to London calendar (#204).
  • Add the national day of mourning for Her Majesty The Queen day to Sydney calendar (#204).
  • Improve documentation of Bic, CreditorIdentifier, Iban and SwiftPattern regarding serialization (as part of #222).
  • Update documentation to reflect the change from Turkey to Türkiye documented in the ISO 4217 Currency Code Service - Amendment number 173 (#207).

Fixed

  • (breaking change) Iban.isValid(String) or IbanCheckDigit.validate(String) return false instead of raising an IllegalArgumentException with invalid IBAN check digit (e.g. 00, 01, or 99).
  • Fix Bic, CreditorIdentifier and Iban documentation (#209). It was not explicit that lowercase characters were accepted.

Removed

  • (breaking change) Remove Bic#BIC_PATTERN (as part of #170). If you still need to use the BIC regex, you may compile the pattern from Bic#REGEX, which has been kept for compatibility and documentation purposes.

Internal

  • Bump strata-basics from 2.12.5 to 2.12.15 (#179, #204, #210).
  • Bump github/codeql-action from 2.1.16 to 2.1.27 (#192, #206, #217).
  • Bump actions/setup-java from 3.4.1 to 3.6.0 (#195, #202, #218).
  • Bump actions/checkout from 3.0.2 to 3.1.0 (#205).
  • Bump development java version from temurin-17.0.3+7 to temurin-17.0.4+101 (#212, #233).
  • Bump benchmark java version from temurin-8.0.332+9 to temurin-8.0.345+1 (#233).
  • Alphabetically sort IsoCurrency, Holidays and BbanStructure enums entries (#161).
  • Add benchmarks that track the evolution of jbanking performances from version to version (#166). Some numbers can be seen here.
  • Increase JVM memory for Maven (#184). Sonar analysis fails with OutOfMemoryError.
  • Remove bin/check-links (#129). The script has been moved to https://github.com/marcwrobel/checklinks.
  • Configure dependabot to check for update of GitHub actions versions (#189).
  • Add OpenSSF scorecard badge to the README (#193).
  • Update build workflow to use Java 19 instead of Java 18 (#191).
  • Use Character.digit instead of Character.getNumericValue in IbanCheckDigit as recommended in Error Prone#CharacterGetNumericValue (closes #117).
  • Add serialization tests for serializable classes (#222).
  • Add the CheckDigit interface and make IbanCheckDigit implements it (#174).
  • Enums maintenance - 2022/10 (#231).

Thanks

Many thanks to @aSemy for his help on #153 !

Don't miss a new jbanking release

NewReleases is sending notifications on new releases.