Releases: mozilla-it/ctms-api
Releases · mozilla-it/ctms-api
v3.1.0
What's Changed
New Features
- Fix #562: add subscribed field to newsletters Acoustic relational table by @leplatrem in #752
Full Changelog: v3.0.0...v3.1.0
v3.0.0
Breaking Change
- This version requires a new configuration environment variable
CTMS_ACOUSTIC_WAITLIST_TABLE_ID
What's Changed
Bug Fixes
- Fix #709: use two passes to produce CSV dump by @leplatrem in #717
- Fix #733: fix replacing the list of waitlists in PUT requests by @leplatrem in #745
- Untangle simplify and fix heartbeat code by @leplatrem in #760
- Fix #761: fix waitlist boolean data type by @leplatrem in #762
- Use timestamps instead of dates in Acoustic records by @leplatrem in #768
- Assign update timestamps at database level by @leplatrem in #737
New Features
- Fix #561: Synchronize waitlists to Acoustic by @leplatrem in #708
- Ref #686: follow-up, remove useless condition by @leplatrem in #704
- Create mixin for create and update timestamp columns by @grahamalama in #723
- Add
subscribed
/unsub_reason
fields to waitlist by @leplatrem in #707 - Fix #730: Add default schema for waitlists by @leplatrem in #731
- Fix #642: count total number of contacts by @leplatrem in #759
Documentation
- Add template and number prefix to ADRs docs by @leplatrem in #728
- Slim down developer docs by @leplatrem in #755
- Ref #681: Improve quality standards by @leplatrem in #757
- Fix #605: Adjust Basket integration test and workflow docs by @leplatrem in #753
- Fix #662: remove deployment docs by @leplatrem in #758
Dependency Updates
- Add Github Actions to dependabot checks by @grahamalama in #746
Other Changes
- Split
app.py
file into separate routers by @grahamalama in #716 - Allow for more testing flexibility for local dev by @grahamalama in #718
- Fix #611:
ContactSchema
now reflects what is stored in database by @leplatrem in #711 - Ref #711: follow-up after schema cleanup by @leplatrem in #721
- Delete test for waitlist migrations by @grahamalama in #720
- Start to remove most contact fixtures by @grahamalama in #724
- Refactor Acoustic crud tests by @grahamalama in #725
- Pin Basket to 2023-04-24 by @leplatrem in #738
- Fix database migration history by @leplatrem in #736
- Pin Basket worker to 2023-04-24 by @leplatrem in #741
- Delete AWS build + deploy workflow by @grahamalama in #739
- Refactor
get_bulk_contacts
tests by @grahamalama in #732 - Combine CI checks into one workflow by @grahamalama in #744
Full Changelog: v2.1.0...v3.0.0
v2.1.0
What's Changed
New Features
- Ref #565: export contacts database as CSV by @leplatrem in #686
Dependency Updates
- Configure Dependabot to check root dir for Docker by @grahamalama in #695
- Migrate integration tests to MariaDB v11 by @leplatrem in #703
- Add Dependabot automation workflow by @grahamalama in #693
Other Changes
- Add Stripe Subscription model factories, start to use in tests by @grahamalama in #660
- Remove indirection in getting contacts by @grahamalama in #661
- Add fixture factories for
StripeInvoice
andStripeInvoiceLineItem
by @grahamalama in #669 - Add method to generate a
Contact
from anEmail
by @grahamalama in #663
Full Changelog: v2.0.3...v2.1.0
v2.0.3
What's Changed
Bug Fixes
- Adjust integration tests to Basket changes, fix bugs by @grahamalama in #644
- Bump integration test
timeout-minutes
from 5 to 10 by @grahamalama in #639 - Fix #647: fix bulk update for pending records by @leplatrem in #648
Documentation
- Add comment about
relay_waitlist
property of contact schema by @grahamalama in #649 - Remove Cinchy from overview diagram by @bsieber-mozilla in #643
Other Changes
- Use validators for
CTMSResponse
intialization by @grahamalama in #654 - Finish moving Stripe data out of
sample_data.py
by @grahamalama in #632 - Create Stripe customer factories, use in tests by @grahamalama in #634
Full Changelog: v2.0.2...v2.0.3
v2.0.2
What's Changed
Bug Fixes
- Fix #630: allow 'geo' field to be None or missing in waitlists by @leplatrem in #631
Other Changes
- Replace most sample data with pytest fixtures by @grahamalama in #628
- Migrate
SAMPLE_STRIPE_DATA
to pytest fixtures by @grahamalama in #629
Full Changelog: v2.0.1...v2.0.2
v2.0.1
What's Changed
- Add basket / CTMS integration test by @leplatrem in #570
Full Changelog: v2.0.0...v2.0.1
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
v1.9.1
What's Changed
New Features
- feature(acoustic): add sync loop duration metric by @ahoneiser in #497
Other Changes
- Run linting outside Docker by @grahamalama in #479
- Bump Poetry in Docker by @grahamalama in #501
- Remove all bigquery import machinery by @grahamalama in #500
- Always run container with single Uvicorn process by @grahamalama in #503
- Move testing outside Docker, simplify Dockerfile by @grahamalama in #508
New Contributors
- @ahoneiser made their first contribution in #497
Full Changelog: v1.9.0...v1.9.1
v1.9.0
What's Changed
New Features
- Ref #256: Store list of Acoustic fields in the database by @leplatrem in #448
- Ref #256: Move newsletters mapping to database by @leplatrem in #456
- Fix #461: Add
/acoustic_configuration
endpoint to expose Acoustic fields configuration by @leplatrem in #468
Other Changes
- Automate release notes by @leplatrem in #480
- Add step to check lint in pull requests by @leplatrem in #460
- Fix #457: Rework query assertions by @leplatrem in #459
- Rework linting and testing locally and in CI by @grahamalama in #475
- Follow #475: update secrets baseline by @leplatrem in #477
Full Changelog: v1.8.2...v1.9.0
v1.8.2
What's Changed
- Only push Docker images on commits to
main
branch by @grahamalama in #411 - Bump pydantic from 1.9.0 to 1.9.2 by @dependabot in #410
- Update CODEOWNERS by @bsieber-mozilla in #407
- Bump types-python-dateutil from 2.8.10 to 2.8.19 by @dependabot in #405
- Bump alembic from 1.7.7 to 1.8.1 by @dependabot in #406
- Migrating GIST from https://gist.github.com/bsieber-mozilla/314636a777a309ef4d305578a6d19fcc into repo by @bsieber-mozilla in #417
- Use new method to install poetry, upgrade to 1.2 by @grahamalama in #418
- Bump types-requests from 2.27.16 to 2.28.9 by @dependabot in #416
- Bump requests from 2.27.1 to 2.28.1 by @dependabot in #415
- Bump python from 3.9.13-slim to 3.10.6-slim in /docker by @dependabot in #401
- Bump sphinx from 3.5.4 to 5.1.1 by @dependabot in #420
- Temporarily disable / comment out "For Update" in SQL queries by @grahamalama in #426
- Lint version by @bsieber-mozilla in #427
- Add index on foreign key for stripe_price and stripe_invoice id to by @bkochendorfer in #445
New Contributors
- @dependabot made their first contribution in #410
Full Changelog: v1.8.1...v1.8.2