Versions ******** - 1.4.0 (September 8, 2025) - `Updated splits to support numeric values. `__ - `Updated XML parsing to use iterparse to improve performance. `__ - `Improvements to the delete_log_files utility function. `__ - `Fixed a bug in Transaction::get_balance_at_transaction. `__ The function wasn't including the amount of the transaction you specifie,d just everything leading up to it. It now also calls `abs()`. - Introduced new methods to the `Budget `__ class. - `all_periods `__ applies an amount to a given account in the budget over all periods using the indicated action. - `estimate `__ estimates the cost for each recurrence period, using the average if specified. - `get_budget_accounts `__ filters the given accounts to identify those that are associated with the budget. - `get_period_amount `__ gets the period amount of a specific account and index. - `set_period_amount `__ sets the amount for a specific period in a specific account. - `get_period_index `__ determines the index of the recurrence period that contains the specified date. - `clear `__ clears all or specified values based on account and/or index. - 1.3.0 (April 16, 2025) - `Fixed a bug in the Account equality operator `__: Should be seeing if "other" is an Account, not "object". Also, the comparison was silently failing, so changed it to raise a NotImplementedError exception. - `#35 `__: Generate a py.typed file during packaging process - `#36 `__: Modify any calls that use a string path to also accept PathLike. - Added `Transaction.create_reversing_transaction `__. - `#33 `__: Add `LINQ-like searching `__ for transactions - `Updated type-hints to use built-ins instead of the typing module. `__ - 1.2.0 (December 20, 2024) - **BREAKING CHANGE**: Changed supported Python versions to 3.9+. - `#22 `__: Add `get_cleared_balance `__ to `TransactionManager `__. - `#23 `__: Add `get_all_accounts `__ to `Book `__. - `#30 `__: Improved constructors of most objects to accept values instead of relying on users to set properties individually. - `#31 `__: Allow for various `sorting methods `__ when loading GnuCash documents and adding transactions. - Added properties to the `Transaction `__ class. - `from_splits `__ - `from_split_accounts `__ - `from_split_account_names `__ - `to_splits `__ - `to_split_accounts `__ - `to_split_account_names `__ - `split_accounts `__ - `split_account_names `__ - `splits_total `__ - Added methods to the `TransactionManager `__ class. - `get_balance_at_transaction `__ - Fixed a bug when loading transactions via `SimpleTransaction `__. - Fixed a bug when parsing slot XML data. - Performance improvement on `TransactionManager `__'s `get_balance_at_date `__. - 1.1.1 (July 24, 2020) - Bugfixes - 1.1.0 (May 4, 2020) - **BREAKING CHANGE**: Only Python 3.6+ supported in favor of variable-level typing. - **BREAKING CHANGE**: as_xml and from_xml have been removed from most classes. - **BREAKING CHANGE**: AccountType moved to new `enum `__ module. - **BREAKING CHANGE**: get_starting_balance, get_balance_at_date, get_ending_balance, and minimum_balance_past_date have been removed from the Account class. Please use the methods in the `TransactionManager `__. - **BREAKING CHANGE**: Subaccount support has been removed from `InterestAccount `__. Please use `InterestAccountWithSubaccounts `__ instead in those situations. - **BREAKING CHANGE**: Book class's `build_file `__ and `read_file `__ now require the "file_format" parameter. This should be an object that extends the BaseFileFormat class. See `XMLFileFormat `__, `GZipXMLFileFormat `__, and `SqliteFileFormat `__. - MyPy type annotations added to all function calls and variables. - List of used GUIDs are kept in a set, rather than a list. Thanks to `Eric Petersen (peap) `_ for this contribution! - The file_formats package was inaccessable/not provided through the pip installer. Thanks to `Eric Petersen (peap) `_ for catching this and providing the fix! - 1.0.2 (Jan 26, 2019) - Added `SimpleTransaction `__ to make transactions with only 2 splits easier to manipulate. - Added properties to `Account `__. - color - notes - hidden - placeholder - Added properties to `Transaction `__. - notes - reversed_by - voided - void_time - void_reason - associated_uri - 1.0.1 (Jan 9, 2019) - Bugfixes - Adding support for `ScheduledTransactions `__. - Adding support for `Budgets `__. - Added method `get_subaccount_by_id `__ for retrieving a subaccount by its GUID - 1.0.0 (Jan 4, 2019) - Initial Release