Skip to content

Numlex 4.9.4

Choose a tag to compare

@Qulierm Qulierm released this 19 Sep 19:21
· 31 commits to main since this release

Numlex 4.9.4

Linked-answer conversions are now complete and strict. Every spelling the
reference documents works, each conversion class reports the same result as
the equivalent typed line, and a linked answer's own unit is never quietly
reinterpreted.

This is a patch release on top of 4.9.3; the notebook itself is unchanged.

New in this release

Linked conversions cover every documented spelling

A linked answer (<answer token>) is a live quantity. It now converts through
the same engine as a typed line in all of these forms:

4673 mg
 to kg              → 0.004673 kg    (the token inherits its own unit)

4673 mg
 in kg              → 0.004673 kg    (in and to are identical)

4673
 mg to kg           → 0.004673 kg    (a unitless answer names its source)

4673 mg
 mg to kg           → 0.004673 kg    (the source unit repeated explicitly)

The last two forms are new since 4.9.3: a unitless answer can now name its
source unit explicitly, and a unit-bearing answer may repeat that same unit
without breaking the conversion.

The inch ambiguity is resolved

in is both the inch unit and a conversion keyword. An answer in inches
followed by the in keyword now converts instead of failing:

3 in
 in cm              → 7.62 cm
 in in              → 3 in
 to cm              → 7.62 cm

The same applies to the uppercase and extra-whitespace spellings
(IN cm, in cm). A typed line like 3 in to cm was already unambiguous
and is unchanged.

Aliases are accepted, conflicts are reported

  • A repeated source unit that names the same unit through an alias agrees and
    converts: 3 inch with <token> inch to cm gives 7.62 cm.
  • Two known but different units are the documented Incompatible units
    error — a listed unit is never silently re-based onto another. That includes
    another temperature scale (C° versus F°) and another currency code, so a
    C°-carrying answer commanded as <token> C° to K when it holds F°
    reports the conflict instead of converting.
  • An unknown unit label keeps the documented Unknown units error.

Unchanged

  • The plain installer image: exactly Numlex.app and an Applications
    shortcut on a plain, read-only disk image — no styled artwork.
  • Linked precision: the answer is substituted at full engine precision
    (max(decimalPlaces, 10)), not rounded for display.
  • Live references: a token still follows its source line, and editing the
    source changes the converted answer.
  • Token identity, storage and persistence: no new token kind, no new sidecar
    data and no store format change (StorePayload version remains 2).
  • The ordinary conversion grammar for typed lines, every conversion class, and
    the documented error classes.
  • total, total last N, subtotals, grand totals, tag aggregates and the
    footer Total.
  • Installed font family/face selection and the rest of the styling controls.
  • Export and printing behavior.

Updates

Secure in-app updates are unchanged: HTTPS-only feed, EdDSA-signed archives
verified before extraction, Sparkle 2.9.6. 4.8.0 was the first updater-enabled
release, so 4.8.x users receive 4.9.4 in the app and users on 4.7.0 or earlier
install this release manually once from the .dmg, then update in-app
afterwards. The published feed advertises this release at
https://numlex.tech/appcast.xml.

Privacy

Numlex is offline-first. Calculations, catalogs and exports are local; the app
sends no identifiers, no analytics and no usage data. Network access is limited
to background currency rates and the Open-Meteo weather/geocoding lookups that
explicit weather in … or geography lines request. The only request an update
makes is a plain GET of the version-pinned asset URL above, and only after you
accept an update. System profiling in the updater is disabled
(SUEnableSystemProfiling = false).

Installation

  • macOS 26 or later, Apple Silicon (arm64).
  • 4.9.4 is 10,755,419 bytes; SHA-256
    bc4f6a9a6cf38df2eb9f712c56922d113a52591655028a898f7dee5a45d1febf (also
    in SHA256SUMS on the release page: shasum -a 256 -c SHA256SUMS).
  • Download the .dmg from
    https://github.com/Qulierm/Numlex/releases/download/4.9.4/Numlex-4.9.4-macOS-arm64.dmg,
    open the plain, read-only disk image and drag Numlex.app into
    Applications.
  • The app is ad-hoc signed and not notarized (a deliberate choice for
    this project). On first launch, Control-click the app and choose Open,
    or allow it under System Settings → Privacy & Security → "Open Anyway".
  • Users on 4.8.x receive 4.9.4 in the app; users on 4.7.0 or earlier install
    this release manually once and update in-app afterwards.

Verification

The release image is validated by the repository's own gate before
publication: read-only UDZO disk image with exactly Numlex.app and an
Applications shortcut at the root, version and bundle id checks, arm64-only
executable, strict ad-hoc signature verification of the app and every nested
Sparkle component, Sparkle 2.9.6 policy (HTTPS feed, EdDSA public key,
verify-before-extraction, profiling off), all five offline catalogs present at
the standard location, and the packaged Assets.car matching the compiled
catalog. The packaged app is additionally copied outside the repository and
proven to load all five offline catalogs from the copy.

4.9.0 / 4.9.1 / 4.9.2 / 4.9.3 are untouched

Their GitHub releases, tags, notes and assets remain exactly as published;
nothing was replaced, edited or re-uploaded. 4.9.4 is a new, separate
release.