- Replaced some deprecated functions.
- SEPA: Allow foreign IBANs with Account objects.
- EBICS: Strip incoming whitespaces on all text nodes.
- RPC: Apply defusedxml to prevent known XML attacks.
- EBICS: Added ASN1 DigestInfo to prehashed digest for external signatures.
- RPC: Added possibility to extend the RPC class.
- EBICS: Added support for multiple signatures.
- EBICS: Added warnings about unconfirmed downloads.
- SEPA: Added the possibility to set custom KREF ids.
- Added possibility to install the RPC server as OS service.
- Removed deprecated methods EbicsClient.CD1() and Account.set_creditor_id().
- Added binaries for Linux ARM64.
- EBICS: Added some Swiss order types.
- EBICS: Added support for EBICS websockets.
- SEPA: Reject amounts with more than two decimals.
- SEPA: Added support for Urgent Payments (URGP).
- Added revised version of the RPC server to the main package.
- Fixed issue with default User-Agent header rejected by some banks.
- Some bug fixes with EBICS 3.0
- Updated external code sets.
- Added support for Python 3.10
- Dropped support for Python 2.
- SEPACreditTransfer: Omit CdtrAgt if BIC is not specified.
- EBICS: HPB bugfix, create keys from certificate as fallback.
- CAMTParser: Fixed creditor/debtor assignment of reversed transactions.
- DATEV: Group files by booking year and financial year.
- DATEV: Reject amounts with more than two decimals.
- Added missing SEPA countries AD and VC
- Added support for Python 3.9
- SEPA: Fixed bug parsing CAMT messages without AmtDtls node.
- SEPA: Added SCL Card Clearing check to iban.check_bic().
- EBICS: Added date range parameters to some download methods.
- EBICS: Fixed missing TLS SNI support.
- Dropped support for Python <2.7.9
- EBICS: Added method EbicsBank.get_protocol_versions()
- Fixed issue with Python 3.8
- DATEV: Added support for divergent financial years.
- EBICS: Added support for external signatures.
- Added method LicenseManager.list_ebics_users()
- DATEV: Added DatevCSV version 710.
- SEPA: Added support for Instant Payments
- SEPA: Added method Account.is_sepa()
- SEPA: Fixed bug in Swiss SCT scheme versions
- EBICS: Fixed issue with self-signed certificates
- Fixed debugging issues
- SEPA: Fixed bug in CBI scheme (CBI unique code)
- SEPA: Added method Account.set_originator_id()
- Added support for Python 3.8
- Added currency of local account to SEPA documents
- Changed LicenseManager endpoint
- Added possibility to disable EBICS response verification.
- Fixed Distributed Signature bug with key version A006.
- Fixed creditor/debtor assignment of reversed transactions (CAMTParser).
- Correctly sign amounts if reversal flag is set (MT940 parser).
- EBICS: Implemented EBICS protocol version 3.0 (H005).
- EBICS: Dropped support for PyCrypto.
- EBICS: Removed depreciated factory function EbicsClientCompat.
- EBICS: API changes: Renamed first parameter of EbicsClient.HVU() and EbicsClient.HVZ() from "ordertypes" to "filter".
- SEPA: Added Swiss scheme versions.
- SEPA: Added unstructured address attribute to Account.
- SEPA: Updated IBAN countries.
- DATEV: Added DatevCSV format.
- Updated External Code Sets
- SEPA: Fixed bug in CBI schemes
- EBICS: Fixed bug downloading large files
- SEPA: Added CBI schema for Italy
- Fixed bug using a proxy.
- Replaced the possibility to separate transactions with a method to create new batches.
- Use INI letter path with user's home directory expanded.
- Added possibility to process single transactions in its own batch.
- Added FreeBSD binary
- Fixed an issue with IPython and Django
- Fixed VEU bug with suppress_no_data_error=True
- Some code improvements
- New packaging
- Old versions should be uninstalled before upgrading!
- Added some logging
- Added EbicsClient context manager (auto-confirm)
- Added EbicsClient property suppress_no_data_error
- Added some IBAN countries
- Fixed unverified SSL connections (Py>=2.7.9)
- Accept multiple NtryDtls nodes in CAMTDocument
- Fixed a SEPA date issue.
- MT940 parser: Accept all characters in purpose text even if defined as delimiter.
- Fixed a distributed signature bug.
- Added the fields sum_credits and sum_debits to the MT942 parser.
- Fixed the handling of invalid times (24:00:00) in CAMT documents.
- Added the possibility to specify custom order parameters for FDL/FUL.
- Added further support for SEPA structured references.
- Fixed a bug parsing CAMT52 documents.
- Made the user for EbicsClient optional.
- Fixed a bug in EbicsUser.create_ini_letter to correctly return bytes.
- Added silent parameter to method EbicsBank.activate_keys.
- Added the attributes reference_id and sequence_id to the CAMTDocument parser.
- Now parses the transaction classification also for DK in addition to ZKA.
- Minor bug fix parsing MT942 documents.
- Minor bug fix creating self-signed certificates.
- Fixed a problem with Python builds compiled without “–with-fpectl”.
- Fixed a bug of Account.set_mandate with named arguments.
- PyOpenSSL is not longer required to support certificates.
- Removed direct debit type COR1 and adjusted mandate sequence types. API changes:
- OLD: Account.set_mandate(mref, signed, first, last)
- NEW: Account.set_mandate(mref, signed, recurrent)
- OLD: SEPADirectDebit(account, 'COR1', ...)
- NEW: SEPADirectDebit(account, 'CORE', ...)
- Added a check for DigestMethod algorithm.
- Fixed a bug rejecting mandates signed more than three years ago.
- Fixed minor bug in mt940 parser.
- Fixed bug of wrong content type in EBICS module.
- Added support for EBICS uploads that are approved manually via accompanying document.
- Added timeout to EBICS requests.
- Made BIC optional for SEPA transactions.
- Added creditor id to InitgPty/OrgId for Spanish banks.
- Added postal address to SEPA documents.
- Added support for creditor reference numbers.
- Added a check of the unicode variant (UCS2, UCS4) to setup.py.
- Added the SEPA fields BREF, RREF, SQTP and RTCD to the MT940 parser.
- Added a dictionary of possible return codes to the SEPA module.
- Added the possibility to dynamically license additional EBICS users.
- Fixed an encoding bug of non-ascii error messages under Python 2.
- Fixed a bug swapping local and remote account for returned transactions by the CAMT parser.
- Disabled output of license due to some difficulties with pip
- Added support for other currencies in addition to EUR.
- Added new Amount class with an integrated currency converter.
- Now the SEPATransaction property amount is of type Amount.
- Made the library Python 2/3 compatible.
- Added support for the cryptography package in addition to PyCrypto.
- Made the BIC optional for national transactions.
- Added the originator id to SEPA documents in GB and IE.
- Added a check to recognize transaction duplicates.
- Added a CAMT parser.
- Changed some attributes of SEPATransaction instances to be conform with the new CAMT parser:
- Removed the property id.
- Removed the property account, instead use the method get_account().
- Renamed the property due_date to date.
- Renamed the property ext_purpose to purpose_code.
- Changed the property purpose, now it is a tuple of strings.
- Changed the property amout, now debits are signed negative.
- Fixed the handling of invalid dates (eg. 2015-02-30) in MT940 and CAMT parsers.
- Fixed a problem with the exception handling in IPython.
- Some code improvements and minor bug fixes.
- Fixed a bug in the XML to dictionary converter.
- Fixed a bug in the path handler of the EbicsKeyRing class.
- Fixed a bug handling bank keys with a small bit-length.
- Added some tolerance to the MT940 parser and collect unknown structured fields.
- Renamed the package from ebics to fintech and the module client to ebics.
- Splitted the functionality of the class EbicsClient into the classes EbicsClient, EbicsBank, EbicsUser and EbicsKeyRing. Added the new class factory EbicsClientCompat for backwards compatibility.
- Added basic support for EBICS protocol version 2.4 (H003).
- Added support for certificates.
- Added the order types FUL and FDL.
- Added a French and English version of the INI-letter.
- Added the order types PUB, HCA, HCS and H3K.
- Added a check of remote SSL certificates against trusted CAs.
- Fixed the broken functionality of distributed signatures.
- Added a much faster PBKDF2 implementation.
- Created a more tolerant MT940 parser.
- Changed the API of SEPACreditTransfer and SEPADirectDebit to be more consistent and added support for different PAIN scheme versions.
- Several bug fixes.
- Fixed some bugs regarding the distributed signature
- Fixed a bug throwing an exception in an unregistered version of PyEBICS.
- Fixed bug of wrong OrderParams tag used by orders of the distributed signature.
- Added some functionality based on the SCL Directory, published by the German Central Bank.
- Fixed a bug refusing valid creditor ids.
- Added a test to check DATEV parameters for invalid arguments.
- Fixed a bug in some EBICS requests (missing parameter tag).
- Fixed a bug in the MT940 parser.
- Fixed a bug handling XML namespaces.
- Changed the behaviour of the flag parsed of some methods. Now a structure of dictionaries is returned instead of an objectified XML object.
- Changed the expected type of the params parameter. Now it must be a dictionary instead of a list of tuples.
- Added support for distributed signatures (HVU, HVD, HVZ, HVT, HVE, HVS).
- Fixed a few minor bugs.
- Made the package available for Windows.
- Added new DATEV module.
- Fixed wrong XML position of UltmtCdtr node in SEPA documents.
- Changed the order of the (BANKCODE, ACCOUNT) tuple to (ACCOUNT, BANKCODE) used by the Account initializer.
- Minor bug fix of the module loader.
- First public release.