Repository navigation
Releases
Releases · RISCfuture/MeasurementKit
1.2.1
Fixed
- The core builds on Linux.
UnitAngularVelocity,UnitDensity,UnitMassFlowRateand
UnitVolumetricFlowRateprovide theinit(symbol:)that swift-corelibs-foundation requires of
everyDimensionsubclass, andString(localized:)resolves to its English key there, as
open-source Foundation has no string catalogs. CI now builds and tests the core in a Linux
container.
1.2.0
Added
- A numeric field raises a Done button in the bar above its keyboard while it
is being edited. The number and decimal pads have no Return key, so a field
raising one could otherwise only be left by tapping elsewhere or scrolling.
It is a plain button, drawn in clear glass; only the focused field offers it.
Its "Done" label is looked up in the app's own string catalog, like the labels
an app passes its fields.NumericKeypad.doneButtonIdentifiernames it for UI
tests.
Changed
- The README carries an Embedding section: which products an Xcode target must
embed, the transitive case where a target embeds a framework of its own that
links one, why the core must not be added by hand, and the dyld text the
failure produces, so a search for that text lands somewhere useful. The 1.1.0
entry has been corrected in place — it said consumers building through Xcode
need do nothing, which is the opposite of true for any app linking these
products, and is what made the breakage expensive to find.
Security
- Strict memory safety (SE-0458) is enabled across every target, all of which
were already clean under it.
1.1.0
Changed
MeasurementKitLocation,MeasurementKitUIandMeasurementKitDefaultsare dynamic library
products, so each links the core rather than absorbing a copy of it. Consumers that build
through Xcode need do nothing; a SwiftPM executable linking one of them now has a dynamic
library to find at run time.
Fixed
- A unit class is registered once per process rather than once per product linked. Linking two
products that build on the core —MeasurementKitandMeasurementKitUI, say — used to give
the process two registrations of every class the core declares, and two registrations of
UnitSlopeare two distinct classes to the Objective-C runtime. Comparing a measurement made
against one with a measurement made against the other trapped in Foundation with "Attempt to
compare measurements with non-equal dimensions" instead of converting.