v50.0.0
This release is a major refactoring of the internals and contains several breaking changes to exposed APIs.
Exposed functionality should be unaffected.
See below for details.
- General
- Switch to UniFFI-defined and -generated APIs for all 3 foreign-language SDKs
- The task dispatcher has been moved to Rust for all foreign-language SDKs
- Updated to
glean_parser
v6.0.0
- Swift
testGetValue
on all metric types now returnsnil
when no data is recorded instead of throwing an exception.testGetValue
on metrics with more complex data now return new objects for inspection.
See the respective documentation for details.testHasValue
on all metric types is deprecated.
It is currently still available as extension methods.
UsetestGetValue
with not-null checks.
- Kotlin
testGetValue
on all metric types now returnsnull
when no data is recorded instead of throwing an exception.testGetValue
on metrics with more complex data now return new objects for inspection.
See the respective documentation for details.testHasValue
on all metric types is deprecated.
It is currently still available as extension methods and thus require an additional import. UsetestGetValue
with not-null checks.- On
TimingDistributionMetric
,CustomDistributionMetric
,MemoryDistributionMetric
theaccumulateSamples
method now takes aList<Long>
instead ofLongArray
.
UselistOf
instead oflongArrayOf
or call.toList
TimingDistributionMetricType.start
now always returns a validTimerId
,TimingDistributionMetricType.stopAndAccumulate
always requires aTimerId
.- Python
test_get_value
on all metric types now returnsNone
when no data is recorded instead of throwing an exception.test_has_value
on all metric types was removed.
Usetest_get_value
with not-null checks.