Skip to content

Latest commit

 

History

History
2024 lines (1099 loc) · 109 KB

File metadata and controls

2024 lines (1099 loc) · 109 KB

1.83.1 (2026-07-31)

Bug Fixes

  • (docs) Add missing AUTHEND__AUTH_KEYS docs to docker compose setup guide (#1219) (a20c5dd2)
  • (logging) Stop ERROR-level log flood from slog-async channel overflow (#1220) (5c82f1b7)

1.83.0 (2026-07-28)

Bug Fixes

  • (config) [breaking] Require user-set AUTOEND__AUTH_KEYS (#1203) (1080af8b)
  • (bigtable) Tonic connection and retry management (#1209) (7de5c3ea)
  • (docs) Fix publish docs missing step (#1216) (83b0638b)

Chore

  • (ci:docs) Fix actions/checkout step (#1206) (7dea068a)

1.82.3 (2026-07-21)

Features

  • (apns) Add ability for token-based connection to APNS (#1166) (bcb8df40)
  • (metrics) Add time spent in storage before send (#1202) (cfd2354a)

Bug Fixes

  • (tests) Wait for Bigtable emulator before creating tables (#1178) (ed0272ab)
  • (redis) Persist topic/ttl/sortkey_timestamp in stored notifications (#1191) (df62df16)
  • (ci) Enterprise image build verification on forks (#1197) (864eb3a6)
  • Remove unused encryption_key/enckey support (#1194) (17adc0bc)
  • (ci) Fix service account for coverage and test upload (#1201) (2951d51f)
  • (grpc) PUSH-746 Use connect_lazy for BigTable connections (#1199) (e535c7a1)

Documentation

  • Update release process (#1176) (493d99ba)

Chore

  • (ci) Trigger builds and deploys on both master and main (#1177) (64d90c88)
  • Tag 1.82.2 (#1193) (9077c217)
  • (ci) Move from circleci to gha (#1179) (ab80b719)
  • Remove 'db::models::NotificationHeaders' (#1200) (64af7f49)

1.82.2 (2026-07-08)

Features

  • (apns) Add ability for token-based connection to APNS (#1166) (bcb8df40)

Bug Fixes

  • (tests) Wait for Bigtable emulator before creating tables (#1178) (ed0272ab)
  • (redis) Persist topic/ttl/sortkey_timestamp in stored notifications (#1191) (df62df16)

Documentation

  • Update release process (#1176) (493d99ba)

Chore

  • Tag 1.82.0 (#1175) (f18ade81)
  • (ci) Trigger builds and deploys on both master and main (#1177) (64d90c88)

1.82.1 (2026-06-24)

Bug Fixes

  • install rustls CryptoProvider to prevent startup panic (#1174) (b3e7a8b)

Chore

1.82.0 (2026-06-23)

Features

  • Add var prefixer to resolve grpcio builds under trixie (#1162) (3c594792)

Bug Fixes

  • defaults for explicitly null keys in settings (#1156) (ec675ffe)

Chore

  • tag 1.81.3 (#1151) (202f78b3)
  • remove token auth (#1153) (ffc7fa4b)
  • apply zizmor autofixes (#1158) (ca4dfd2e)
  • Add APNs cert update docs and scripts (#1161) (702d0658)
  • Replace grpcio with tonic (#1165) (d1c8d22e)
  • Updates for 06/2026 (#1164) (4ef7531c)

1.81.3 (2026-04-17)

Features

  • Add profile specific build (#1144) (567c8694)

Bug Fixes

  • Handle no tracking keys for health check. (#1149) (511c95a9)

Chore

1.81.2 (2026-04-09)

Chore

Features

  • Make the kubernetes memory check optional (#1140) (e4fca57d)
  • restore the "_enterprise" tag w/ ent gar (#1136) (4a6abdc6)

1.81.1 (2026-04-02)

Features

  • restore the "_enterprise" tag w/ ent gar (#1136) (4a6abdc6)

1.81.0 (2026-04-01)

Features

  • restore the "latest_enterprise" tag w/ ent gar (#1134) (0419ba26)
  • Return error code 400 for invalid AppIds (#1130) (e5b5ef9e)
  • Add memory check to health (#1128) (ac6157dc)
  • Add number of in-process requests to health check (#1127) (c09dc2a6)

Chore

1.80.1 (2026-03-20)

Chore

Bug Fixes

  • Fix tests and build.rs to allow multi-database configs (#1119) (712f1a12)
  • push enterprise gars via the GHA workflow (#1125) (4064a226)
  • Ensure redis config ttls are not 0 (#1115) (f7e58768)

Doc

  • re-init docker compose setup documentation with Redis (#1109) (5fd7ef68)
  • Add some clarity to options and requirements (#1117) (8e5d850d)

1.80.0 (2026-03-10)

Features

  • include discrete build for enterprise (#1101) (80e223a8)
  • Make sentry reporting optional (#1072) (a374a043)
  • Restore autokey key generation script (#1085) (101c7fbb)
  • Add metric for tracked vs untracked messages (#1076) (5127c676)
  • Replace postgres library with sqlx (#1110) (f19f996e)

Bug Fixes

  • update quinn-proto to 0.11.14 (RUSTSEC-2026-0037) (#1111) (09e5e70a)
  • append suffix to deploy image tag. (#1108) (39eb23fc)
  • express repo as an environment var (#1107) (fda1c828)
  • Re-add repo to docker push path (eaaf20c2)
  • fix restore missing suffix (#1105) (c8750cad)
  • add suffix to alter tag, not directory path (#1104) (6dae0392)
  • Remove extra REPO arg from path (#1103) (73dc90b7)

Performance

  • Replace futures-locks with DashMap registry and bounded channels (#1080) (bcdc6fcb)
  • Add circuit breaker for BigTable gRPC calls (#1079) (1a3646d9)
  • Remove duplicate VAPID validation, unnecessary clones in autoendpoint (#1082) (d6d64166)
  • HashMap ACK tracking, batch inserts, HashSet broadcasts (#1081) (2794917c)

Chore

1.79.0 (2026-02-23)

Features

  • Post #1040 cleanup (#1067) (3a37a56)
  • Add postgres backend storage (#1040) (53376b6)

Doc

  • add documentation for new data stores (#1060) (afdd609)

Chore

1.78.1 (2026-02-20)

Features

  • Post #1040 cleanup (#1067) (3a37a568)
  • Add postgres backend storage (#1040) (53376b65)

Doc

  • add documentation for new data stores (#1060) (afdd609a)

Chore

1.78.0 (2026-01-29)

Bug Fixes

  • updated mozcloud-publish workflow to new version that does not require artifact write permissions (#1038) (fe5cfbe5)

Chore

Features

  • PUSH-600 Redis connection pooling (#1041) (20d3b47a)
  • Add redis backend for Autopush (#1039) (33398b4b)
  • Convert Hardcoded TTLs to configs (#1037) (a3d7b257)
  • Document local development and debug for autopush (#1034) (68670665)
  • Add smoke tests to verify autoendpoint and autoconnect images b… (#1036) (ab4c7f87)

1.77.4 (2025-10-22)

Bug Fixes

  • Remove 'hostname' tag from periodic reporter (#1029) (62413c9f)

Features

  • Added CI workflow to build and push autoconnect images when a pull request has a preview label (#1028) (7b3f388b)
  • Add per node connection count to health (#1027) (180fa5f2)

1.77.3 (2025-08-19)

Bug Fixes

  • Only attempt to create a new state if the old is not set (#1025) (5f48b4f5)

Chore

1.77.2 (2025-08-12)

Chore

Bug Fixes

  • filter non-state entries from report (#1022) (3b014e43)

1.77.1 (2025-08-07)

Bug Fixes

1.76.0 (2025-07-24)

Bug Fixes

  • Store message state in Redis to solve for some reliability state management issues (#1005) (204163f2)
  • Skip previously deleted records (#1012) (43c3ad74)

Features

  • Add VAPID header to load testing (#992) (31f21a9d)

Chore

Doc

  • install mdbook-mermaid js assets on build (#1003) (ac76ab26)
  • mdbook-mermaid now needed (#1002) (3a9c997c)
  • diagram the reliability state transitions (#1001) (fac8cfa5)

1.75.10 (2025-06-26)

Bug Fixes

  • Fix order of expiry key by using a struct. (#999) (7dd4c44e)

Chore

1.75.9 (2025-06-25)

Chore

Bug Fixes

  • Address potential double counting reliability (#997) (854071e9)

1.75.8 (2025-06-18)

Note: 1.75.8 is an administrative tag due to outside process errors with the 1.75.7 release. Complex systems are complex, and lots of moving parts means lots of things can break in weird ways. Sometimes it's just better to start over.

1.75.7 (2025-06-17)

Chore

  • tag 1.75.3 (#982)

Bug Fixes

  • bug: address Python3.12 issues (#989) (4e1e7080)
  • bug: Fix the report args. (#987) (393207bf)
  • bug: Do not set the `GOOGLE_APPLICATION_CREDENTIALS in the reliability docker image (#984) (20cf810a)

Features

  • feat: Improve endpoint reliability check (#991) (e658a2f8)

note: 1.75.4 - 1.75.6 were not released. This version contains the cumulative fixes.

1.75.3 (2025-06-04)

Chore

Bug Fixes

  • Use full paths in compiled docker image (#981) (11048566)
  • Fix typo in circleci config (#976) (4d259b42)

1.75.2 (2025-05-28)

Bug Fixes

  • Fix typo in circleci/config.yml (#976)
  • Include image deploy script in CI (#974)

1.75.0 (2025-05-23)

Features

  • Clean up terminal states (#899) (791e8751)
  • Remove magic strings and add enum variants instead (#903) (537513ab)
  • Remove magic strings and add enum variants instead (6b4e83ce)
  • normalize durations and timestamps (#837) (7018f25d)
  • Switch to using async/pooled Redis (#896) (bb492e7d)
  • remove stage key debugging code (#867) (e4c153e7)

Bug Fixes

  • sentry middleware should use tags w/ metrics (#901) (96cc7138)
  • Post release fixes for Reliability (#893) (a9a181e2)

Chore

  • remove unused dependencies (#922) (1c47ad6d)
  • Version update for March 2025 (#892) (9380c22f)
  • tag 1.74.3 (#866) (d22de1dc)

1.74.3 (2025-03-21)

Chore

Bug Fixes

  • Add diagnostic for stage (#865) (470ea1c3)

1.74.2 (2025-03-20)

Chore

Bug Fixes

  • compare tracking keys in raw form. (#863) (49a466b8)
  • Autoendpoint should be less strict about config options (#859) (8598172d)

1.74.1 (2025-03-18)

Bug Fixes

  • switch metrics to /metrics endpoint (#861) (57eedaf4)

Chore

1.74.0 (2025-03-17)

Chore

  • Update to rust 1.85 (#847) (59f6eb23)
  • upload test artifacts to ETE pipeline (#843) (866ec954)
  • fix for firefox moving to xz packages (#846) (b56b076f)
  • tag 1.73.0 (#824) (49b2986d)
  • Makefile: fix comment for ete pipeline naming convention (#851) (da3fe571)

Features

  • Add "long term" report summary generator for push reliability (#845) (d49b3005)
  • add reliability states for different ack type codes (#857) (87954a2f)
  • record a couple more state changes, particularly Delivered (#853) (abd911a5)
  • Add Prometheus exporter (#834) (4d252b41)
  • remove notification record struct (#827) (2aaf9f22)
  • Add redis based reliability reporting (#778) (4f35545d)

Bug Fixes

  • typo in cron script name (#858) (ad47ca22)
  • check empty VAPID sub first (#835) (c13717b8)
  • Make VAPID sub assertion optional (#831) (b5224c5f)
  • Disable "reliable_report" as default feature (#826) (4b298e44)
  • ci:
    • false positive when unit or integration tests fail - take 2 (#856) (26e374fa)
    • false positive when unit or integration tests fail - take 2 (a8052f46)
    • false positive when unit or integration tests fail (#855) (b9f0f2e7)
    • path for integration test artifact (#832) (3e139662)

1.73.0 (2025-01-15)

Features

  • rename autopush prefix metrics to autoconnect (#822) (9a166def)

Bug Fixes

  • ci:
    • remove all tagging of images on CI before deploy stages. (#821) (a6fc8cdb)
    • remove all tagging of images on CI before deploy stages. (54420559)
    • Fix test containers not depolying. (#820) (20c65f88)
    • Fix test containers not depolying. (92af405d)
    • Fix auto connect/endpoint deployments from circleci. (#819) (bde05a10)
    • Fix auto connect/endpoint deployments from circleci. (be7b2136)

1.72.2 (2024-12-17)

Features

  • Call out the "RESOURCE_EXHAUSTED" error metric (#808) (ebc5704b)
  • Containerize integration tests. (#809) (f8763040)
  • Move BT chunk processing into retry (#806) (7edbcc76)
  • Containerize integration tests. (11710e11)

Doc

  • test: update test strategy to include links to metrics (#810) (8cda9ac1)

1.72.1 (2024-11-21)

Bug Fixes

  • Address insecure sub header fetch. (#803) (53d90aa9)
  • Do not return status 200 for router messages (#801) (a3d23013, closes #800)

Chore

  • update actix-ws to 0.3 (#799) (6141a905)
  • deps-dev: bump werkzeug from 3.0.3 to 3.0.6 in /tests (#790) (50ab4a01)
  • load: update scripts to use artifact registry (#792) (d64178f4)
  • notification-tests: specify platform linux/amd64 in docker-compose.yml so that Docker knows to use an emulation layer when running on an arm based machine (ae303044)

Refactor

  • integration: replace pytest.skip with pytest markers (#798) (84f1fe8e)

Features

  • Add database tracking and report for Push Reliability (#769) (e95063cc)

1.72.0 (2024-10-11)

Bug Fixes

  • Do not double-check VAPID aud (#772) (ea04db68)
  • pass settings to vapid when processing subscription request (#771) (3cc5a565)
  • minor fixes for GAR deploy CircleCI jobs (#764) (e0d87663)
  • using google_project_number for OIDC authentication (#763) (92772f93)
  • fixed workflow_dispatch runs for docker.yml GHA workflow (#752) (2acc5816)
  • README fenix debug link (8f769696)
  • jsonwebtoken validation errors (#709) (372f3940)
  • circleci: now using correct project IDs, cleaned up env var names (#762) (7b51e776)

Chore

  • prefer git tag for docker image tag (#768) (9afbe422)
  • Updates for rust 1.81 (#766) (39a1aa55)
  • clean up old GHA and Docker Hub deployment workflows (#765) (59167492)
  • added missing use_oidc gcr-auth param (#761) (b3740a81)
  • Simplify publish_docs workflow (#749) (9fb9fb37)
  • add summary-only option to coverage json (#751) (ed1cfcb2)
  • Updates for rust 1.80 (#740) (b235155e)
  • Update for 2024-June (#716) (b1c0f445)
  • deps-dev:
    • bump cryptography from 42.0.7 to 43.0.1 in /tests (#757) (dfe96855)
    • bump flask-cors from 4.0.1 to 5.0.0 in /tests (#755) (b22a3da7)
    • bump certifi from 2024.2.2 to 2024.7.4 in /tests (#731) (fda011e6)
    • bump urllib3 from 2.2.1 to 2.2.2 in /tests (#714) (8f905098)
    • bump requests from 2.31.0 to 2.32.0 in /tests (#707) (65f1ab01)
    • bump flask-cors from 4.0.0 to 4.0.1 in /tests (#703) (61bf2f0a)
    • bump jinja2 from 3.1.3 to 3.1.4 in /tests (#701) (c69028e0)
    • bump werkzeug from 3.0.2 to 3.0.3 in /tests (#700) (39368eda)

Refactor

  • remove dynamodb legacy db impl (#720) (71b32192)
  • remove adm features (#729) (6402531e)
  • remove aws feature flag for logging aws ec2 (#728) (e11e7d8b)
  • remove User last_connect (#712) (35b698b1)
  • autopush-common remove legacy autopush (#708) (7ade0026)
  • remove autopush crate (#706) (180675c5)
  • Replace Bottle with FastAPI (#668) (d49458e6)

Doc

  • Update mobile debugging link in README.md (b09814a8)

Features

  • Normalize and explain TTLs maximums (#742) (b8e524fe)
  • Add ability to track messages based on known VAPID keys (#739) (b5256019)
  • Add metrics to return the number of channels per UAID (#736) (b980d44c)
  • push Docker images to GAR (#746) (97e91939)
  • use GHA to build and push images to GAR (#750) (4d1f7e93)
  • Add junit XML test reporting for unit tests on CI. (d978b541)
  • [SYNC-4365]: Report test results and coverage on CI (#744) (e45d1753)
  • add APNS timeouts for a2 (#741) (d321de3e)
  • bump up msg_limit for autoconnect settings (#738) (fde9b673)
  • add implicit updates of channel records to update_user (#734) (4aef2806)
  • Trigger an update_user() for channel checks and mobile messages (#730) (843eeed4)
  • add VAPID quality tracking metric messages (#417) (604fd946)
  • Add profile_app_id routing hint to bigtable requests (#639) (8e0ffff0)
  • Record the VAPID sub with database errors (#681) (ae66e496)
  • Add integration test for mobile HTTP calls (#532) (9bc1ae98)
  • remove use_webpush as a required flag (#522) (f58d3752)
  • Load test fixups (#584) (a783a05a)
  • Make more errors use ReportableError trait (#632) (b2d41173)
  • Move "ADM" router support behind a feature flag. (#629) (38830f0d)
  • fixturize pytest (#694) (20ed0da9)
  • remove the unused metrics module (#698) (a17857f8)
  • Reduce some of the more common errors from the logs (#695) (444f82a3)

1.71.7 (2024-09-05)

Chore

  • fix GAR deploy dependencies (9996254e)
  • added missing use_oidc gcr-auth param (#761) (3e358d46)

Bug Fixes

  • minor fixes for GAR deploy CircleCI jobs (#764) (1883d278)
  • using google_project_number for OIDC authentication (#763) (4445fcfb)
  • circleci: now using correct project IDs, cleaned up env var names (#762) (d4fc2079)

Features

  • push Docker images to GAR (#746) (2995239d)

1.71.6 (2024-09-05)

Chore

  • Re-tag 1.71.5

1.71.5 (2024-08-29)

Chore

  • update openssl per RUSTSEC-2024-0357 (52d9da33)

1.71.4 (2024-08-29)

Chore

  • Re-tag 1.71.3

1.71.3 (2024-05-31)

Chore

  • update per RUSTSEC-2024-0336 (#682) (e6293090)

Refactor

  • upgrade all integration tests to asyncio async await (#667) (c7448f45)

1.71.2 (2024-04-17)

Bug Fixes

  • a couple retry logic error messages were incorrect (#676) (6cb6549b)

Features

  • Ensure that status and labels are propagated for DB errors (#679) (5a1f2099)
  • emit pool timeouts/conditional failures as metrics (not sentry) (#671) (b4f01af8)
  • Switch to randomized UAID for health check (#670) (06093787)

Test

  • load: Document the process for calibrating users per worker (#661) (c89627fd)

Doc

  • load: Document the process for calibrating worker count (#666) (de752ec4)

Refactor

  • add initial async features for client (#653) (22f058e6)

Chore

  • deps-dev:
    • bump cryptography from 42.0.2 to 42.0.4 in /tests (#630) (967465b2)
    • bump idna from 3.6 to 3.7 in /tests (#678) (0672bba4)
    • bump idna from 3.6 to 3.7 in /tests (e8234982)

1.71.1 (2024-03-19)

Features

  • introduce end_median for dual. (#663) (38d6a6d1)
  • Switch to lighter weight health check (#662) (133bcb53)
  • Swtich to lighter weight health check (bed0f7f4)

Bug Fixes

  • dual mode needs its own spawn_sweeper (#658) (1b4d5a9a)

1.71.0 (2024-03-13)

Features

  • further special case another form of an incomplete router record (#655) (396c7b04)
  • evict idle connections from bigtable's db pool (#654) (70b1e7b2)

1.70.11 (2024-03-07)

Bug Fixes

  • don't skip DbError in the ReportableError chain (#649) (c9b97d13)

1.70.10 (2024-03-06)

Features

  • include tags/extras across the exception chain (#648) (fb2b0ee7)

1.70.9 (2024-02-27)

Features

  • Make bigtable calls retryable (#591) (12dd7b41)
  • special case "chid-only" records (#646) (5ab83fb8)
  • report db pool metrics (#644) (93d4cd38)
  • Add timeouts for bigtable operations (#611) (34964235)

1.70.8 (2024-02-26)

Bug Fixes

  • don't ignore add_user errors (#640) (6a91bce5)

1.70.7 (2024-02-22)

Bug Fixes

  • retry get_user when the add_user condition fails (#637) (87ed38c3)
  • Add missing doc diagram. (#623) (12bce705)

1.70.6 (2024-02-22)

Features

  • prefer the simpler delete to avoid the admin API (#636) (0b7265ed)

1.70.5 (2024-02-22)

Bug Fixes

  • don't add_channels when there's none to add (#634) (b0ffa8cd)

1.70.4 (2024-02-20)

Features

  • have Bigtable match DynamoDB's metrics (#627) (0ce81aab)
  • have bigtable remove_channel write conditionally (#625) (60c6675b)

Bug Fixes

  • "recycle" the user object in update_token_route (#621) (4bd48278)

1.70.3 (2024-02-20)

Bug Fixes

  • fix add/update_user version field handling on migrations (#619) (1ff88e79)

1.70.2 (2024-02-15)

Bug Fixes

  • dual update_user calling add_user (c80866d6)

1.70.1 (2024-02-15)

Features

  • add metadata headers for bigtable (#586) (e043fb02)
  • simplify StoredNotifAutopushUser's on_start (#614) (c2841113)
  • simplify StoredNotifAutopushUser's on_start (0d0e99e6)
  • retry dynamodb HttpDispatch errors (#605) (cb1482de)
  • Elevate big table settings dump for deployment debug (#609) (7d29c16d)
  • put old AWS crap behind a feature flag (#606) (04df79e5)

Chore

  • deps-dev:
    • bump jinja2 from 3.1.2 to 3.1.3 in /tests (#549) (80c961a5)
    • bump cryptography from 41.0.7 to 42.0.0 in /tests (#600) (4fbbaea2)
    • bump cryptography from 41.0.7 to 42.0.0 in /tests (222c05cc)
    • bump jinja2 from 3.1.2 to 3.1.3 in /tests (3c7d900b)

Bug Fixes

  • add secondary_write for channels (#597) (37b377ae)
  • Isolate dynamodb to feature flag only (#612) (158e01c4)
  • Add errors for health check reporting (#610) (37a0724a)
  • reset the WebSocket every time it disconnects (#607) (9bb964c6)

1.70.0 (2024-02-06)

Refactor

  • cleanup add_channels to use mutate_row (#583) (db2e02ed)

Chore

Features

  • add a new test that produces stored notifs (#598) (a6bd3cd7)
  • filter reads by latest cell (#599) (e012955a)
  • [SYNC-3835] pydocstyle implementation (#585) (aa5773da)
  • Add integration test for dual mode (#582) (76848753)
  • don't store duplicated message columns (#581) (7f2396aa)
  • store the channel_id metadata in a single bigtable row (#574) (1716f205)

Bug Fixes

  • errors when deleting and provisioning load test clusters (#593) (925130a1)
  • fix remove_node_id's condition check to be more reliable (#590) (dc077623)
  • fetch messages shouldn't read the current timestamp's notif (#577) (fc99e774)
  • Clarify how the index for Row is used between reading and writing to Bigtable (#573) (09fe7ac2)

1.69.8 (2024-01-24)

Bug Fixes

  • channel_ids should continue being represented in hyphenated format (#561) (661a705d)
  • Use standard chidmessageid parser for remove_message (#555) (42775f9e)
  • filter by timestamp (#548) (b7cd357b)
  • don't assume topic chidmessageids in remove_message (#553) (e6729c06)
  • Add proper update_user logic for Bigtable (#503) (89c3bd98)
  • kill the delete_all_data_from_table flag (#541) (8c99f47c)
  • copy over the channels when migrating the user (#539) (e36b3fef)
  • remove unneeded clone operation (#521) (53b6f03f)

Features

  • set all column families (message) to maxversions=1 (#566) (464c87a5)
  • read via row ranges instead of regex (#564) (0a96e1b8)
  • Be more clear and consistent about features around dual (#557) (60c8b333)
  • save some cloning (possibly) (#563) (03afd7cc)
  • run integration tests against Bigtable (#558) (356f24cf)
  • run unit tests against the bigtable emulator (#547) (21e0d40c)
  • Add database routing support (#473) (5aea6548)
  • Report BigTableErrors with extra data (#530) (c7fa922f)
  • support dual mode data storage (#369) (6624a19a)
  • quiet remove_node_id's conditional failure case errors (#517) (7fe9d489)

Doc

  • update to the new autoconnect url (#538) (ac5c691f)
  • Document VAPID key should be base64 encoded (#535) (c9b9d6bd)

Chore

  • replace AUTOPUSH_ENDPOINT_URL and AUTOPUSH_SERVER_URL with LOCUST_HOST in load tests (#523) (b72dee15)
  • add build_load_test and deploy-load-test job to build-test-deploy ci workflow (05b6d448)
  • update python dependencies and fix mypy errors (a5d8828d)
  • upload integration test results to CircleCI test insights (#519) (ff882fea)
  • lint & make integration tests in autopush-rs (#518) (e3d38c6c)
  • deps: bump openssl from 0.10.57 to 0.10.60 (#525) (3b52f7b7)

1.69.7 (2023-11-13)

Features

  • demote retry message, dump vapid claims. (#510) (cc4048c7)
  • add actix_max_connections/workers settings (#515) (6f6289c3)
  • Add metrics for user creation/deletion. (#506) (bd2e0117)
  • only capture some SMError backtraces (#508) (8f6e03e3)

Bug Fixes

  • correct the ua.expiration metric's tag (#502) (ca002ec8)
  • add ReportableError::reportable_source (#500) (40487b76)

1.69.6 (2023-10-31)

Features

  • handle already connected users (#495) (eb53beca)

1.69.5 (2023-10-31)

Features

  • further detect common io errors in megaphone's updater (#492) (5421f581)

1.69.4 (2023-10-30)

Bug Fixes

  • split router endpoints into their own app (#491) (bbde5823)
  • defer Error::source methods to inner kind's (#486) (a9a17963)

Features

  • emit metrics for megaphone polling (#488) (ea302228)

1.69.3 (2023-10-26)

Doc

Bug Fixes

  • capture sentry events for the unidentified state (#484) (09db55f2)
  • Convert WSError(Timeout for Pong) to metric (#478) (cd597d39)

1.69.2 (2023-10-17)

Features

  • hide common SessionClosed errors from sentry (#470) (f069c2c9)

Chore

1.69.1 (2023-10-06)

Chore

Bug Fixes

  • allow invalid uaids in autoconnect (#464) (6da8c45e)

1.69.0 (2023-10-04)

Chore

Features

  • Use the calling crate's name and version for init_logging() (#461) (d3bd4c07)
  • Reject Legacy GCM endpoints (#459) (aaa47139)

1.68.3 (2023-10-02)

Breaking Changes

  • Run GCM through FCMv1 HTTP API (#455) (b2282277, breaks #)

Features

  • Run GCM through FCMv1 HTTP API (#455) (b2282277, breaks #)

Bug Fixes

  • re-enable slog's envlogger (#452) (e76b1198)
  • AutopushUser fails with WebSocketConnectionClosedException (5f8efb2d)

Test

  • calibrate load tests (1b5c5f99)
  • add subscribe and unsubscribe tasks to AutopushUser (07d988dd)

1.68.2 (2023-09-27)

Bug Fixes

  • Use warn!() to supplement sentry errors, since they don't show up regularly. (#449) (4eaa9a06)

Chore

1.68.1 (2023-09-27)

Bug Fixes

  • don't emit backtraces in Display (#447) (392f4e1e)

Chore

1.68.0 (2023-09-27)

Features

  • emit a tag in autoconnect's metrics (#435) (67186854)
  • Add send notification task to locust load test file (453ba8d4)
  • add an autoconnect-web Error type (#432) (58086e77)
  • switch the load tester to pypy-3.10 (#426) (5b4d6d71)
  • Update loadtests user and tests (d4af1bfe)
  • Add GCP BigTable support (#364) (608c52fe)
  • consolidate the sentry middlwares into autopush_common (e65486b9)
  • add stacktraces to some sentry events (#406) (0ded4de1)
  • Topic messages shouldn't have sortkey_timestamps (#402) (eeff8d71)
  • build/deploy an autoconnect docker (#396) (9ed4e6f0)
  • make DbClient's message table month optional (#393) (ab3614b7)
  • remove legacy table rotation (#389) (6aa107f5)

Doc

  • fill in some autoconnect TODO docs (#410) (74ffdb05)
  • Update docs for modern version of autopush (#388) (d36fb527)

Bug Fixes

  • Add better error messaging for GCM/FCM processing (#445) (2e48f504)
  • missing class-picker option in Kubernetes config (9d0faf7c)
  • apply fixes from code review 2 (7ea158d2)
  • apply fixes from code review (142c4d2c)
  • load test docker build error in GCP (e7e7539e)
  • remove print statement (2134d050)
  • load test script modifies kubernetes config on first run only (89dc80bc)
  • use explicit path (a51fca5c)
  • remove mozsvc-common (#394) (814ff49e)
  • remove mozsvc-common (#394) (66bb74f9)

Test

  • validate message schema in load tests with models (0d8c1c2f)
  • add a load test shape (f84e2665)
  • calibrate load tests (7a6c099f)

Chore

  • update user, spawn rate and time in load tests (b9a88e5a)
  • add python linters and formatters to CI (615b93ad)
  • deps:
    • bump gevent from 23.9.0.post1 to 23.9.1 in /tests/load (34eb330e)
    • bump cryptography from 40.0.2 to 41.0.4 in /tests (acd35f27)

1.67.3 (2023-06-01)

Bug Fixes

  • emit metrics also in the common Response error case (#384) (5bd09339)

1.67.2 (2023-05-30)

Chore

  • deps: bump requests from 2.30.0 to 2.31.0 in /tests (#380) (cdf91df6)

Features

  • switch to latest release a2 library (#362) (728fe169)
  • add broadcast (megaphone) support (#381) (97d3a3ae)
  • complete (mostly) the WebPushClient (#379) (f7110214)
  • move tests to python3 (08bd46b8)

1.67.1 (2023-05-05)

Bug Fixes

  • disable sentry's debug-images feature (#375) (ed730974)

1.67.0 (2023-05-02)

Refactor

  • more db_client -> db (61beb2e1)
  • options -> app_state (5a6a35a5)
  • reduce settings duplication w/ deserialize_with (4f3e4501)
  • move broadcast/protocol/registry into a common crate (#357) (fa9109dc)

Features

  • metric message table rotations (#371) (647ffb14)
  • quiet more router errors from sentry (#368) (f90fc066)
  • add the initial autoconnect-ws/state machine crates (#363) (b4298eab)
  • reduce the number of errors reported to sentry.io (#358) (a9a88f34)
  • Add metrics to try and analyze UpdateItem bug. (#344) (7641d18d)
  • Add extra to sentry. [CONSVC-1886] (#333) (008e3e8c)

Bug Fixes

  • don't eat WebpushSocket poll_complete errors (#374) (f8e65255)
  • Add back missing metrics (#372) (19525593)
  • make CORS default less restrictive. (#348) (d421e8de)
  • channel_id should be hyphenated (#365) (0067ae42)

1.66.0 (2023-01-23)

Chore

Bug Fixes

  • silence data overflow error in sentry (#327) (202fba6)

Features

  • add metrics for vapid errors (#340) (922fcf8d)
  • add timeouts for Client::reqwest calls [CONSVC-3289] (#329) (e0c370ae)
  • modernize to rust 1.65 (#337) (07b67bd)
  • add additional metrics for message tracking (#330) (65ac1a3)

Doc

  • Add mobile debugging steps to README (#339) (9238056)
  • Fix typo in README.md file (thanks @dev-aniketj) (#341)

1.65.0 (2022-07-20)

Features

  • allow for standard base64 private keys (#323) (7ec9e541)

Chore

(2022-07-13)

Bug Fixes

  • add jitter to retry (#319) (3272fdec)
  • various mini-patches for FxA integration work (#321) (b2b6bfd3)
    • Added more verbose trace! and debug! logging messages.
    • ignore padding errors for VAPID keys
    • bumped up default max bytes to handle base64 encoded 4096 block
    • record the VapidError as an info before we send it to metrics

Chore

Breaking Changes

  • Update for Jun 2022: Alters env var key names (#313) (1ec85899) Broke: Environment var key changes from:

    AUTOPUSH_ => AUTOPUSH__

    AUTOEND_ => AUTOEND__

1.63.0 (2022-06-02)

Chore

Bug Fixes

Features

  • Add tool to generate endpoints (#307) (2829fa42)

1.62.0 (2022-05-05)

Bug Fixes:
  • bug: add app_id to error message, Add GCM data sends (d2cd2ee5, closes #303))

1.61.0 (2022-03-22)

Features

  • add status code and errno to reported metric for bridged errors (#291) (772f020b, closes #288)

Chore

1.60.0 (2022-03-22)

Bug Fixes

  • bug: Do not report non-actionable errors to sentry (#299) (3d18b10d2)

Features

  • feat: return more explicit VAPID error message (#299) (3d18b10d2)

Chore

1.59.1 (2022-02-25)

Chore

1.59.0 (2022-02-25)

Chore

Bug Fixes

Features

  • Report bridge status via __heartbeat__ (#295) (4e85e401, closes #294)
  • Standardize to /__error__ for sentry error check (#278) (3f0dc8f4, closes #274)

1.58.0 (2021-10-13)

Bug Fixes

  • fix local Authorization header (#284) (0027d78f, closes #282)

Features

  • Standardize to /__error__ for sentry error check (#278) (3f0dc8f4, closes #274)

Chore

  • Dep update for Jul 2021 (#283) (230fb191)
  • library update for Jun 2021 (#280) (5e9aabfe)

1.57.8 (2021-06-02)

Bug Fixes

  • use sentry 0.19 to match our backend server (#276) (44c85c0c, closes #275)

Features

  • Drop aesgcm128 support (#268) (d8b7ca83)

Chore

1.57.7 (2021-03-26)

Chore

Bug Fixes

  • Add explicit endpoint_url setting (#270) (5649d966, closes #269)

1.57.6 (2021-03-16)

Bug

  • always return status 201 for success (267213b8, closes #259)

Features

  • convert FCM credential to string parameter (5ba885af, closes #254)

Chore

1.57.5 (2021-03-01)

Chore

Features

  • convert FCM credential to string parameter (5ba885af, closes #254)

1.57.4 (2021-02-23)

Chore

  • Set baseline hyper version (8bb5998c, closes #251)
  • Update dependencies where possible. (#250) (d9446f63)
  • move a2 under mozilla-services (#245) (1300a4dc, closes #236)
  • release/1.57.3 (#243) (9bc9fef0)

1.57.3 (2020-12-02)

Bug Fixes

  • Accept either paths or strings containing the cert for APNS (#241) (b3dd8a3e, closes #240)

Chore

1.57.1 (2020-11-19)

Bug Fixes

Chore

  • release 1.57.0 (#231) (761d91f4)
  • update circleci to use new docker auth (fabe4954)

1.57.0 (2020-10-16)

Features

  • Include minimal debug info in release builds (#215) (fd659e3e, closes #77)
  • Support "gcm" as an alias to "fcm" (#211) (fd0d63d2, closes #204)
  • Add the log-check route and remove unused ApiError variants/impls (#209) (1b0b18b3, closes #208)
  • Amazon Device Messaging router (#207) (c587446a, closes #165)
  • Use autoendpoint-rs in integration tests (#205) (31d2d19c, closes #168)
  • Add the unregister user route (#195) (b4bb1636, closes #179)
  • APNS Router (#201) (ce51957f, closes #164)
  • New channel endpoint (#189) (6cc9a7dc)
  • Update token endpoint (#188) (bb395fb2, closes #177)
  • Sentry integration for autoendpoint (#196) (674d7d2c, closes #155)
  • Delete message endpoint (#186) (6a7fa492, closes #175)
  • User registration (#185) (6df3e36b, closes #176)
  • Route notifications to FCM (Android) (#171) (d9a0d9d7, closes #162)
  • Route notifications to autopush connection servers (#167) (e73dff17, closes #161)
  • Return detailed autoendpoint errors (#170) (91d483ab, closes #159)
  • Record the encoding in a metric if there is an encrypted payload (#166) (8451d3f9)
  • Validate autoendpoint JWT tokens (#154) (04fee7f9, closes #103)
  • Validate user subscription data in autoendpoint (#160) (8efa42c8, closes #156)
  • Basic autoendpoint extractors (#151) (b08fdbdd)

Bug Fixes

  • enforce VAPID aud (#225) (e3963262)
  • Fix debug info setting being ignored (#219) (35a9d4f6)
  • Check the max data size against the final message payload (#212) (4e07ff07, closes #203)
  • Drop 0 TTL WebPush notifications if they aren't delivered the first time (#210) (a28cb295)
  • Fix having extra slashes in the endpoint URL (#206) (f943659e)
  • Drop unknown FCM users (#197) (068f54dd, closes #173)
  • Strip padding and double quotes from encryption and crypto-key headers (#200) (e20fc6af, closes #192)
  • Copy and upgrade parts of DynamoStorage into autoendpoint (#174) (120a46b7, closes #172)
  • Use errnos from validation errors (#184) (147aed84)

Doc

  • Add a fernet_key.py script for generating Fernet keys (#218) (aa0e9d96, closes #217)
  • Add a sample config for autopush and fix some settings (#216) (5badbfbe)
  • Add a sample config for autoendpoint and normalize router settings (#214) (3b30d694)

Chore

1.57.0 (2020-10-16)

Includes autoendpoint

Bug Fixes

  • Fix debug info setting being ignored (#219) (35a9d4f6)
  • Check the max data size against the final message payload (#212) (4e07ff07, closes #203)
  • Drop 0 TTL WebPush notifications if they aren't delivered the first time (#210) (a28cb295)
  • Fix having extra slashes in the endpoint URL (#206) (f943659e)
  • Drop unknown FCM users (#197) (068f54dd, closes #173)
  • Strip padding and double quotes from encryption and crypto-key headers (#200) (e20fc6af, closes #192)
  • Copy and upgrade parts of DynamoStorage into autoendpoint (#174) (120a46b7, closes #172)
  • Use errnos from validation errors (#184) (147aed84)

Doc

  • Add a fernet_key.py script for generating Fernet keys (#218) (aa0e9d96, closes #217)
  • Add a sample config for autopush and fix some settings (#216) (5badbfbe)
  • Add a sample config for autoendpoint and normalize router settings (#214) (3b30d694)

Features

  • Include minimal debug info in release builds (#215) (fd659e3e, closes #77)
  • Support "gcm" as an alias to "fcm" (#211) (fd0d63d2, closes #204)
  • Add the log-check route and remove unused ApiError variants/impls (#209) (1b0b18b3, closes #208)
  • Amazon Device Messaging router (#207) (c587446a, closes #165)
  • Use autoendpoint-rs in integration tests (#205) (31d2d19c, closes #168)
  • Add the unregister user route (#195) (b4bb1636, closes #179)
  • APNS Router (#201) (ce51957f, closes #164)
  • New channel endpoint (#189) (6cc9a7dc)
  • Update token endpoint (#188) (bb395fb2, closes #177)
  • Sentry integration for autoendpoint (#196) (674d7d2c, closes #155)
  • Delete message endpoint (#186) (6a7fa492, closes #175)
  • User registration (#185) (6df3e36b, closes #176)
  • Route notifications to FCM (Android) (#171) (d9a0d9d7, closes #162)
  • Route notifications to autopush connection servers (#167) (e73dff17, closes #161)
  • Return detailed autoendpoint errors (#170) (91d483ab, closes #159)
  • Record the encoding in a metric if there is an encrypted payload (#166) (8451d3f9)
  • Validate autoendpoint JWT tokens (#154) (04fee7f9, closes #103)
  • Validate user subscription data in autoendpoint (#160) (8efa42c8, closes #156)
  • Basic autoendpoint extractors (#151) (b08fdbdd)

Chore

  • Re-enable cargo-audit in CI (#221) (e8179a85)
  • Update Docker rust to 1.45 (#193) (9dd589ce)

1.55.0 (2020-04-10)

Chore

Test

Bug Fixes

1.54.4 (2019-10-25)

Chore

1.54.3 (2019-10-11)

Bug Fixes

  • report Megaphone errors to Sentry (0b6eed61)

1.54.2 (2019-09-19)

Bug Fixes

1.54.1 (2019-08-16)

Chore

  • update to latest rust/debian buster (9b089fb4, closes #110)

1.54.0 (2019-08-06)

Refactor

  • simplify srv usage (1086de7b)
  • split connection node from common for later endpoint (e523d739, closes #99)

Features

Chore

  • force update smallvec 0.6 & crossbeam-epoch (memoffset) (abbd6257, closes #110)
  • adapt to new woothee/tungstenite (906cc2c5, closes #110)
  • update deps minus hyper 0.12 (eaaccc09)

1.53.1 (2019-02-14)

Features

  • retry all dynamodb errors correctly, hide invalid chids (58152230, closes #95)

Chore

1.53.0 (2019-01-19)

Bug Fixes

  • capture additional errors that shouldn't be reported to Sentry (3f5f24f6, closes #87)
  • return correct not found for disconnected client and fix tests (5d6d29df, closes #89)

Chore

1.52.0 (2018-10-12)

Bug Fixes

  • quick workaround for rusoto's hyper upgrade (06eff39b)

Chore

  • upgrade to latest rust (4230d0cf)
  • upgrade test_integrations deps (93a5df21)
  • upgrade dependencies minus hyper and woothee (790ebdbb)

1.51.2 (2018-09-14)

Features

  • clean-up sentry error reporting and reduce spurious reporting (f0bb4e0e, closes #71)

Bug Fixes

  • ignore invalid state transitions (464e5f93)
  • don't include ports for schemes they aren't needed for (4698f06f)
  • use latest sentry (79b0fedb)

1.51.1 (2018-08-30)

Features

  • fix sentry test and add release data to sentry errors (8e59c674, closes #66)

1.51.0 (2018-08-30)

Features

  • upgrade sentry to 0.8.0 and log out errors (3ec1d3c8, closes #5)
  • return broadcast errors for invalid broadcast id's (ee7cb913, closes #59)
  • notify other nodes if user has reconnected for missed messages (10152fcb, closes #58)

Chore

1.50.0 (2018-08-16)

Bug Fixes

  • don't render topic/timestamp to the ua (8aa47af4)

1.49.7 (2018-08-07)

Features

  • support webpush API pings (2366efe4, closes #55)
  • log out disconnect reason with session statistics (1109aa2f)

1.49.6 (2018-08-02)

Chore

  • include CIRCLE_TAG in the cache key (d85cee70)

1.49.5 (2018-08-02)

Bug Fixes

1.49.4 (2018-08-01)

Bug Fixes

  • oops, check the user's actual month for validity (8b4eb87a, closes #47)

1.49.3 (2018-07-30)

1.49.2 (2018-07-27)

Bug Fixes

  • limit valid message tables to the last 3 (69adfb4e)

1.49.1 (2018-07-26)

Features

  • log out failed conversion items and use histogram for timers (05a71d9b)

1.49.0 (2018-07-20)

Refactor

  • push table names down into DynamoStorage (750c00ff)
  • split SendThenWait into 2 states (155b9fc0)

Features

Bug Fixes

  • typo and image link fix (903e46d8)
  • drop users with too many stored messages (86c65cae, closes #25)

1.48.2 (2018-07-10)

Features

  • setup a cadence error handler (26bb9084, closes #3)

Bug Fixes

  • stop notification fetch spinning (72a85ebb)
  • fix unset connected_at values (8f81af35, closes #24)

Refactor

1.48.1 (2018-06-26)

Chore

  • disable default app user for now (2b7d1a9e)

Bug Fixes

  • fix hostname lookup not including a port (b6f57cb8)
  • resolve intermittent monthly integration test fails (3ee6614c)
  • detailed resolver errors (6bb28548)

1.48.0 (2018-06-22)

Chore

Bug Fixes

  • match python autopush's crypto_key format (0eeabcbf, closes #11)

Features

  • transfer python integration tests and docker/circlci building (60deca51, closes #1)
  • initial transfer of Rust autopush code (2e4818db)

Doc