Skip to content

Releases: pawelad/pymonzo

v2.2.1

11 Sep 13:54
Compare
Choose a tag to compare

Changed

  • Make extra API schema fields accessible through Pydantic model_extra attribute.

Fixed

  • Never expect undocumented API fields to be present.

v2.2.0

11 Sep 00:25
Compare
Choose a tag to compare

Added

  • Add counterparty field support to Monzo transactions (by @csogilvie in #34).

Changed

  • Stop being strict with certain Monzo enums and allow any string values.

    Specifically, account's type, currency and transaction's decline_reason.

  • Changed empty_str_to_none logic to be in line with empty_dict_to_none.

Fixed

  • 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 when suggested_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

16 Apr 16:53
Compare
Choose a tag to compare

Added

  • Add rich support to MonzoPot.

Changed

  • When using rich, make transaction title red if the amount is negative.
  • Update codecov/codecov-action GitHub Action to v4.

v2.0.1

13 Apr 15:39
Compare
Choose a tag to compare

Fixed

  • Monzo pot goal_amount is not always present (by @csogilvie). [#32]
  • Add missing account types (by @csogilvie). [#31]
  • Add missing space to NoSettingsFile exception message.

v2.0.0

07 Mar 22:16
Compare
Choose a tag to compare

Added

  • Add (optional) rich and babel support.
  • Add expand_merchant parameter to TransactionsResource.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 to MonzoAPI() and the settings file couldn't be loaded.

Changed

  • 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 with MonzoAPI.authorize() and load from disk.

Fixed

  • Make MonzoTransaction.settled validator run in before 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

04 Feb 21:27
Compare
Choose a tag to compare

Changed

  • Project refresh.

v0.11.0

16 Feb 20:56
Compare
Choose a tag to compare

Added

  • Made redirect URI, token file name and token path configurable via environment variables. (#14)
  • Added Monzo Pots API endpoint - thanks @Sheaffy! (#13)

Changed

  • Renamed config.PYMONZO_REDIRECT_URI to config.REDIRECT_URI.

v0.10.3

15 Oct 20:58
Compare
Choose a tag to compare

Fixed

  • Fixed saving token file to disk. (#9)

v0.10.2

06 Oct 02:18
Compare
Choose a tag to compare

Fixed

  • Fixed automatic token refreshing - thanks @bartonp! (#5)

Changed

  • MonzoAPI()._refresh_oath_token() now doesn't return anything, replaces current token and raises CantRefreshTokenError when token couldn't be refreshed.
  • Client secret is now saved in token file JSON file.
  • Cleaned up exceptions.

v0.10.1

24 Sep 18:53
Compare
Choose a tag to compare

Fixed

  • Try to refresh token if API request returned HTTP 401 (which could mean that the token is expired). (#6)