Skip to content

Releases: waza-ari/python-easyverein

v2.4.0

12 Feb 17:23
95ca9a9

Choose a tag to compare

This release fixes an issue present since the introduction of the v2.0 API.

Breaking Changes

No breaking changes included in this release.

Features

No new features included in this release.

Bugfixes / Other

✏️ Fixing the refresh token process to use the refreshed token for the same API request, not just for the next one by @cod3monk

Full Changelog: v2.3.0...v2.4.0

v2.3.0

01 Feb 11:44
e6e7162

Choose a tag to compare

This release focuses on adding several new features, mainly the addition of bulk endpoints (update and create), LSB / DOSB endpoints and custom field select options.

Breaking Changes

No breaking changes included in this release.

Features

Implement bulk-create, bulk-update and LSB / DOSB endpoints by @Blumenkind111
docs: add documentation for new bulk-update and bulk-create endpoints by @waza-ari
Add support for custom field select options that are now required for select and multi-select custom fields by @waza-ari
feat: Added sphere field to supported models by @waza-ari ,fixes #53

Bugfixes / Other

✏️ chore: change pyproject to PEP 621 format and update dependencies by @waza-ari

Full Changelog: v2.2.0...v2.3.0

v2.2.0

11 Jan 09:52
28a19f2

Choose a tag to compare

Breaking Changes

No breaking changes included in this release.

Features

Added support for billing accounts (CRUD)

Bugfixes

✏️ fix: adjust type hints for filters, they're all optional

Full Changelog: v2.1.1...v2.2.0

v2.1.2

17 Dec 12:56
2fca4b8

Choose a tag to compare

Breaking Changes

No breaking changes included in this release.

Features

No new features have been introduced in this release.

Bugfixes

✏️ Update default API version by @graue70

First contributors

Thanks to @graue70 for their first contribution!

Full Changelog: v2.0.0...v2.1.0

v2.1.1

12 Dec 19:22
5f23413

Choose a tag to compare

Breaking Changes

💥 EasyVerein has introduced breaking changes (again) within one API version. Version 2.1.0 should handle most changes introduced by EasyVerein, is not compatible with older versions of the API anymore.

Features

No new features have been introduced in this release

Bugfixes

✏️ fix: allow paymentInterval=-1 in MemberGroup model by @danwan
✏️ Fix Member.relatedMembers and by @Blumenkind111

First contributors

Thanks to @danwan for their first contribution!

Full Changelog: v2.0.0...v2.1.0

v2.0.0

19 Oct 09:14
f80f460

Choose a tag to compare

Breaking Changes

💥 Starting version v2.0.0, this library drops support for the 1.x series of EasyVerein API. Only version 2.0 is supported! If you require support for the 1.x API versions, please stay on the 1.x releases of this library.
💥 breaking: drop support for EV API v1.x, prepare for library 2.0 release by @waza-ari

Features

No new features have been introduced in this release

Bugfixes

✏️ fixed bug where filter values that evaluate to none are omitted by @Blumenkind111
✏️ fixed breaking changes introduces within the 2.0 API version, specifics see below

  • contact-details: renamed additionalAdressInfo to addressSuffix
  • custom-field: GET/PATCH/POST: selectOptions replaces the additional attribute
  • Hiding the count parameter by default improving the performance on large organizations with large query results significantly

✏️ Set max_length of description field in CustomField to 500. Write test for field lengths. by @th-loew
✏️chore: update dev dependencies to latest versions by @waza-ari

First contributors

Thanks to @th-loew for their first contribution!

Full Changelog: v1.1.2...v2.0.0

v1.1.2

24 Sep 22:36
a3bfb0f

Choose a tag to compare

Breaking Changes

No breaking changes

Features

No new features have been introduced in this release

Bugfixes

✏️ feat: add support for new isReceipt field in invoice model by @waza-ari
✏️ fix: date__isnull types in MemberFilter should be boolean by @Blumenkind111

First contributors

Thanks to @Blumenkind111 for their first contribution!

Full Changelog: v1.1.0...v1.1.2

v1.1.0

06 Apr 07:50

Choose a tag to compare

Announcement

Default API version will change to v2.0 in the next major release. It is now considered stable and v1.7 suffers from various bugs (e.g. wastebasket endpoints not working correctly), and EasyVerein sadly will not invest fixing those anymore.

Breaking Changes

💥 Minimum supported Python version is now 3.11

Features

Add support for nested MemberGroup models in MemberMemberGroup by @cod3monk - This change now allows to query memberGroups of members and correctly parse the group attributes.
Add exclude_none argument to CRUD update function to be able to unset attributes on easyverein endpoints by @cod3monk - This change allows to exclude None valued attributes to clear values from the API

Bugfixes

✏️ add type date for MemberMemberGroup start and end attributes by @cod3monk
✏️ fix: allow str for additional field directly, while still allowing lists which are then dumped. by @waza-ari - This fixes an issue when creating custom fields, as the EV API returns the option as dumped JSON string instead of returning JSON directly.
✏️ Member.paymentIntervallMonths does not support null/None, but also -1 by @cod3monk - This change allows setting the paymentIntervallMonths to "once", which is indicated by setting the value to -1.
✏️ refactor: remove references to HEXA version by @waza-ari
✏️ test: switch tests to v2.0 as v1.7 is not consistent with the documentation by @waza-ari
✏️ tests: use auto_retry feature for tests as we're hitting the API rate limit during tests by @waza-ari

Full Changelog: v1.0.1...v1.1.0

v1.0.1

09 Dec 19:10
7b88610

Choose a tag to compare

Breaking Changes

No breaking changes

Features

✨ Support for the booking endpoint has been introduced.

Bugfixes

✏️ fix: typo in invoice item documentation

Full Changelog: v1.0.0...v1.0.1

v1.0.0

05 Sep 13:33

Choose a tag to compare

🎉 Version 1.0.0 is here! It comes with support for the EasyVerein 2.0 API and the new temporary tokens, support to manage member groups and member group associations, full type checking support and more! There are also some breaking changes. Together with the fact that we've been using this library in our own environment for more than a year now, I feel confident releasing a new major version.

Breaking Changes

💥 v1.7 is now the standard API version. If you do not specify an API version, the library now assumes v1.7 instead of v1.6. Supported versions for now include v1.6, v1.7 and as of this release v2.0. v1.6 is now deprecated and will be removed in a future release.
💥 Nested functions (including CRUD functions) that relate to a parent model (for example managing the custom fields of a member using the /api/v1.7/member/{userPk}/custom-fields endpoints do not expect the parent model identifier as additional parameter anymore, instead the parameter is moved to the parent namespace initialiser. In other words, managing custom fields of a member (not managing custom fields themselves) now works differently.

To switch to the new approach, the following changes need to be made:

# Old
ev_client.member_custom_field.get(member.id)

# You would now instead use
ev_client.member.custom_fields(member.id).get()

This applies to ev_client.member.custom_fields and the newly introduced ev_client.member.member_groups methods. You can read more in the respective documentation sections.

Features

✨ Support for EasyVerein API v2.0 including support for short lived tokens. A new method is introduced to obtain a new token, or you can optionally pass a callback function that the library calls when a token must be refreshed, so you can store it. More details can be found in the documentation section about how to handle token refresh.
✨ The API client now includes models for managing Member Groups, as well as member group associations (associate members to groups).
✨ Full type hinting is now available, with the introduction of proper Generics. It is known to work with Mypy and VSCode, the PyCharm linter does not fully support auto completion. I was unable to make this work, any support is much appreciated.

Bugfixes

✏️ fix: Pydantic serialization aliases are only used if by_alias is set to True
✏️ Mostly internal, but all type hints (mypy) have been fixed. This enables proper auto completion (see features). Also see refactor: introduce generic protocol to properly type CRUD methods
Fixed wrong type annotation for some optional filter fields

Full Changelog: v0.2.7...v1.0.0