Skip to content

Releases

1.2.1

Choose a tag to compare

@github-actions github-actions released this 05 Nov 07:00
20c908d

Fixed

  • The core builds on Linux. UnitAngularVelocity, UnitDensity, UnitMassFlowRate and
    UnitVolumetricFlowRate provide the init(symbol:) that swift-corelibs-foundation requires of
    every Dimension subclass, and String(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

Choose a tag to compare

@github-actions github-actions released this 04 Oct 17:13
f147f29

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.doneButtonIdentifier names 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

Choose a tag to compare

@github-actions github-actions released this 15 Sep 03:06
0df57fb

Changed

  • MeasurementKitLocation, MeasurementKitUI and MeasurementKitDefaults are 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 — MeasurementKit and MeasurementKitUI, say — used to give
    the process two registrations of every class the core declares, and two registrations of
    UnitSlope are 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.