2019-10-03 13:42:19 +03:00
# Unreleased changes
2020-02-11 19:45:51 +03:00
[Full changelog ](https://github.com/mozilla/glean/compare/v24.2.0...master )
2020-01-24 16:52:04 +03:00
* General:
* `ping_type` is not included in the `ping_info` any more ([#653](https://github.com/mozilla/glean/pull/653)), the pipeline takes the value from the submission URL.
2020-02-14 17:45:19 +03:00
* The version of `glean_parser` has been upgraded to 1.18.2:
* **Breaking Change (Java API)** Have the metrics names in Java match the names in Kotlin.
See [Bug 1588060 ](https://bugzilla.mozilla.org/show_bug.cgi?id=1588060 ).
* The reasons a ping are sent are now included in the generated markdown documentation.
2020-01-23 20:15:24 +03:00
* Android:
* The `Glean.initialize` method runs mostly off the main thread ([#672](https://github.com/mozilla/glean/pull/672)).
2020-02-12 16:12:01 +03:00
* iOS:
* The baseline ping will now include `reason` codes that indicate why it was
submitted. If an unclean shutdown is detected (e.g. due to force-close), this
ping will be sent at startup with `reason: dirty_startup` .
2020-02-12 19:04:24 +03:00
* Per [Bug 1614785 ](https://bugzilla.mozilla.org/show_bug.cgi?id=1614785 ), the
clearing of application lifetime metrics now occurs after the metrics ping is
sent in order to preserve values meant to be included in the startup metrics
ping.
2020-02-13 00:49:49 +03:00
* `initialize()` now performs most of its work in a background thread.
2020-02-13 17:21:35 +03:00
* Python:
* When the pre-init task queue overruns, this is now recorded in the metric
`glean.error.preinit_tasks_overflow` .
2020-02-13 22:55:41 +03:00
* glinter warnings are printed to `stderr` when loading `metrics.yaml` and
`pings.yaml` files.
2020-01-24 16:52:04 +03:00
2020-02-11 19:45:51 +03:00
# v24.2.0 (2020-02-11)
[Full changelog ](https://github.com/mozilla/glean/compare/v24.1.0...v24.2.0 )
2020-01-16 23:30:50 +03:00
2020-01-17 17:23:51 +03:00
* General:
* Add `locale` to `client_info` section.
* **Deprecation Warning** Since `locale` is now in the `client_info` section, the one
in the baseline ping ([`glean.baseline.locale`](https://github.com/mozilla/glean/blob/c261205d6e84d2ab39c50003a8ffc3bd2b763768/glean-core/metrics.yaml#L28-L42))
is redundant and will be removed by the end of the quarter.
2020-01-22 18:01:44 +03:00
* Drop the Glean handle and move state into glean-core ([#664](https://github.com/mozilla/glean/pull/664))
2020-02-11 18:10:10 +03:00
* If an experiment includes no `extra` fields, it will no longer include `{"extra": null}` in the JSON payload.
* Support for ping `reason` codes was added.
* The metrics ping will now include `reason` codes that indicate why it was
submitted.
* The version of `glean_parser` has been upgraded to 1.17.3
2020-01-21 16:24:12 +03:00
* Android:
* Collections performed before initialization (preinit tasks) are now dispatched off
the main thread during initialization.
2020-02-11 18:16:45 +03:00
* The baseline ping will now include `reason` codes that indicate why it was
submitted. If an unclean shutdown is detected (e.g. due to force-close), this
ping will be sent at startup with `reason: dirty_startup` .
2020-01-21 19:03:01 +03:00
* iOS:
* Collections performed before initialization (preinit tasks) are now dispatched off
the main thread and not awaited during initialization.
2020-01-21 23:55:11 +03:00
* Added recording of `glean.error.preinit_tasks_overflow` to report when
the preinit task queue overruns, leading to data loss. See [bug
1609734](https://bugzilla.mozilla.org/show_bug.cgi?id=1609734)
2020-01-17 17:23:51 +03:00
2020-01-16 23:30:50 +03:00
# v24.1.0 (2020-01-16)
[Full changelog ](https://github.com/mozilla/glean/compare/v24.0.0...v24.1.0 )
2020-01-14 17:22:59 +03:00
2020-01-17 19:37:30 +03:00
* General:
* Stopping a non started measurement in a timing distribution will now be reported
as an `invalid_state` error.
2020-01-16 22:31:58 +03:00
* Android:
* A new metric `glean.error.preinit_tasks_overflow` was added to report when
the preinit task queue overruns, leading to data loss. See [bug
1609482](https://bugzilla.mozilla.org/show_bug.cgi?id=1609482)
2020-01-14 17:22:59 +03:00
# v24.0.0 (2020-01-14)
[Full changelog ](https://github.com/mozilla/glean/compare/v23.0.1...v24.0.0 )
2020-01-08 16:49:12 +03:00
2020-01-08 21:45:15 +03:00
* General:
* **Breaking Change** An `enableUpload` parameter has been added to the `initialize()`
function. This removes the requirement to call `setUploadEnabled()` prior to calling
the `initialize()` function.
2020-01-08 18:20:29 +03:00
* Android:
* The metrics ping scheduler will now only send metrics pings while the
application is running. The application will no longer "wake up" at 4am
using the Work Manager.
2020-01-08 18:25:13 +03:00
* The code for migrating data from Glean SDK before version 19 was removed.
2020-01-13 13:49:14 +03:00
* When using the `GleanTestLocalServer` rule in instrumented tests, pings are
immediately flushed by the `WorkManager` and will reach the test endpoint as
soon as possible.
2020-01-08 18:34:23 +03:00
* Python:
* The Python bindings now support Python 3.5 - 3.7.
2020-01-09 19:43:13 +03:00
* The Python bindings are now distributed as a wheel on Linux, macOS and
Windows.
2020-01-08 18:20:29 +03:00
2020-01-08 16:49:12 +03:00
# v23.0.1 (2020-01-08)
[Full changelog ](https://github.com/mozilla/glean/compare/v23.0.0...v23.0.1 )
2020-01-07 17:37:32 +03:00
2020-01-08 00:58:03 +03:00
* Android:
* BUGFIX: The Glean Gradle plugin will now work if an app or library doesn't
have a metrics.yaml or pings.yaml file.
2020-01-08 16:49:12 +03:00
* iOS:
2020-01-13 13:37:51 +03:00
* The released iOS binaries are now built with Xcode 11.3.
2020-01-08 00:58:03 +03:00
2020-01-07 17:37:32 +03:00
# v23.0.0 (2020-01-07)
[Full changelog ](https://github.com/mozilla/glean/compare/v22.1.0...v23.0.0 )
2019-12-05 13:21:52 +03:00
2019-12-09 18:16:13 +03:00
* Python bindings:
2020-01-06 16:45:32 +03:00
* Support for events and UUID metrics was added.
2019-12-16 16:50:05 +03:00
* Android:
2019-12-11 19:02:47 +03:00
* The Glean Gradle Plugin correctly triggers docs and API updates when registry files
change, without requiring them to be deleted.
2020-01-07 18:23:57 +03:00
* `parseISOTimeString` has been made 4x faster. This had an impact on Glean
2019-12-19 20:53:32 +03:00
migration and initialization.
2019-12-23 12:45:48 +03:00
* Metrics with `lifetime: application` are now cleared when the application is started,
after startup Glean SDK pings are generated.
2019-12-16 16:50:05 +03:00
* All platforms:
* The public method `PingType.send()` (in all platforms) have been deprecated
and renamed to `PingType.submit()` .
* Rename `deletion_request` ping to `deletion-request` ping after glean_parser update
2020-01-07 17:37:32 +03:00
# v22.1.0 (2019-12-17)
[Full changelog ](https://github.com/mozilla/glean/compare/v22.0.0...v22.1.0 )
* Add `InvalidOverflow` error to `TimingDistribution` s ([#583](https://github.com/mozilla/glean/pull/583))
2019-12-09 18:16:13 +03:00
2019-12-05 13:21:52 +03:00
# v22.0.0 (2019-12-05)
2019-12-17 12:31:33 +03:00
[Full changelog ](https://github.com/mozilla/glean/compare/v21.3.0...v22.0.0 )
2019-12-05 13:21:52 +03:00
* Add option to defer ping lifetime metric persistence ([#530](https://github.com/mozilla/glean/pull/530))
* Add a crate for the nice control API ([#542](https://github.com/mozilla/glean/pull/542))
* Pending `deletion_request` pings are resent on start ([#545](https://github.com/mozilla/glean/pull/545))
2019-12-03 12:22:51 +03:00
# v21.3.0 (2019-12-03)
2019-12-17 12:31:33 +03:00
[Full changelog ](https://github.com/mozilla/glean/compare/v21.2.0...v21.3.0 )
2019-11-21 21:49:28 +03:00
2019-12-03 12:22:32 +03:00
* Timers are reset when disabled. That avoids recording timespans across disabled/enabled toggling ([#495](https://github.com/mozilla/glean/pull/495)).
* Add a new flag to pings: `send_if_empty` ([#528](https://github.com/mozilla/glean/pull/528))
2019-12-03 12:21:56 +03:00
* Upgrade `glean_parser` to v1.12.0
* Implement the deletion request ping in Glean ([#526](https://github.com/mozilla/glean/pull/526))
2019-11-28 13:23:18 +03:00
2019-11-21 21:49:28 +03:00
# v21.2.0 (2019-11-21)
2019-12-17 12:31:33 +03:00
[Full changelog ](https://github.com/mozilla/glean/compare/v21.1.1...v21.2.0 )
2019-11-20 20:40:44 +03:00
2019-11-21 11:24:48 +03:00
* All platforms
* The experiments API is no longer ignored before the Glean SDK initialized. Calls are
recorded and played back once the Glean SDK is initialized.
2019-11-21 21:45:23 +03:00
* String list items were being truncated to 20, rather than 50, bytes when using
`.set()` (rather than `.add()` ). This has been corrected, but it may result
in changes in the sent data if using string list items longer than 20 bytes.
2019-11-20 20:40:44 +03:00
# v21.1.1 (2019-11-20)
[Full changelog ](https://github.com/mozilla/glean/compare/v21.1.0...v21.1.1 )
2019-11-20 19:24:57 +03:00
2019-11-20 20:26:24 +03:00
* Android:
2019-11-28 13:23:18 +03:00
* Use the `LifecycleEventObserver` interface, rather than the `DefaultLifecycleObserver`
2019-11-20 20:26:24 +03:00
interface, since the latter isn't compatible with old SDK targets.
2019-11-20 19:24:57 +03:00
# v21.1.0 (2019-11-20)
[Full changelog ](https://github.com/mozilla/glean/compare/v21.0.0...v21.1.0 )
2019-11-11 17:31:49 +03:00
2019-11-20 19:02:22 +03:00
* Android:
* Two new metrics were added to investigate sending of metrics and baseline pings.
See [bug 1597980 ](https://bugzilla.mozilla.org/show_bug.cgi?id=1597980 ) for more information.
2019-11-20 19:24:57 +03:00
* Glean's two lifecycle observers were refactored to avoid the use of reflection.
* All platforms:
* Timespans will now not record an error if stopping after setting upload enabled to false.
2019-11-18 17:46:10 +03:00
# v21.0.0 (2019-11-18)
[Full changelog ](https://github.com/mozilla/glean/compare/v20.2.0...v21.0.0 )
* Android:
* The `GleanTimerId` can now be accessed in Java and is no longer a `typealias` .
* Fixed a bug where the metrics ping was getting scheduled twice on startup.
* All platforms
* Bumped `glean_parser` to version 1.11.0.
2019-11-13 14:00:26 +03:00
2019-11-11 18:16:32 +03:00
# v20.2.0 (2019-11-11)
2019-11-18 17:46:10 +03:00
[Full changelog ](https://github.com/mozilla/glean/compare/v20.1.0...v20.2.0 )
2019-11-11 18:16:32 +03:00
* In earlier 20.x.x releases, the version of glean-ffi was incorrectly built
against the wrong version of glean-core.
2019-11-11 17:31:49 +03:00
# v20.1.0 (2019-11-11)
[Full changelog ](https://github.com/mozilla/glean/compare/v20.0.0...v20.1.0 )
* The version of Glean is included in the Glean Gradle plugin.
2019-11-11 16:43:54 +03:00
2019-11-11 19:43:07 +03:00
* When constructing a ping, events are now sorted by their timestamp. In practice,
2019-11-20 19:24:57 +03:00
it rarely happens that event timestamps are unsorted to begin with, but this
2019-11-11 19:43:07 +03:00
guards against a potential race condition and incorrect usage of the lower-level
API.
2019-11-11 16:43:54 +03:00
# v20.0.0 (2019-11-11)
[Full changelog ](https://github.com/mozilla/glean/compare/v19.1.0...v20.0.0 )
* Glean users should now use a Gradle plugin rather than a Gradle script. (#421)
See [integrating with the build system docs ](https://mozilla.github.io/glean/book/user/adding-glean-to-your-project.html#integrating-with-the-build-system ) for more information.
2019-10-29 19:26:02 +03:00
2019-11-01 16:19:41 +03:00
* In Kotlin, metrics that can record errors now have a new testing method,
2019-11-11 16:43:54 +03:00
`testGetNumRecordedErrors` . (#401)
2019-11-01 16:19:41 +03:00
2019-10-29 19:26:02 +03:00
# v19.1.0 (2019-10-29)
[Full changelog ](https://github.com/mozilla/glean/compare/v19.0.0...v19.1.0 )
2019-10-21 15:40:13 +03:00
2019-10-24 16:20:47 +03:00
* Fixed a crash calling `start` on a timing distribution metric before Glean is initialized.
2019-10-24 16:45:41 +03:00
Timings are always measured, but only recorded when upload is enabled ([#400](https://github.com/mozilla/glean/pull/400))
* BUGFIX: When the Debug Activity is used to log pings, each ping is now logged only once ([#407](https://github.com/mozilla/glean/pull/407))
2019-08-06 15:01:41 +03:00
* New `invalid state` error, used in timespan recording ([#230](https://github.com/mozilla/glean/pull/230))
2020-01-07 18:23:57 +03:00
* Add an Android crash instrumentation walk-through ([#399](https://github.com/mozilla/glean/pull/399))
* Fix crashing bug by avoiding assert-printing in LMDB ([#422](https://github.com/mozilla/glean/pull/422))
2019-10-29 19:26:02 +03:00
* Upgrade dependencies, including rkv ([#416](https://github.com/mozilla/glean/pull/416))
2019-10-24 16:20:47 +03:00
2019-10-21 15:40:13 +03:00
# v19.0.0 (2019-10-22)
[Full changelog ](https://github.com/mozilla/glean/compare/v0.0.1-TESTING6...v19.0.0 )
First stable release of Glean in Rust (aka glean-core).
This is a major milestone in using a cross-platform implementation of Glean on the Android platform.
2020-01-07 18:23:57 +03:00
* Fix round-tripping of timezone offsets in dates ([#392](https://github.com/mozilla/glean/pull/392))
2019-10-21 15:40:13 +03:00
* Handle dynamic labels in coroutine tasks ([#394](https://github.com/mozilla/glean/pull/384))
2019-10-18 17:30:17 +03:00
# v0.0.1-TESTING6 (2019-10-18)
[Full changelog ](https://github.com/mozilla/glean/compare/v0.0.1-TESTING5...v0.0.1-TESTING6 )
* Ignore dynamically stored labels if Glean is not initialized ([#374](https://github.com/mozilla/glean/pull/374))
* Make sure ProGuard doesn't remove Glean classes from the app ([#380](https://github.com/mozilla/glean/pull/380))
* Keep track of pings in all modes ([#378](https://github.com/mozilla/glean/pull/378))
2020-01-07 18:23:57 +03:00
* Add `jnaTest` dependencies to the `forUnitTest` JAR ([#382](https://github.com/mozilla/glean/pull/382))
2019-10-18 17:30:17 +03:00
# v0.0.1-TESTING5 (2019-10-10)
[Full changelog ](https://github.com/mozilla/glean/compare/v0.0.1-TESTING4...v0.0.1-TESTING5 )
* Upgrade to NDK r20 ([#365](https://github.com/mozilla/glean/pull/365))
2019-10-09 12:59:09 +03:00
# v0.0.1-TESTING4 (2019-10-09)
[Full changelog ](https://github.com/mozilla/glean/compare/v0.0.1-TESTING3...v0.0.1-TESTING4 )
* Take DST into account when converting a calendar into its items ([#359](https://github.com/mozilla/glean/pull/359))
* Include a macOS library in the `forUnitTests` builds ([#358](https://github.com/mozilla/glean/pull/358))
* Keep track of all registered pings in test mode ([#363](https://github.com/mozilla/glean/pull/363))
2019-10-08 21:58:32 +03:00
# v0.0.1-TESTING3 (2019-10-08)
2019-10-09 12:59:09 +03:00
[Full changelog ](https://github.com/mozilla/glean/compare/v0.0.1-TESTING2...v0.0.1-TESTING3 )
2020-01-07 18:23:57 +03:00
* Allow configuration of Glean through the `GleanTestRule`
2019-10-09 12:59:09 +03:00
* Bump `glean_parser` version to 1.9.2
# v0.0.1-TESTING2 (2019-10-07)
[Full changelog ](https://github.com/mozilla/glean/compare/v0.0.1-TESTING1...v0.0.1-TESTING2 )
* Include a Windows library in the `forUnitTests` builds
2019-10-03 13:42:19 +03:00
# v0.0.1-TESTING1 (2019-10-02)
[Full changelog ](https://github.com/mozilla/glean/compare/95b6bcc03616c8d7c3e3e64e99ee9953aa06a474...v0.0.1-TESTING1 )
### General
First testing release.