All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
v2.2.1 - 2024-09-11
- Make extra API schema fields accessible through Pydantic
model_extra
attribute.
- Never expect undocumented API fields to be present.
v2.2.0 - 2024-09-11
- Add
counterparty
field support to Monzo transactions (by @csogilvie in #34).
-
Stop being strict with certain Monzo enums and allow any string values.
Specifically, account's
type
,currency
and transaction'sdecline_reason
. -
Changed
empty_str_to_none
logic to be in line withempty_dict_to_none
.
-
Use 'form data' instead of 'query params' for relevant Monzo API endpoints (by m-roberts in #39).
Previously, these endpoints (incorrectly) sent request arguments through 'query params' and not 'form data':
AttachmentsResource.upload()
(POST /attachment/upload
)AttachmentsResource.register()
(POST /attachment/register
)AttachmentsResource.deregister()
(POST /attachment/deregister
)FeedResource.create()
(POST /feed
)PotsResource.deposit()
(PUT /pots/{pot_id}/deposit
)PotsResource.withdraw()
(PUT /pots/{pot_id}/withdraw
)TransactionsResource.annotate()
(PATCH /transactions/{transaction_id}
)WebhooksResource.register()
(POST /webhooks
)
-
Add (more) missing transaction decline reasons (by chris987p in #42).
-
Add (more) missing account types (by @m-roberts in #38).
-
Fix listing transactions with
expand_merchants=True
whensuggested_tags
isn't present (by @csogilvie in #34). -
Allow transaction category to be any string. Monzo supports custom categories as part of their "Plus" plan.
v2.1.0 - 2024-04-16
- Add
rich
support toMonzoPot
.
- When using
rich
, make transaction title red if the amount is negative. - Update
codecov/codecov-action
GitHub Action to v4.
v2.0.1 - 2024-04-13
- Monzo pot
goal_amount
is not always present. (by @csogilvie in #32) - Add missing account types. (by @csogilvie in #31)
- Add missing space to
NoSettingsFile
exception message.
v2.0.0 - 2024-03-07
- Add (optional)
rich
andbabel
support. - Add
expand_merchant
parameter toTransactionsResource.list
. It's not very clear in the API docs, but it works on that endpoint as well. - Add custom
NoSettingsFile
exception. It's raised when the access token wasn't passed explicitly toMonzoAPI()
and the settings file couldn't be loaded.
- Update
MonzoTransactionMerchant
schema with new fields returned by the API. - Simplify
MonzoAPI
initialization. This (unfortunately) needed an API change because the current attributes (in hindsight) didn't really make sense. Now, you can either use an already generated (and temporary) access token, or generate it withMonzoAPI.authorize()
and load from disk.
- Make
MonzoTransaction.settled
validator run inbefore
mode. - Add new
MonzoTransactionDeclineReason
values missing from Monzo API docs. - Add new
MonzoTransactionCategory
values missing from Monzo API docs. - Remove Markdown links from PyPI package description.
v1.0.0 - 2024-02-04
- Project refresh.
v0.11.0 - 2018-02-16
- Made redirect URI, token file name and token path configurable via environment variables. (#14)
- Added Monzo Pots API endpoint. (by @Sheaffy in #13)
- Renamed
config.PYMONZO_REDIRECT_URI
toconfig.REDIRECT_URI
.
v0.10.3 - 2017-10-15
- Fixed saving token file to disk. (#9)
v0.10.2 - 2017-10-05
MonzoAPI()._refresh_oath_token()
now doesn't return anything, replaces current token and raisesCantRefreshTokenError
when token couldn't be refreshed.- Client secret is now saved in token file JSON file.
- Cleaned up exceptions.
v0.10.1 - 2017-09-24
- Try to refresh token if API request returned HTTP 401, which could mean that the token is expired. (#6)
v0.10.0 - 2017-09-22
- Changed token file format from
shelve
to JSON. Because of that the file will need to be regenerated. (#3) - Updated
six
library to version 1.11.0.
v0.9.1 - 2017-09-21
- Added deprecation warning about changing token file format from
shelve
to JSON in next release. Because of that the file will need to be regenerated. (#4)
v0.9.0 - 2017-09-17
- Started keeping a changelog.
- Major test suite overhaul.
- Code cleanup.