Skip to content

Latest commit

 

History

History
2053 lines (1137 loc) · 130 KB

File metadata and controls

2053 lines (1137 loc) · 130 KB

0.22.3 (2026-04-15)

Chore

  • re-gen server_events.rs with glean_parser 19.0.0 (#2224) (fe8d8807)
  • add group-by for python deps (#2206) (918b12fd)
  • deps: bump the actions-deps group with 8 updates (#2167) (41e813e5)
  • deps-dev: bump pytest from 9.0.2 to 9.0.3 in /tools/hawk (#2219) (18cf87c2)

Test

  • add optional req/resp logging to integration tests and update docs (#2196) (2eddf6de)

Refactor

  • use configurable running service for Python integration tests (#2186) (9e89b602)

0.22.2 (2026-04-03)

Chore

  • deps: bump pygments in /tools/tokenserver/loadtests (#2185) (b72fa527)

Bug Fixes

  • install all the pg tools dependencies (#2189) (6363d68a)

Features

  • include the postgres tools in the final Docker (#2188) (184de7c5)
  • add python utils and integrate into workflow (#2176) (af1c5fb6)

0.22.1 (2026-04-01)

Chore

  • capture sentry backtraces (#2166) (f0497396)
  • remove HTTP status metric from syncstorage-rs (#2163) (19847721)
  • build and push "directly" instead of using mozilla-it/deploy-actions (#2149) (36e5683a)
  • upgrade Python for all utils and refactor (#2127) (6b09e994)
  • bump rustls-webpki per RUSTSEC-2026-0049 (#2150) (db5834db)
  • resolve aws-lc-rs vuln (#2148) (cd18eae5)

Features

  • also push a latest tag to ent GAR (#2182) (5513da89)
  • single workflow and actions optimizations (#2140) (cf1d30ff)
  • (re-)enable timestamp+offset based pagination optimization (#2145) (c1d53b60)
  • add logging for acct webhook handler (#2147) (ecb6bd05)
  • mozcloud-publish: updated mozcloud-publish workflow to trigger on tokenserver-preview labels and consolidated checks into a job that is required by all build jobs (#2135) (685075e7)

Refactor

  • stop passing collection id to get_quota_usage (#2170) (857739dd)

Doc

  • fixes syncserver PostgreSQL GHCR image name (#2153) (5dbe6bc4)
  • fix broken link to config page (#2144) (ed6e27fb)

0.22.0 (2026-03-17)

Test

  • molotov sync loadtests (#2052) (408a23fe)
  • rollback transaction in tests relying on Spanner emulator (#2045) (6c6c0ffd)
  • fix flake in test_users_with_the_same_batch_id_get_separate_data (#1981) (01edad76)

Breaking Changes

  • switch to TIMESTAMPTZ (#1932) (5c022c04, breaks #)

Bug Fixes

  • set new node's available = capacity (#2111) (33edb814)
  • imeplement security guidelines for github actions (#2096) (47fe53e4)
  • adjust tokenserver scripts per postgres (#2086) (7b765be5)
  • re-add tokenserver/spanner scripts to the final docker (#2083) (f2b71995)
  • get_storage_timestamp/lock_for_read should ignore PRETOUCH_DT (#2067) (0d780c74)
  • move version.json to the root (#2041) (e8a392b0)
  • correct the JWK env var examples/docs (#2022) (d26ca214)
  • preserve the uid ordering by sorting in reverse (#2017) (574f3552)
  • further downgrade mermaid, internal dep env problem (#1974) (a3ca41fe)
  • update workflow not use script (#1972) (38fce2f3)
  • point to tokenserver api (#1970) (d05cf818)
  • address reserve and custom collections (#1950) (8b15ac53)
  • preserve existing value on batch append if new value is null/empty (#1943) (424ab1e7)
  • ensure Postgres return types and Rust value types match (#1940) (a94d702c)
  • initializing the app once suffices (#1937) (afaafc57)
  • set collection id col to auto-incr and fix get_collection_id (#1929) (9bc614d7)
  • mariadb compatibility (b1ca7b32, closes #1753)
  • tokenserver: use actual postgres post_user in release build (d5de9b14)

Refactor

  • resolve vulns and upgrade (#1788) (88e7eb9c)
  • extract a PgDb::check_quota method (4b399232)
  • use u64 for DEFAULT_MAX_QUOTA_LIMIT (f8d63999)
  • divvy up the db module (30bb0556)
  • divvy up tokenserver-postgres's db module (eea08fb2)
  • tokenserver-postgres models/orm_models/schema -> db (65becde0)
  • divvy up tokenserver-mysql's db module (51e487d1)
  • tokenserver-mysql models/pool/migrations -> db (992b1908)
  • divvy up the db/batch impls into their own mods (7ecab8bb)
  • models/batch/schema/diesel_ext -> db (4145a469)
  • move syncstorage-mysql's error -> db-common (e8d89d7a)
  • separate batch calls into a BatchDb trait (01566137)
  • stream/support/BATCH_COMMIT.txt -> db (da27f9de)
  • String -> &str (21bcc42f)
  • divvy up the db impl into its own mod (84de3272)
  • models/batch -> db (80358fe6)
  • rmv last insert id, simplify queries, add check (#1841) (8e3f3670)
  • move syncstorage's Db to async-trait (#1830) (d32c669b)
  • kill SpannerDb's RefCell (#1826) (613f6ed3)
  • kill r2d2 references, share From (bcf425c6)
  • move shared tokenserver db into tokenserver-db-common (#1801) (40b21345)
  • db: return only a SyncTimestamp from post_bsos db fns (730d6b81)
  • metrics: make hostname in metrics optional (#1880) (9e0d3698)

Features

  • adapt PoolState to usage of deadpool everywhere (#2128) (019bf46a)
  • add FxA event webhook endpoint (#2108) (efa8c4b7)
  • normalize use of chrono for time and datetime operations (#2125) (cdd0c3da)
  • log when initializing a nodes table entry (#2104) (f2e18e2d)
  • push postgres dockers to enterprise gar (#2100) (2823c2e8)
  • upsert the first storage node record with env var (#2087) (0f759c6f)
  • log when Sentry is not configured (#2073) (66d9d11e)
  • postgres node type (#2076) (50a739b5)
  • stick w/ Continuous Delivery style image tags (#2044) (9ac27a37)
  • optimize postgres get_or_create_collection_id (#2028) (935b468c)
  • migrate docker hub push to github actions (#2016) (efb70a1f)
  • migrate to GitHub Actions for Spanner build and tests (#2015) (25c852a3)
  • optimize post_bsos w/ MERGE INTO (eff8f805)
  • migrate code checks to github actions (#2005) (3cca75a9)
  • kill long removed browserid references (ab1887d2)
  • optimize batch_commit w/ MERGE INTO (#2003) (9ed0d0c2)
  • bootstrap the sync-1.5 service table entry (#1993) (0bc8c98d)
  • get the timestamp from postgres (#1962) (0cca7c73)
  • emit unexpected verify.py exceptions to sentry (#1951) (9fbeaee2)
  • re-enable warnings (#1947) (daec1917)
  • postgres docker and gar (#1945) (d4a3c24b)
  • switch to TIMESTAMPTZ (#1932) (5c022c04, breaks #)
  • UserIdentifier modification in lock and timestamp methods (#1927) (56c21e0f)
  • support query logging via diesel's instrumentation (#1925) (cb8e620a)
  • create post/put bsos postgres (#1911) (855066ce)
  • impl {create,commit,append_to,get}_batch for Postgres (4208f037)
  • quota methods (#1920) (278ffcc7)
  • add the remaining postgres get methods (#1912) (1edfd870)
  • add delete fns for Postgres db impls (f548ea1f)
  • impl for update collection (#1900) (6b0b41c6)
  • postgres read and write locks (#1891) (4d6fe26a)
  • add get_bsos/bso_ids (#1899) (f3a33250)
  • support systemd-journal logging (#1858) (7ba0b433)
  • load and map collections impl (#1898) (455ad7ae)
  • add script to purge expired items in Postgres (845a03b2)
  • impl get collection and collection id methods (#1887) (ac10f5a7)
  • postgres db pool and session implementation (#1875) (a65d4610)
  • create schema and orm models for sync postgres (#1873) (7fa191e6)
  • sync postgres schema (#1853) (0c119849)
  • tokenserver script postgres support (#1857) (adbb0a65)
  • add syncstorage-postgres (bcc5990e)
  • postgres user methods (#1839) (d6e5f736)
  • postgres node methods (#1828) (d7e737dd)
  • postgres service methods (#1814) (daec270a)
  • switch syncstorage to diesel-async (192d64c7)
  • adapt the test suite to the generic dyn DbPool (#1808) (0400c2dd)
  • create tokenserver postgres db trait (#1809) (8d8b79e1)
  • create tokenserver postgres db pool (#1806) (0c3c06d5)

Chore

  • rmv oauth tokenserver auth method (#2139) (23d04224)
  • update test result/coverage filenames (#2113) (37350249)
  • actions security updates (#2109) (f2e6cf5e)
  • run gh workflows on pushes (#2105) (a66dfa71)
  • rm .circleci (#2101) (8f289f3a)
  • upgrade jsonwebtoken (#2097) (9db210d5)
  • stop uploading test results to gcs from circleci (#2094) (c9fd339d)
  • build test results file prefix when github (#2092) (dc07e833)
  • stop checking for secrets.ETE_GCLOUD_SERVICE_KEY in workflows (#2090) (129c1aa0)
  • update rust to 1.91 (#2082) (68081b2b)
  • cargo upgrade deps (#2061) (b54129a3)
  • poetry update python deps (#2063) (33d41fbf)
  • update image names and jobs to syncserver (#2051) (f545cb3e)
  • mv load tests (#2060) (ab47abaa)
  • remove pushes to dockerhub (#2057) (cfb3e5c3)
  • upgrade to Rust 2024 edition (#2048) (0ddc3b0a)
  • use dorny/test-reporter for reporting gh action test results (#2036) (9f700d64)
  • Update GAR Image Tagging to MozCloud Spec (#2029) (d2fda79d)
  • migrate to GH action for Postgres build and tests (#2012) (6af6d5c6)
  • move MySQL build and test to GH actions (#2011) (f125cf6b)
  • kill remaining requirements.txt (5f8ab548)
  • clean out OnDuplicateKeyUpdate mysql diesel extension (#2001) (ac614115)
  • build image for postgres python utils (#1987) (e7b4ccdf)
  • bump mbdook to 0.5.2 (#1988) (ba6cda12)
  • update mdbook and mermaid (#1977) (1c12ca06)
  • doc workflow fix (#1967) (6fca1c40)
  • use real exit codes for Postgres tests in CI (#1944) (7bf49d79)
  • run Postgres tests and clippy in CI (#1923) (6c6c06ff)
  • adjust dependabot pr limit to 1 (#1918) (7103b3da)
  • add healthcheck to prevent e2e tests starting too early (ad0f6776)
  • tokenserver-db-postgres -> tokenserver-postgres (36657fd6)
  • fix Cargo.lock (9b008f8d)
  • async sync method suffix (#1821) (4a8ec959)
  • allow overriding RUST_LOG (#1813) (f2c7f944)
  • use environment value from syncserver settings for Sentry (204c13e7)
  • CI: fetch MySQL public key from MIT (31e5e2ba)
  • ci:
    • use gh actions to build and deploy to GAR and ghcr (#1976) (c46408b0)
    • configure CircleCI for postgres builds (30478687)
  • deps:
    • bump quinn-proto from 0.11.13 to 0.11.14 (#2110) (40a8618b)
    • bump werkzeug in /tools/tokenserver/loadtests (#2077) (35b0a9dd)
    • bump flask in /tools/tokenserver/loadtests (#2078) (c556860a)
    • bump cryptography in /tools/integration_tests (#2072) (cc07bb51)
    • bump cryptography from 44.0.2 to 46.0.5 (#2054) (ab6ec0a0)
    • bump cryptography in /tools/tokenserver/loadtests (#2055) (d3880c56)
    • bump bytes from 1.10.1 to 1.11.1 (#2039) (854e6c5b)
    • bump pyasn1 from 0.6.1 to 0.6.2 in /tools/spanner (#2008) (cccdac90)
    • bump urllib3 from 2.6.0 to 2.6.3 in /tools/spanner (#1994) (ea0055df)
    • bump authlib in /tools/tokenserver/loadtests (#1992) (230b4a38)
    • bump urllib3 in /tools/integration_tests (#1985) (fbbd87e0)
    • bump urllib3 from 2.6.0 to 2.6.3 in /tools/tokenserver (#1983) (c13f7d7c)
    • bump urllib3 from 2.5.0 to 2.6.3 (#1982) (1a4a0e48)
    • bump urllib3 in /tools/integration_tests (#1978) (9612bc95)
    • bump urllib3 from 2.5.0 to 2.6.0 in /tools/tokenserver (4ab5dba8)
    • bump urllib3 from 2.5.0 to 2.6.0 in /tools/spanner (78ee28e7)
    • bump authlib in /tools/tokenserver/loadtests (207a010e)
    • bump authlib in /tools/tokenserver/loadtests (#1816) (f60189d9)
  • deps-dev:
    • bump werkzeug in /tools/tokenserver/loadtests (#1990) (0e08ba60)
    • bump urllib3 in /tools/tokenserver/loadtests (#1984) (cba780e5)
    • bump urllib3 in /tools/tokenserver/loadtests (77836c6c)
    • bump werkzeug in /tools/tokenserver/loadtests (740b5cc9)
    • bump brotli in /tools/tokenserver/loadtests (7b907bdf)
  • syncserver: break up extractors.rs (34041507)

Doc

  • general bootstrapping instructions postgres (#2088) (03627ed3)
  • content from archived repos (#2075) (a4758569)
  • load test runs for locust and molotov (#2084) (30258c82)
  • open api docs utoipa (#2023) (62bd7d2c)
  • update docs for prepare-spanner (#2035) (9d0a6391)
  • update settings list (#2030) (b9ea1191)
  • add one-shot docker compose yaml to how-to (#2025) (646e516e)
  • add how-to on deploying with docker compose (#2019) (11659d98)
  • sync api docs github (#1986) (77868a38)
  • architecture and system diagrams (#1973) (a108a0da)
  • build deploy docs GitHub pages (#1965) (8b72a3b8)
  • contributing guidelines fix (#1868) (9170b97f)
  • update readme for project setup (494b1617)

0.21.1 (2025-09-23)

Bug Fixes

  • switch check to SELECT 1 to fix it on diesel-async (#1818) (f9d142fb)

0.21.0 (2025-09-11)

Refactor

  • move tokenserver's Db to async-trait (#1799) (9d799a45)
  • apply &mut self to syncstorage-mysql (38b4db40)
  • switch syncstorage Db methods to &mut self (38cb38fb)
  • switch tokenserver Db methods to &mut self (614e3902)

Bug Fixes

  • kill unnecessary transactions (savepoints) (#1782) (9381bc68)
  • Revert "fix: mysql: Call set_timestamp in lock_for_write_sync." (dfe21646)
  • mysql: Replace the user_id%10 in batch_id with a global counter. (2a1268ed)
  • mysql: Call set_timestamp in lock_for_write_sync. (d4511cc7)
  • Fix usage of Mockito for >0.30.0. (3e37e42d)
  • Fix misspelled cfg(test) in tokenserver-auth. (82dd4235)

Test

  • add max total records e2e test (#1796) (6100529d)

Chore

Features

  • tokenserver postgres schema (#1786) (1dd7dab5)
  • switch tokenserver to diesel-async (#1790) (f2698a42)
  • kill Db's impl of Clone (#1789) (b89b06d2)
  • workaround batch_id conflicts w/ a simple retry (e71980c2)

0.20.1 (2025-08-29)

Features

  • bump max payload to 2.5 (#1772) (7c4b7c1b)

Chore

  • update sync python version (#1774) (19b6176d)

0.20.0 (2025-08-14)

Test

  • resolve test deprecations (#1732) (8055e742)
  • collect and report spanner tests (#1743) (3e130960)

Chore

  • update syncstorage rust (#1749) (f7197fef)

Features

  • emit sentry events for INVALID_ARGUMENT (#1748) (57af35c5)
  • ruff for python lint and format (#1742) (8995db62)

0.19.1 (2025-08-07)

Features

  • quiet pool timeout events (emit as metrics) (#1740) (3e20b054)

0.19.0 (2025-08-05)

Refactor

  • python imports (#1730) (77254b4a)
  • convert db extract calls to async (#1715) (4ddf5b41)
  • sync sentry cleanup grpc errors (#1716) (b0c8ac50)
  • remove user migration utils (#1710) (f01c21fe)
  • move stream code into its own module (a51c0144)
  • remove purge_ttl.rs (#1702) (31c3b866)
  • quiet dbg calls (#1701) (0e3f7d16)

Bug Fixes

  • make pyo3 usage optional per the feature flag (#1731) (2fb6b84a)

Breaking Changes

  • require minimum mysql 8 (#1717) (69005091, breaks #)

Chore

  • require minimum mysql 8 (#1717) (69005091, breaks #)
  • strip actix-web features (#1713) (dd546f02)
  • remove extraneous dependencies (#1700) (0768d497)

Features

  • use poetry for dependency management (#1706) (f8715d4e)
  • spanner scripts parse gcp project (#1714) (d716ac5d)

Test

  • add spanner db tests to ci (#1711) (f407eb21)
  • make StreamedResultSet's stream generic (59df9f64)

0.18.3 (2025-05-14)

Chore

  • bump to latest rust (0148e04d)
  • update python cryptography (#1690) (e93bb882)
  • added build-and-push to GAR (#1654) (cb37e2aa)
  • upload test artifacts to gcs (aeedcf1e)
  • switch back to libmariadb-dev (#1665) (e0093a88)
  • migrate tokenserver tests to pytest with junit output (15840c5e)
  • migrate unit tests to nextest and llvm-cov (8c56cae8)

Features

  • build docker w/ Oracle's libmysqlclient (#1695) (569e5100)
  • emit oauth verification timeouts as metrics (not sentry) (#1694) (624eced1)

Bug Fixes

  • re-enable tokensever e2e tests (d0336c88)
  • avoid underflow of the queued_tasks metric (10daab06)
  • Revert "fix: avoid underflow of the queued_tasks metric (#1628)" (31dda136)
  • resolve pyo3 vuln deprecations (#1682) (0675930a)
  • infra: configure gcp utils before upload (#1698) (5dcfefe2)

Test

  • e2e: run integration and e2e tests with pytest (#1697) (6f15ad54)

Doc

  • add tokenserver documentation to sync (#1681) (dadbcea3)
  • update purge script's status now that it's running (#1679) (6f0c7b28)
  • document pruning scripts (#1645) (7c9bc008)

Refactor

  • kill tokenserver's TokenType now that it's solely oauth (a26ff490)
  • simplify metric_label to return a &str (0ca435fb)

0.18.2 (2024-12-05)

Chore

  • bump to latest sentry (#1639) (bc79ccb9)

0.18.1 (2024-11-27)

Features

  • Enable Glean probe-scraper task (#1636) (8363f82d)

0.18.0 (2024-11-26)

Doc

  • sync DAU server side metrics adr (#1608) (7e211542)

Features

  • glean metrics logic (#1626) (9e9869ee)

0.17.15 (2024-11-21)

Bug Fixes

  • upgrade to latest deadpool (#1631) (9a97b6ce)

0.17.14 (2024-11-19)

Bug Fixes

  • don't add extra prefixes to middleware emitted metrics (#1630) (9b033edc)
  • avoid underflow of the queued_tasks metric (#1628) (3ed6d607)

Features

  • add metric values to get_collections (#1616) (98ccc954)

0.17.13 (2024-10-30)

Features

  • namespace the db error labels (#1625) (bab5e1fe)

0.17.12 (2024-10-29)

Bug Fixes

  • upgrade sentry w/ a fix for the blocking curl Transport (#1621) (b8641a6c)

Features

  • glean metrics data review (#1609) (c8ec7cab)
  • add hashed_device_id to HawkIdentifier (#1615) (cc6dd137)

0.17.11 (2024-10-22)

Features

  • Revert "feat: Revert "fix: revert the python3.10 match statement (for now) (#1592)"" (1b13123a)
  • revert "feat: Revert "chore: revert back to bullseye (for now) (#1589)"" (e170518c)
  • add hashed_fxa_uid to HawkPayload (#1613) (715cf950)
  • user agent parsing (#1607) (7f2ef062)

0.17.10 (2024-10-19)

Features

  • wire MysqlError's ReportableError impl into TokenserverError (#1611) (c535e5ae)
  • create DAU glean schema and configs (#1606) (d2313310)
  • track the pool's queued vs actually active tasks (#1605) (1f0e28d7)

0.17.9 (2024-09-26)

Bug Fixes

  • ensure the pool counter's always decremented via scopeguard (#1604) (4259183a)

0.17.8 (2024-09-24)

Chore

  • deps: bump cryptography in /tools/integration_tests (#1594) (be23e391)

Bug Fixes

  • correctly read the SYNC_STATSD_HOST/PORT settings (#1601) (3675c938)

0.17.7 (2024-09-19)

Bug Fixes

  • correct TokenserverError's sentry "type"/"value" fields (bbd5abac)

Refactor

  • move sentry middlware and Taggable to syncserver-common (5d9d203c)

Features

  • Revert "fix: revert the python3.10 match statement (for now) (#1592)" (f3bdda91)
  • Revert "chore: revert back to bullseye (for now) (#1589)" (bbdfb193)

0.17.6 (2024-09-17)

Features

  • pickup the syncserver metrics settings (#1598) (b52e44ab)

0.17.5 (2024-09-12)

Bug Fixes

  • downcast to tokenserver's actual error type (#1596) (2b8b1f5d)

0.17.4 (2024-09-06)

Features

  • debug "Invalid OAuth token" (verifier returns None) error cases (#1595) (1443b31e)

0.17.3 (2024-08-30)

Bug Fixes

  • revert the python3.10 match statement (for now) (#1592) (dc0d571c)

0.17.2 (2024-08-07)

Chore

  • revert back to bullseye (for now) (#1589) (4a503f8c)

Doc

  • add missing changelog for dep updates (68db54b5)

0.17.1 (2024-07-11)

Chore

  • Updates for Jun-2024 (#1576) (1713962c)

Doc

  • clarify the handling of existing expired bsos in writes (#1581) (250ac943, closes #619)

Bug Fixes

  • don't hide TokenserverPool initialization errors on startup (#1584) (1edce041)

0.17.0 (2024-06-15)

Chore

  • bump crytography/pyramid to quiet a number of security alerts (#1574) (6c9b771b)

Bug Fixes

  • Revert the venv configuration for python (#1571) (0f86587e)

Features

  • Remove support for BrowserID (#1531) (dbbdd1df)

0.16.0 (2024-06-11)

Chore

  • Update to debian bookworm / Python 3.12 (#1567) (8f9e1c27)

0.15.9 (2024-05-31)

Features

  • Add timeouts for tokenserver database calls. (#1561) (2584b977)
  • Add metrics, gcp logging to tokenserver scripts (#1555) (6537783a)
  • Add normalized ReportableError to errors (#1559) (77181308)

Bug Fixes

  • nix-shell: update pkgconfig -> pkg-config build input (#1562) (a55e3738)
  • Allow threadpool size to be set. (#1560) (ab7b4221)

Doc

  • Remove commented code, unneeded TODO, unneeded collision tracking (#1563) (5cdfd034)

0.15.8 (2024-05-08)

Features

  • Ignore non-spanner nodes for scripts (#1557) (581c2507)

0.15.7 (2024-05-02)

Features

  • optionally force the spanner node via get_best_node (#1553) (4a145dd1)

0.15.6 (2024-04-30)

Bug Fixes

0.15.5 (2024-04-30)

Features

  • Allow uid range for purge function (SYNC-4246) (#1547) (cc160822, closes #1548)

0.15.4 (2024-04-25)

Bug Fixes

  • take keys_changed_at into account w/ migrated records' special case (#1545) (f68fb607)

Chore

  • fix changelog version anchor (8098d839)

0.15.3 (2024-04-24)

Features

  • special case purging of users previously migrated to Spanner (#1543) (13e53eba)

0.15.2 (2024-04-16)

Bug Fixes

  • Add try/except handler for force (#1535) (b777fa0d)
  • add line break to do not display backticks (#1529) (143e93b6)

Chore

  • bump mio per RUSTSEC-2024-0019 (#1530) (b4306d93)

0.15.1 (2024-02-29)

Bug Fixes

  • don't emit a content-type header for 304s (#1526) (8faf7280)

Doc

  • Remove reference to legacy vendored library (#1522) (3edd4206)

0.15.0 (2024-02-27)

Features

  • Puts pyo3 behind feature flag and derives tokens directly in Rust (#1513) (1b116846)
  • Upgrading to Actix 4.x (#1514) (97985586)

Bug Fixes

  • Copy modified purge script from old tokenserver repo (#1512) (06ecb78e)

Chore

  • Cleans up TLS dependencies (#1519) (ac3b479a)

0.14.4 (2023-12-11)

Bug Fixes

  • Use google specified UA for x-goog-api-client (#1506) (9916b3bd)

0.14.3 (2023-11-30)

Bug Fixes

  • restore emitting backend specific db errors to sentry (#1500) (18f4d594)

0.14.2 (2023-11-21)

Doc

  • remove outdated firefox-ios warning (#1497) (59283b59)

Bug Fixes

  • disable sentry's debug-images feature (#1499) (8d9185e4)

0.14.1 (2023-10-18)

Features

  • add dynamic routing headers to all Spanner ops (#1491) (af416fc2)

Chore

Bug Fixes

  • switch more test flags to cfg(debug_assertions) (#1488) (fb701288)

0.14.0 (2023-09-26)

Refactor

Features

  • convert dependencies to use workspaces (1f9323b7, closes #1461)

Chore

  • bump the rust version and some crates (0ccaa4ed)
  • pin back to master's versions of protobuf/chrono (e5058d26)
  • fix the version.json in Docker builds (#1456) (5f646df4)
  • add missing util.py to docker for process_account_events.py (#1455) (489ee051)
  • updates for Rust 1.66 (#1451) (d1178796)
  • tag 0.13.1 (#1448) (e48f9484)

Doc

  • Minor improvements to onboarding docs (#1465) (ef0fbfb9)

0.13.7 (2023-09-12)

  • Re-tag 0.13.6

0.13.6 (2023-03-07)

Chore

Bug Fixes

  • connect to the db once instead of every loop iteration (31192d52)

0.13.5 (2023-03-03)

Bug Fixes

  • handle nullable (None) keys_changed_at values (#1464) (7e298c2d)

0.13.4 (2023-02-24)

  • Re-tag 0.13.3

0.13.3 (2023-02-24)

Chore

  • add another missing file to docker for process_account_events.py (#1463) (6ee39da4)

0.13.2 (2023-02-06)

Chore

  • add missing util.py to docker for process_account_events.py (#1455) (#1457) (d2f6cf65)

0.13.1 (2022-12-16)

Features

  • add token type to Tokenserver log lines (#1445) (0362bcab, closes #1444)

Bug Fixes

Chore

  • remove spanner_config.ini (#1446) (b9c1f7f6)
  • upgrade to Rust 1.65 (#1441) (b95e549a)

0.13.0 (2022-11-14)

Chore

  • temporarily disable dependabot (#1432) (5daf6327)

Test

  • run the Tokenserver E2E tests without a cached JWK (#1390) (3a18de01)

Features

  • report blocking threadpool statistics (#1418) (929a3144, closes #1416)
  • fix high cardinality metrics tags (#1437) (9e36b882, closes #1436)

Breaking Changes

Refactor

0.12.5 (2022-11-01)

Chore

  • switch from mariadb libmysqlclient to mysql's (#1435) (b4fe184f, closes #1434)

0.12.4 (2022-10-10)

Performance

  • always verify OAuth tokens on blocking thread (#1406) (d69508d3)

Chore

  • update to Rust 1.64.0 (#1415) (fca795e3)

0.12.3 (2022-09-23)

Features

  • Add X-Content-Type-Options: nosniff to Tokenserver responses (#1403) (613f71ed)

0.12.2 (2022-09-19)

Bug Fixes

  • fix Tokenserver generation and keys_changed_at handling (#1397) (914e375b)
  • don't convert all oauth token verification errors to resource_unavailable (#1389) (ebdd609e)

0.12.1 (2022-08-25)

Performance

  • remove unnecessary database calls for Tokenserver (#1360) (5ed9a10c)

Bug Fixes

  • fix Tokenserver Spanner node query (#1383) (edef90ca)
  • fix Tokenserver node assignment query (#1382) (9e977c71)
  • fix JWT library for Tokenserver load tests (#1373) (ebf425fe, closes #1372)
  • rework Tokenserver load tests for local OAuth verification (#1357) (8c59bb4f)

Features

  • improve Tokenserver errors and metrics (#1385) (90f10173)
  • add __error__ endpoint to Tokenserver (#1375) (75231c8f, closes #1364)
  • use Actix to spawn blocking threads (#1370) (1b1261f2)
  • tag Tokenserver's token_verification metric with the token type (#1359) (dc00a8ea, closes #1358)

0.12.0 (2022-06-23)

Chore

  • add process_account_events.py to Docker image (#1325) (75e5f273)
  • pin Rust 1.60.0 (#1326) (fdc97bce)

Bug Fixes

  • fix Spanner node query (#1332) (3e81ef14, closes #1331)
  • convert DbErrors to TokenserverErrors (#1327) (9bea3280, closes #1316)
  • Set default CORS values, including all origins (#1308) (221705b7)
  • write to the new version.json location (#1344) (2821b80e, closes #1343)

Features

  • fail the health check after SYNC_LBHEARTBEAT_TTL elapses (#1337) (a72912b8, closes #1330)
  • support multiple FxA JWKs to ease key rotation (#1339) (eba35662)
  • support setting JWK for Tokenserver OAuth verification (#1307) (d62db9f0)

Refactor

  • convert actix web middleware to async await (#1338) (f76b5fc6)
  • replaced dbg! with trace macro (#1314) (03c059cd)
  • add common crates (#1281) (a52900f6, closes #1275)

0.11.1 (2022-05-05)

Bug Fixes

  • to_spanner_value -> into_spanner_value (#1301) (b8858cea, closes #1300)

0.11.0 (2022-04-30)

Bug Fixes

  • fix metrics and BrowserID error context (#1294) (a086a118)
  • fix Tokenserver migrations (#1282) (4c64c1ce)
  • add missing Tokenserver headers (#1243) (38de8332, closes #1242)
  • fix Tokenserver metrics (#1218) (d2dc0063, closes #1214)
  • move I/O calls to blocking threadpool (#1190) (cbeebf46, closes #1188)
  • resolve intermittent Tokenserver test failure (#1171) (0c05e999, closes #1170)
  • Revert "update sentry version and remove ignore rustsec-2020-0041 in … (#1137) (48947bbf)
  • removed send from async_trait for DbPool (#1139) (8c603de6)
  • Fix build for Rust 1.53.0 (#1106) (0b37bbe0, closes #1105)
  • Convert integral values to String before converting to Value (#1056) (21da763b, closes #1055)
  • use ValidationErrorKind metric_label in ApiError (#1038) (4dc77afd)

Chore

  • disable grpcio openssl (#1288) (8ff7a40d)
  • prefer CIRCLE_SHA1 vs CIRCLE_TAG in circle's cache key (#1285) (37d2251c, closes #1284)
  • update for Rust 1.60.0 (#1280) (c4bca395)
  • add Python build to Makefile (#1244) (291a40ea, closes #1226)
  • update regex (#1252) (fc34353a)
  • update to Rust 1.59 (#1227) (0e9b0f6e)
  • update to Rust 1.58 and switch to GCP Rust crate (#1201) (a7c5f809)
  • label the circleci e2e tests (#1185) (bf3ef8b3)
  • update 12/2/21 (#1181) (04cf2344)
  • update actix-http version due to RUSTSEC-2021-0081 (#1140) (0106131e)
  • switch failure crate with thiserror (#1122) (5369f1ae)
  • Update code for Rust 1.54.0 (#1123) (7ab37291)
  • enable flake8 in circleci config for tools/integration_tests (#1121) (dee69dd3)
  • Updates for May 2021 (#1078) (f25e4e0f)
  • tag 0.10.1 (#1042) (ecada4b3)

Test

  • Add BrowserId support to Tokenserver load tests (#1219) (b6d87b72, closes #1213)
  • add Tokenserver load tests (#1184) (46d4a9ea, closes #1107)
  • add Tokenserver integration tests to CI (#1180) (aa18c1a0, closes #1174)
  • Add Tokenserver integration tests (#1152) (7209ccf5, closes #1048)

Doc

  • add Tokenserver README (#1162) (b5fa8c8a, closes #1082)
  • add comments about Tokenserver state being an Option (#1161) (c1dc552b, closes #1102)
  • Add Apache 2.0 license to prepare-spanner.sh (#1120) (f0c16ba5)
  • Update spanner configuration documentation (#1047) (57405c1e, closes #1045)

Refactor

  • cache FxA OAuth client (#1212) (04b24378, closes #1209)
  • Remove Tokenserver support for per-node secrets (#1211) (eac6b558, closes #1208)
  • remove static service IDs (#1199) (ae659702, closes #1144, breaks #)
  • Tokenserver: Add mature MySQL adapter (#1119) (503d1aa8, closes #1054)
  • Use PyFxA to verify Tokenserver tokens (#1103) (34401777, closes #1102)
  • Clean up Tokenserver code (#1087) (e9247699, closes #968)
  • Tokenserver: Rewrite inlined Python code in Rust (#1053) (34fe5859, closes #1049)
  • Add ToSpannerValue trait (#1046) (2ce45705, closes #260)
  • Emit metric for spanner DbPool::get time taken (#1044) (57bd30ad)
  • Use generic tuple extractor in web extractors (#1043) (71c62be1, closes #698)

Breaking Changes

  • remove static service IDs (#1199) (ae659702, closes #1144, breaks #)

Features

  • spawn Tokenserver pool reporter (#1283) (ee8e1794)
  • don't run Tokenserver migrations on startup (#1286) (1a197a6c)
  • emit 4XX errors as metrics instead of Sentry events (#1274) (cacd8285)
  • add context to TokenserverErrors (#1224) (92e7d262, closes #1223)
  • Pass Tokenserver origin field through token payload (#1264) (a4c340e1, closes #1245)
  • add BrowserID support for Tokenserver (#1216) (38d6a27b, closes #1215)
  • add Tokenserver metrics (#1200) (aa93312a, closes #1108)
  • add missing Tokenserver response fields (#1176) (a3d4f094, closes #1173)
  • Tokenserver: add per-node secrets (#1169) (bed59e2c, closes #1104)
  • make Tokenserver DbPool#get async (#1175) (3d4c180d, closes #1172)
  • add Tokenserver admin scripts (#1168) (0ac30958, closes #1086)
  • Add client state validation (#1160) (0996cb15, closes #1091)
  • Tokenserver: Add node assignment logic (#1158) (db739def, closes #1051)
  • Tokenserver: Add validations and user updating for generation, keys_changed_at, and client_state (#1145) (337ab8f4, closes #866)
  • Add ability to disable syncstorage endpoints (#1159) (5f2fa8a3, closes #1083)
  • Tokenserver: Add support for client-specified token duration (#1151) (17f89ac5, closes #1050)
  • Add test mode to Tokenserver (#1143) (cbdc12e5, closes #1142)
  • Tokenserver: Implement extractors for generation, keys_changed_at, client_state (#1141) (f29064d3, closes #1133)
  • generation, keys_changed_at, and client_state: Add database methods (#1136) (44e832b8, closes #1132)
  • Integrate Spanner emulator with CI (#1079) (e6ec1acd, closes #566)
  • Support SYNC_SPANNER_EMULATOR_HOST (#1061) (322603a7, closes #915)

0.10.2 (2021-04-28)

Bug Fixes

  • update deadpool w/ the incorrect pool stats fix (#1057) (d261ac1e, closes #803)

0.10.1 (2021-04-14)

Refactor

  • Remove middleware::sentry::queue_report (#1040) (0dccb00f)

0.10.0 (2021-04-05)

Bug Fixes

  • Restore hawk error metrics (#1033) (f795eb08, closes #812)
  • report query parameters with Invalid Value error (#1030) (354cf794)

Features

  • Add "auto-split" arg to auto-gen UID prefixes (#1035) (487ac11e)

0.9.1 (2021-03-12)

Chore

Features

  • Manually update the spanner session approximate_last_used_time (#1009) (f669b257, closes #1008)

0.9.0 (2021-02-25)

Bug Fixes

  • ensure "extra" data added to Hawk header in e2e tests (#1003) (8c280ccd)

Features

  • kill old or excessively idled connections (#1006) (082dd1f0)

Chore

0.8.7 (2021-02-03)

Features

  • __lbheartbeat__ will return 500 if the connection pool is exhausted (#997) (e72573ac, closes #996)

Chore

0.8.6 (2021-02-01)

Refactor

  • remove duplicate code for incrementing counters (#983) (d72228b1)

Chore

Features

  • Add pool connection info to lbheartbeat for ops (#985) (06a2ac79)

Bug Fixes

  • downgrade deadpool so it stays on tokio 0.2 (99975ef8, closes #976)

0.8.5 (2021-01-21)

Bug Fixes

  • downgrade deadpool so it stays on tokio 0.2 (99975ef8, closes #976)

0.8.4 (2021-01-19)

Chore

Features

  • default to timing out deadpool checkouts (30 seconds) (#974) (2ecca202, closes #973)
  • avoid an unnecessarily cloning for from_raw_bso (#972) (07352b6d, closes #971)

0.8.3 (2020-11-30)

Chore

0.8.2 (2020-11-20)

Bug Fixes

  • make actix-cors more permissive (#929) (1a7e817a)

0.8.1 (2020-11-16)

Chore

  • Update depenedencies (#904) (4e95c571, closes #899)
  • update dependencies (#900) (0afb9691)
  • tag 0.8.0 (#881) (b6ff73d2)
  • tag 0.8.1 for release and include scripts for setting up sentry releases (#881) (33f900dc8e)

Test

Features

  • Add SYNC_ENFORCE_QUOTA flag (#875) (0e30801d, closes #870)
  • switch coll cache's RwLock to async (#906) (14fc49a5, closes #905)
  • Implement rudimentary tokenserver route in syncstorage-rs (#871) (b74943e4)

Bug Fixes

0.8.0 (2020-10-29)

Bug Fixes

  • handle duplicate keys in batch_upload_items for mysql (#873) (2d6039f3, closes #827)
  • reduce MAX_TOTAL_RECORDS for quota write allowance (bac2c51f)
  • avoid extra quota related work in batch commit (51c3bdab, closes #869)
  • correct quota env var in config test to SYNC_ENABLE_QUOTA (#859) (f0aa4642, closes #829)

Chore

Features

  • Add count and count_with_tags metric for batch histogram (#879) (8afcbe65, closes #878)
  • optimize POST w/ ?batch=true&commit=true (#880) (b7e9ba53, closes #876)
  • remove Tags handoffs (#862) (c6ea474c, closes #403)
  • rework error logging/metric reporting; fix BSO batch updates for spanner (#824) (cef8fb52, closes #827)

0.7.1 (2020-10-19)

Bug Fixes

  • correct quota env var in config test to SYNC_ENABLE_QUOTA (#859) (f0aa4642, closes #829)
  • rework error logging/metric reporting; fix BSO batch updates for spanner (#174, #619, #618) (cef8fb521, closes #174, #619, #618)

0.7.0 (2020-10-12)

Bug Fixes

  • Return FORBIDDEN if a user's batch is Over Quota (#848) (d24dcdb6, closes #852)
  • clippy error related to matches! closes #850 (06aed80f)
  • downgrade sentry to 0.19 (#849) (0a175dde)

Chore

0.6.1 (2020-09-30)

Features

  • update to actix-web 3 (#834)

Bug Fixes

  • return correct error code and value for OverQuota users (#837)

0.6.0 (2020-09-23)

Features

0.5.8 (2020-08-25)

Bug Fixes

Features

0.5.7 (2020-08-22)

Chore

Bug Fixes

  • Avoid implicit transactions in DbTransactionPool (#777) (e0448583, closes #768)

Features

Refactor

0.5.6 (2020-08-11)

Features

Bug Fixes

  • remove ubuntu target for grpcio (#775) (7d1061f7, closes #774)
  • Return WeaveError::OverQuota for over quota responses (#773) (38cd5ddd, closes #769)
  • ensure an X-Last-Modified for /info/configuration (#761) (36533f85, closes #759)

0.5.5 (2020-08-06)

Chore

  • Update vendored SDK to use protobuf 2.16.2 (#747) (39519bb8)

Bug Fixes

  • set config env separator to double underscore. (#763) (f1d88fea, closes #762)
  • normalize id elements to remove potential wrap characters (#748) (71ab9b34, closes #680)

0.5.4 (2020-08-04)

Features

  • add debug_client check to BsoBodies for batch operations. (1370df9d

0.5.3 (2020-07-31)

Features

  • force client to rec'v over quota error (81c00c31, closes #746)
  • add metric for db conflicts (1595f27f)

Bug Fixes

  • defer grpc auth to actix-web's thread pool (7a79fe07, closes #745)

Chore

  • Update vendored SDK to use protobuf 2.16.2 (#747) (39519bb8)

0.5.2 (2020-07-22)

Chore

  • Update Docker rust to 1.45 (#734) (538abe4b)

Bug Fixes

0.5.1 (2020-07-21)

Features

  • make migrations play nice with existing databases. (#721) (40b97fc3, closes #663)

Bug Fixes

  • switch create_session to async (#733) (7cd04bc9, closes #731)

0.5.0 (2020-07-16)

Features

  • option to limit purgettl to range of fxa_uids (695722a9, closes #713)
  • limit purge ttl to prior midnight (#708) (198eb816, closes #707)
  • add conditions, args to purge_ttl script (#668) (2a14eb29)

Refactor

Bug Fixes

  • remove report_error from the transaction handler (f0e4c62e, closes #723)
  • Replace batch index to resolve hot table problem (#720) (c3ca80e6, closes #719)
  • don't call begin twice for mysql's delete_all (#673) (c93db759, closes #639, #441)

0.4.2 (2020-06-24)

Bug Fixes

  • don't reject firefox-ios dev builds (f6f4a15e, closes #683)

0.4.1 (2020-06-11)

Bug Fixes

  • python image build needs stable docker git container (93edc9f6)

0.4.0 (2020-06-11)

Doc

  • update per sentry dev's rename to local (#628) (456c857d)
  • Update instructions for running syncstorage-rs via Docker (#624) (eb5fa003)

Refactor

Features

  • build spanner python utils image (#661) (2060601c)
  • log messages from middleware to sentry (#604) (b6ced47a, closes #504)
  • Allow for failure "replay" from failure file (#644) (b0f1590f, closes #642)
  • Don't report Conflict errors to sentry (#623) (b2d93418, closes #614)
  • add async to delete_all (#621) (fdb366da, closes #615)
  • emit Db pool metrics periodically (#605) (c3d6946e, closes #406)
  • add a --wipe_user mode (16058f20, closes #596)
  • latest ops requests (edd0017d)
  • Enable circleci remote docker layer caching, speeding up the ci builds. (7d9d521a)

Bug Fixes

  • range check the header to avoid a panic (#664) (b73e6ee2, closes #647)
  • Make bso_num in migrate_node less truthy (#637) (fa96964f, closes #636)
  • don't classify AlreadyExists as a ConflictError (#635) (07276667, closes #633)
  • Add retry and sleep to purge_ttl attempts (#620) (38c3295b)
  • don't replace user_collections (d6b2dc21)
  • convert user_id into bigint (ab2606da, closes #470)
  • convert user_id into bigint (8b951137, closes #470)

Chore

0.3.4 (2020-05-13)

Bug Fixes

  • don't consider expiry during batch commit (#632) (90ff7485)

0.3.3 (2020-05-11)

Features

  • include a hostname tag w/ pool metrics (#627) (f11c04b5, closes #555)

0.3.2 (2020-05-05)

Chore

Features

  • emit Db pool metrics periodically (#605) (1761f7c7, closes #406)

0.3.1 (2020-04-21)

Bug Fixes

  • restore delete_bso's handling of errors (c11e7894, closes #599)

0.3.0 (2020-04-09)

Bug Fixes

  • add build_essential package to Dockerfile. (05b20eca, closes #572)
  • do not populate mysql CollectionCache with invalid values (0741104e, closes #239)
  • correct the test version of post_bsos (f9842af9, closes #533)
  • Reduce log release_max_levels (17ff2867)
  • cargo clippy for rust 1.42 (546d96ca)
  • Convert erect_tombstone to async/await (442c4c05)
  • revert unsupported config change (f4cfcab1)
  • adapt to async (fceea69e)
  • Fix #444 invalid offset code that was lost in the actix 2 upgrade due to a bad merge (efbf6594)
  • Fix #459 db-tests on master (0cd2b9db)
  • Fix #457 remaining blocking execute (3ed7ae62)
  • convert migration state to smallint (#429) (b980b438, closes #428)

Features

  • reject firefox-ios < 20 w/ a 503 (337275c3, closes #293)
  • specify database in user_migration/fix_collections.sql to help running from automation (cbe3452c)
  • add --user_percent option (08a646a3)
  • add an extra sanity check of the db url (f58b3bc9)
  • Add --abort and --user_range flags (a65123bc)
  • more user_migration stuff (#450) (ecfca9fd)
  • separately metric batch update/insert (33065a8f, closes #454)

Refactor

  • Remove python dependency from the dockerfile. (3cd80947, closes #567)
  • rewrite purge_ttl in Rust (5d6d7c1a)
  • Convert the rest of the spanner module to async await (e2017bbc)
  • Fix #442 Use map_ok in handlers to simplify the code and improve error reporting. (c50b4cca)
  • Fix #453 Convert straggler functions to async await (69d50d2a)
  • Fix #435 Convert db batch calls to async await. (a9eeddb1)
  • Fix #433 Convert database bso calls to async await (9279782f)
  • Fix #434 Convert db collectioon calls to async await. (e0b1c1cd)

Test

  • move db-tests back into the main crate (#465) (f6990853, closes #410)

Doc

  • fix typos in README.md files Fixed typos in README.md files to improve readiblity. (7da2154b, closes #529)
  • fix URL rendering in README (bcb0e2e2, closes #496)
  • add system dependencies to README (f0183495, closes #255)

Chore

0.2.9 (2020-04-02)

Features

  • revert the GET collection sort order (c95f2ff) (81b1e3f3, closes #559)

0.2.8 (2020-03-26)

Bug Fixes

0.2.7 (2020-03-24)

Chore

  • adapt googleapis-raw dep to 0.2 branch (58f2051f)

Refactor

0.2.5 (2020-03-11)

Bug Fixes

0.2.4 (2020-03-10)

Bug Fixes

  • GETs with a limit and no sort never advance X-Weave-Next-Offset (c95f2ff2)

0.2.2 (2020-02-12)

Chore

  • revert temp. sentry tags for the mutation limit issue (f213a79c, closes #389)

Performance

  • Port get_bsos' pagination optimization (9266f753)

Features

  • restrict release mode logging to ERROR (#427) (9ab20845, closes #426)
  • recategorize logging messages into appropriate states (d8aeb3ee, closes #416)
  • script to count total users in spanner (13d2490d)
  • User migration scripts (3500b9b9)

Refactor

  • kill unnecessary copies from protobuf Values (0de96712, closes #422)

Bug Fixes

  • filter out variable data from URI metric (#421) (3986c451, closes #420)

0.2.1 (2020-01-11)

Features

  • add basic logging to stdout and statsd metrics for purge_ttl.py (92a57e65)

Bug Fixes

  • Don't report uri.path to Metrics (68f8dcce, closes #408)
  • Don't return empty strings in tags. (13a881b8, closes #404)
  • Use HttpResponse::build(status) instead of HttpResponse::Ok().status(status) (67113c7b, closes #393)

0.1.14 (2020-01-06)

Doc

  • add more detailed sentry testing info (681f1014)

Features

  • break apart middleware.rs (#392) (5b0fb643, closes #391)
  • route reads through the streaming sql api (0e539d50, closes #205)

Bug Fixes

  • add tag info to sentry error messages (#372) (b834c54a)
  • ignore the collection field in POSTS also (e1a530ba, closes #376)

Chore

  • remove travis related docs/links (7c169145)
  • add python to docker image (e1f48b48)

0.1.8 (2019-12-03)

Doc

  • add descriptive comment (84f25af5)
  • adjust PR template, finish combining READMEs (bbe744dd, closes #344)
  • combining setup instructions into one main doc (a8ead778)

Bug Fixes

  • optimize batch commit mutations (5dd3c651, closes #318)
  • remove redundant syncstorage metric root (a2083477, closes #346)
  • specify the release name to sentry (9cdfe7d7)

Chore

  • improve local logging (d1a84219, closes #350)
  • fix syntax and make one small formatting change to PR template (11e47545, closes #344)

Refactor

0.1.7 (2019-11-16)

Bug Fixes

Chore

  • point to mozilla-services/mozilla-rust-sdk (44186211, closes #335)
  • Update dockerfile to rust 1.39 (f0451097)

Features

  • Include user agent info in metric tags (cbc7bf50, closes #329)
  • Add debugging tools (7d07a894)
  • check spanner commit size, error out if "too large" (7e5ddf3c, closes #320)

0.1.6 (2019-11-06)

Features

Bug Fixes

  • recreate stale spanner sessions on checkout (f822aec9, closes #316)
  • switch to slog's envlogger (20b21bee, closes #310)

Refactor

0.1.5 (2019-10-24)

Features

Bug Fixes

0.1.4 (2019-10-18)

Bug Fixes

  • switch sentry to its curl transport (5cbd1974, closes #289)
  • accept weighted content-type headers (f3899695, closes #287)

0.1.2 (2019-10-12)

Bug Fixes

  • Be more permissive about content type headers (53292fc9, closes #264)

Features

  • rewrite post/put_bsos w/ spanner mutations (a25a6288, closes #267)

0.1.1 (2019-10-09)

Chore

  • fix cache key to include CIRCLE_TAG (5d2434e1)
  • update language in response to PR suggestions (4573736b)
  • adding initial PR template (a4383ecc)
  • remove last last_modified -> modified remnant (b67a1bfc)

0.1.0 (2019-10-04)

Features

  • Initial release