- (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)
- (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)
- (ci:docs) Fix actions/checkout step (#1206) (7dea068a)
- (apns) Add ability for token-based connection to APNS (#1166) (bcb8df40)
- (metrics) Add time spent in storage before send (#1202) (cfd2354a)
- (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)
- Update release process (#1176) (493d99ba)
- (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)
- (apns) Add ability for token-based connection to APNS (#1166) (bcb8df40)
- (tests) Wait for Bigtable emulator before creating tables (#1178) (ed0272ab)
- (redis) Persist topic/ttl/sortkey_timestamp in stored notifications (#1191) (df62df16)
- Update release process (#1176) (493d99ba)
- Tag 1.82.0 (#1175) (f18ade81)
- (ci) Trigger builds and deploys on both master and main (#1177) (64d90c88)
- install rustls CryptoProvider to prevent startup panic (#1174) (b3e7a8b)
- tag 1.82.0 (#1168) (5c32e76)
- Add var prefixer to resolve grpcio builds under trixie (#1162) (3c594792)
- defaults for explicitly null keys in settings (#1156) (ec675ffe)
- 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)
- Add profile specific build (#1144) (567c8694)
- Handle no tracking keys for health check. (#1149) (511c95a9)
- tag 1.81.2 (#1141) (d4557b6a)
- Make the kubernetes memory check optional (#1140) (e4fca57d)
- restore the "_enterprise" tag w/ ent gar (#1136) (4a6abdc6)
- restore the "_enterprise" tag w/ ent gar (#1136) (4a6abdc6)
- 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)
- 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)
- re-init docker compose setup documentation with Redis (#1109) (5fd7ef68)
- Add some clarity to options and requirements (#1117) (8e5d850d)
- include discrete build for enterprise (#1101) (80e223a8)
- Make sentry reporting optional (#1072) (a374a043)
- Restore
autokeykey generation script (#1085) (101c7fbb) - Add metric for tracked vs untracked messages (#1076) (5127c676)
- Replace postgres library with sqlx (#1110) (f19f996e)
- 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)
- 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)
- tag 1.79.0 (#1073) (90600174)
- add documentation for new data stores (#1060) (afdd609)
- tag 1.78.0 (#1061) (094ed27)
- add documentation for new data stores (#1060) (afdd609a)
- tag 1.78.0 (#1061) (094ed279)
- updated mozcloud-publish workflow to new version that does not require artifact write permissions (#1038) (fe5cfbe5)
- tag 1.77.4 (#1032) (efc0ea55)
- 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)
- Remove 'hostname' tag from periodic reporter (#1029) (62413c9f)
- 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)
- Only attempt to create a new state if the old is not set (#1025) (5f48b4f5)
- tag 1.77.2 (#1023) (796674db)
- tag 1.77.1 (#1019) (236244e9)
- filter non-state entries from report (#1022) (3b014e43)
- Use new state if error in record_reliability (#1018) (3157fdd4ace371139323efc40f906614c5ec8a8a)
- Store message state in Redis to solve for some reliability state management issues (#1005) (204163f2)
- Skip previously deleted records (#1012) (43c3ad74)
- Add VAPID header to load testing (#992) (31f21a9d)
- install mdbook-mermaid js assets on build (#1003) (ac76ab26)
- mdbook-mermaid now needed (#1002) (3a9c997c)
- diagram the reliability state transitions (#1001) (fac8cfa5)
- Fix order of expiry key by using a struct. (#999) (7dd4c44e)
- tag 1.75.9 (#998) (dc141ddc)
- tag 1.75.8 (#995) (893733bf)
- Address potential double counting reliability (#997) (854071e9)
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.
- tag 1.75.3 (#982)
- 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)
- feat: Improve endpoint reliability check (#991) (e658a2f8)
note: 1.75.4 - 1.75.6 were not released. This version contains the cumulative fixes.
- tag 1.75.2 (#977) (9dc9d774)
- Use full paths in compiled docker image (#981) (11048566)
- Fix typo in circleci config (#976) (4d259b42)
- Fix typo in circleci/config.yml (#976)
- Include image deploy script in CI (#974)
- 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)
- sentry middleware should use tags w/ metrics (#901) (96cc7138)
- Post release fixes for Reliability (#893) (a9a181e2)
- remove unused dependencies (#922) (1c47ad6d)
- Version update for March 2025 (#892) (9380c22f)
- tag 1.74.3 (#866) (d22de1dc)
- tag 1.74.2 (#864) (cc0d8ee4)
- Add diagnostic for stage (#865) (470ea1c3)
- tag 1.74.1 (#862) (d07ee886)
- compare tracking keys in raw form. (#863) (49a466b8)
- Autoendpoint should be less strict about config options (#859) (8598172d)
- switch metrics to
/metricsendpoint (#861) (57eedaf4)
- tag 1.74.0 (#860) (17bbf04a)
- 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)
- 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)
- 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:
- rename autopush prefix metrics to autoconnect (#822) (9a166def)
- 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)
- 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)
- test: update test strategy to include links to metrics (#810) (8cda9ac1)
- Address insecure sub header fetch. (#803) (53d90aa9)
- Do not return status 200 for router messages (#801) (a3d23013, closes #800)
- 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)
- integration: replace pytest.skip with pytest markers (#798) (84f1fe8e)
- Add database tracking and report for Push Reliability (#769) (e95063cc)
- 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)
- 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)
- 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)
- Update mobile debugging link in README.md (b09814a8)
- 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_idrouting hint to bigtable requests (#639) (8e0ffff0) - Record the VAPID
subwith database errors (#681) (ae66e496) - Add integration test for mobile HTTP calls (#532) (9bc1ae98)
- remove
use_webpushas 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)
- 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)
- push Docker images to GAR (#746) (2995239d)
- Re-tag 1.71.5
- update openssl per RUSTSEC-2024-0357 (52d9da33)
- Re-tag 1.71.3
- update per RUSTSEC-2024-0336 (#682) (e6293090)
- upgrade all integration tests to asyncio async await (#667) (c7448f45)
- a couple retry logic error messages were incorrect (#676) (6cb6549b)
- 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)
- load: Document the process for calibrating users per worker (#661) (c89627fd)
- load: Document the process for calibrating worker count (#666) (de752ec4)
- add initial async features for client (#653) (22f058e6)
- deps-dev:
- introduce end_median for dual. (#663) (38d6a6d1)
- Switch to lighter weight health check (#662) (133bcb53)
- Swtich to lighter weight health check (bed0f7f4)
- dual mode needs its own spawn_sweeper (#658) (1b4d5a9a)
- further special case another form of an incomplete router record (#655) (396c7b04)
- evict idle connections from bigtable's db pool (#654) (70b1e7b2)
- don't skip DbError in the ReportableError chain (#649) (c9b97d13)
- include tags/extras across the exception chain (#648) (fb2b0ee7)
- 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)
- don't ignore add_user errors (#640) (6a91bce5)
- retry get_user when the add_user condition fails (#637) (87ed38c3)
- Add missing doc diagram. (#623) (12bce705)
- prefer the simpler delete to avoid the admin API (#636) (0b7265ed)
- don't add_channels when there's none to add (#634) (b0ffa8cd)
- have Bigtable match DynamoDB's metrics (#627) (0ce81aab)
- have bigtable remove_channel write conditionally (#625) (60c6675b)
- "recycle" the user object in update_token_route (#621) (4bd48278)
- fix add/update_user version field handling on migrations (#619) (1ff88e79)
- dual update_user calling add_user (c80866d6)
- 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)
- deps-dev:
- 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)
- cleanup add_channels to use mutate_row (#583) (db2e02ed)
- 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
dualmode (#582) (76848753) - don't store duplicated message columns (#581) (7f2396aa)
- store the channel_id metadata in a single bigtable row (#574) (1716f205)
- 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)
- 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)
- 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)
- update to the new autoconnect url (#538) (ac5c691f)
- Document VAPID key should be base64 encoded (#535) (c9b9d6bd)
- 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)
- demote
retrymessage, 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)
- correct the ua.expiration metric's tag (#502) (ca002ec8)
- add ReportableError::reportable_source (#500) (40487b76)
- handle already connected users (#495) (eb53beca)
- further detect common io errors in megaphone's updater (#492) (5421f581)
- split router endpoints into their own app (#491) (bbde5823)
- defer Error::source methods to inner kind's (#486) (a9a17963)
- emit metrics for megaphone polling (#488) (ea302228)
- further clean up (#399) (61d784f8)
- capture sentry events for the unidentified state (#484) (09db55f2)
- Convert WSError(Timeout for Pong) to metric (#478) (cd597d39)
- hide common SessionClosed errors from sentry (#470) (f069c2c9)
- tag 1.69.1 (#466) (c8192503)
- allow invalid uaids in autoconnect (#464) (6da8c45e)
- tag 1.68.3 (#456) (2a97e678)
- Use the calling crate's name and version for init_logging() (#461) (d3bd4c07)
- Reject Legacy GCM endpoints (#459) (aaa47139)
- re-enable slog's envlogger (#452) (e76b1198)
- AutopushUser fails with WebSocketConnectionClosedException (5f8efb2d)
- Use
warn!()to supplement sentry errors, since they don't show up regularly. (#449) (4eaa9a06)
- tag 1.68.1 (#448) (b55bbe76)
- don't emit backtraces in Display (#447) (392f4e1e)
- tag 1.68.0 (#446) (00d19b1a)
- 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)
- fill in some autoconnect TODO docs (#410) (74ffdb05)
- Update docs for modern version of autopush (#388) (d36fb527)
- 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)
- validate message schema in load tests with models (0d8c1c2f)
- add a load test shape (f84e2665)
- calibrate load tests (7a6c099f)
- update user, spawn rate and time in load tests (b9a88e5a)
- add python linters and formatters to CI (615b93ad)
- deps:
- emit metrics also in the common Response error case (#384) (5bd09339)
- deps: bump requests from 2.30.0 to 2.31.0 in /tests (#380) (cdf91df6)
- 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)
- disable sentry's debug-images feature (#375) (ed730974)
- 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)
- 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)
- 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)
- release 1.65.0 (#324) (060a520)
- silence data overflow error in sentry (#327) (202fba6)
- 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)
- Add mobile debugging steps to README (#339) (9238056)
- Fix typo in README.md file (thanks @dev-aniketj) (#341)
- allow for standard base64 private keys (#323) (7ec9e541)
- tag 1.64.0 (#322) (3b888782)
- add jitter to retry (#319) (3272fdec)
- various mini-patches for FxA integration work (#321) (b2b6bfd3)
- Added more verbose
trace!anddebug!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
- Added more verbose
- tag 1.63.0 (#312) (f40a14a7)
-
Update for Jun 2022: Alters env var key names (#313) (1ec85899) Broke: Environment var key changes from:
AUTOPUSH_=>AUTOPUSH__AUTOEND_=>AUTOEND__
- tag 1.62.0 (#304) (1425b896)
- Fix GCM handling (#309) (96cef485)
- Add tool to generate endpoints (#307) (2829fa42)
- tag 1.60.0 (#300) (ef47c7a7)
- bug: Do not report non-actionable errors to sentry (#299) (3d18b10d2)
- feat: return more explicit VAPID error message (#299) (3d18b10d2)
- 1.59.1 (#297) (01d39582)
- tag 1.59 (#296) (8b8e5fb3)
- cleanup cargo audit invocation (#290) (23818662)
- tag 1.58.0 (#289) (e47f697b)
- Q3 dependency update (#286) (627456d9, closes #285)
- Dep update for Jul 2021 (#283) (230fb191)
- library update for Jun 2021 (#280) (5e9aabfe)
- tag 1.57.8 (#277) (35f0b406)
- Report bridge status via
__heartbeat__(#295) (4e85e401, closes #294) - Standardize to
/__error__for sentry error check (#278) (3f0dc8f4, closes #274)
- Drop aesgcm128 support (#268) (d8b7ca83)
- tag 1.57.7 (#271) (4857f0b1)
- tag 1.57.6 (802bfdfe)
- tag 1.57.5 (#258) (a95b7b97)
- update dependencies for Mar 2021 (7ec16f08, closes #256)
- tag 1.57.4 (#253) (b4c5e5e3)
- 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)
- tag 1.57.1 (#239) (0f168c93)
- 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)
- 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)
- 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)
- release 1.57.0 (fc46f768)
- Re-enable cargo-audit in CI (#221) (e8179a85)
- Update Docker rust to 1.45 (#193) (9dd589ce)
Includes autoendpoint
- 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)
- 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)
- 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)
- add a badge for the matrix channel (12e3aa07)
- update deps (82cc33ee, closes #131)
- add pr template (9a083f42)
- force cargo install to use cargo.lock (2bdcd004)
- report Megaphone errors to Sentry (0b6eed61)
- simplify srv usage (1086de7b)
- split connection node from common for later endpoint (e523d739, closes #99)
- 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)
- update dependencies (b4e159d4)
- 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)
- some cleanup after cargo fixes (6c118212)
- cargo fix --edition-idioms (909965f3)
- cargo fix --edition (00592dd6)
- update dependencies (9244c7fd, closes #91)
- cargo fmt (1.31.0) (801b1e13)
- update Cargo.lock to bump requests to >= 2.20.0 (5e837376, closes #84)
- quick workaround for rusoto's hyper upgrade (06eff39b)
- upgrade to latest rust (4230d0cf)
- upgrade test_integrations deps (93a5df21)
- upgrade dependencies minus hyper and woothee (790ebdbb)
- ignore invalid state transitions (464e5f93)
- don't include ports for schemes they aren't needed for (4698f06f)
- use latest sentry (79b0fedb)
- 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)
- rustfmt update (583d07a7)
- don't render topic/timestamp to the ua (8aa47af4)
- support webpush API pings (2366efe4, closes #55)
- log out disconnect reason with session statistics (1109aa2f)
- include CIRCLE_TAG in the cache key (d85cee70)
- limit valid message tables to the last 3 (69adfb4e)
- log out failed conversion items and use histogram for timers (05a71d9b)
- emit metrics for any failed notif conversions (4a50700f, closes #33)
- log the nack code in metrics (b795566d, closes #34)
- add dockerflow requirements (13c0fffc, closes #29)
- update dependencies (f7ded753, closes #25)
- disable default app user for now (2b7d1a9e)
- fix hostname lookup not including a port (b6f57cb8)
- resolve intermittent monthly integration test fails (3ee6614c)
- detailed resolver errors (6bb28548)
- Dockerfile/ci fixes (b4f3f912)
- transfer python integration tests and docker/circlci building (60deca51, closes #1)
- initial transfer of Rust autopush code (2e4818db)
- update documentation (1d244864)