This release adds support for booking projects and contact details groups, links invoices, bookings and contact details more closely, and fixes the handling of special characters in filter values.
Breaking Changes
⚠️ Booking.bookingProject is now returned as an ID, a URL or a BookingProject object instead of a plain string by @Blumenkind111
⚠️ Invoice.canceledInvoice is now returned as an ID, a URL or an Invoice object instead of a plain string by @Blumenkind111
Features
✨ Add BookingProject model and endpoint (api.booking_project) by @Blumenkind111
✨ Add ContactDetailsGroup model and endpoint (api.contact_details_group) by @Blumenkind111
✨ Add contactDetailsGroups field to ContactDetails by @Blumenkind111
✨ Add member field to ContactDetails by @Blumenkind111
✨ Allow Booking.relatedInvoice and Invoice.relatedBookings to contain full objects when using nested queries by @Blumenkind111
✨ Add cancelInvoice field to Invoice by @Blumenkind111
Bugfixes / Other
✏️ Build URL query strings with urlencode, so filter values containing characters like '&' work correctly by @Blumenkind111
✏️ invNumber is no longer required when creating invoices by @Blumenkind111
✏️ numberLength and linkedBookings are now optional on BillingAccount by @Blumenkind111
✏️ Contact details salutation is a free text field now by @waza-ari
✏️ Address review findings: budget filters accept decimals, get_all() handles filters like get(), docstring and test fixes by @waza-ari
✏️ Resolve type errors reported by mypy by @waza-ari
✏️ Upgrade all dependencies to latest versions by @waza-ari
Full Changelog: v2.5.0...v2.6.0