GitHub

v68.0.1

Full changelog

  • General
    • BUGFIX: Don't clear unrelated stores if they share a prefix with the one being cleared (#3516)

v69.0.0

Full changelog

  • General
    • BREAKING CHANGE: Replaced the client-side storage backend with a SQLite-powered one.
      This is major change and large refactoring of the Glean SDK internals, but has very limited breaking changes in the
      public API (breaking changes in the Rust API only).
      Data is migrated from the old rkv-powered storage to the SQLite database on first start with this Glean SDK version.
      The Rkv data is retained for now. Only the SQLite-backed data is written to for new metric recordings.
      New glean.migration.* metrics were added to monitor and validate the migration process.
      Other monitoring metrics are preserved.
      The glean.database.rkv_load_error has been replaced by a more generic glean.database.load_error with similar semantics.

v68.0.0

Full changelog

Note: No changes in this release are actually breaking. We're doing this to have a clear cut before we merge the new SQLite-powered storage backend.

  • General
    • Disable the glean.error.event_timestamp_clamped metric (#3500).
  • Rust
    • Make rate_limit configurable in the configuration builder (#3495)
    • Experimental: Enable glean-sym on iOS (#3471)

v67.5.0

v67.5.0 (2026-06-09)

Full changelog

  • General
    • Add clear_attribution_data and clear_distribution_data General APIs to clear core attribution and distribution data (bug 2043535).

v67.4.0

v67.4.0 (2026-06-09)

Full changelog

  • General
    • Updated to glean_parser v19.1.1 (#3426, #3470)
    • Increase pending ping limits to better support long network outages (bug 2040030)
      • New glean.upload.pending_pings_deleted metric added to differentiate between deletions due to pending ping count or directory size limitations
      • Default pending pings allowed before deletion raised from 250 to 500, and the directory size before deletion increased from 10MB to 50MB.
      • New configuration fields added to allow integrating applications to override the maximum pending pings count and directory size limits.
    • Add first-class Sessions support: configurable session management (Auto, Lifecycle, Manual modes), session-level sampling, glean.session_start/glean.session_end boundary events in the events ping, and per-event session metadata for downstream analysis (bug 2020962)
  • Rust
    • Experimental: Introduce glean-sym, a Rust API built on top of the Glean UniFFI C FFI (#3426)
    • client_info.os_version can now be set by the application. If unset Glean still uses the auto-detection (#3419)
  • Android
    • Updated Kotlin to 2.3.21 (#3456)
    • The Gradle plugin now uses the modern AGP variant API, making it compatible with AGP 9 (maintaining AGP 8 compatibility) (#3472).

v67.3.2

Full changelog

  • General
    • BUGFIX: Don't crash when alloc_size() is called before Glean is initialized (#3455)

v67.3.1

Full changelog

  • Rust
    • Avoid unsafety and count the allocation for the underlying atomic bool directly (#3450)

v67.3.0

Full changelog

  • Rust
    • Add support for determining client_info.os_version for Android binaries (#3434)
    • Avoid unsafety and count the allocation for the underlying atomic bool directly (#3450)

v67.2.0

  • General
    • Updated to glean_parser v19.0.0 (#3421)
    • Add server knobs config to ping_info (#3396)
    • Fix test_get_value on labeled_ metrics to ask the db for the list of labels (bug 2028892)

v67.1.0

  • General
    • Remove support for generating metric testing coverage (#3397)
    • Fix log pipe corruption on Windows (#3413)

Read the original on github.com ↗