v2.0.0
What's Changed
Breaking Changes
- Migrate
ctms/bin/acoustic_*.py
scripts toctms/bin/acoustic.py
with subcommands by @leplatrem in #586
Bug Fixes
- Fix #507: relax source URL validation by @leplatrem in #547
- Ref #548: make basket_token field optional in contact responses body by @ahoneiser in #551
New Features
- Fix #469: implement waitlists as generic relationship by @leplatrem in #492 #530 #546
- Fix #240, #529: Add GDPR deletion endpoint and command by @ahoneiser @leplatrem in #548 and #585
- Fix #493: add request id to MozLog by @leplatrem in #573
- Start to use factories to generate test data by @grahamalama in #554
- Ref #565: CTMS-146: Add a way to force Acoustic resync of a list of contacts by @leplatrem in #569
- Ref #565: Reset
retry
status fromacoustic.py resync
command by @leplatrem in #588 - Fix #581: polish sync logging and store last error in DB by @leplatrem in #587
Dependency Updates
- Align versions of Python@3.10.9 and Poetry@1.3.2 by @grahamalama in #522
- Bump Python to 3.11.1 by @grahamalama in #532
- Run formatting black 23.1.0 by @leplatrem in #538
Other Changes
- Remove SQL assertions by @grahamalama in #520
- Streamline environment bootstrapping, move contents of
docker/
to top level by @grahamalama in #510 - Force UTC at SQLAlchemy client/session level by @leplatrem in #567
- Add
make format
command by @leplatrem in #568 - Do not enforce Python patch version by @leplatrem in #566
- Fix #523: Remove SqlAlchemy 2.0 warnings by @leplatrem in #553
- Add tests for Acoustic field crud functions by @grahamalama in #597
- Add tests for newsletter mapping crud functions by @grahamalama in #599
Full Changelog: v1.9.1...v2.0.0