Numlex 4.9.0
Numlex 4.9.0
This is the largest Numlex release yet: a one-time welcome, a complete date and
time suite, finance calculations, PDF export and printing, and a plain-text
structure for tags, subtotals and statistics. Everything stays local, strict and
offline where the data allows it.
First launch
- A genuinely new install opens on a one-time native calculation bloom: ten
real calculations in the app's own editor palette gather around the app icon,
settle into the official slogan, and end with a single Get Started button. - With Reduce Motion the final screen is shown immediately, with no staged
animation, and the notebook is usable right away. - Existing installs are never re-onboarded: any prior store, rate cache, weather
cache or location cache counts as an existing install, so upgrades go straight
to the notebook. - The welcome sequence runs once per install. It is not a re-runnable feature.
Dates and times
- Calendar arithmetic on plain month names, with
today/tomorrow/
yesterdayand compound periods such asMarch 12 + 3 weeks 2 days. - Compound duration literals (
1 h 45 min,1 day 2 hours 30 min), natural
duration display, and duration-aware section and footer totals. - Clock arithmetic and laptime:
3:30pm + 2 hours 15 minutes,
7:30am to 8:45pm,3:30pm as laptime. - Timezones on a bundled, hash-verified offline catalog:
time in Paris,
2am PST to GMT,6pm Sydney in Chicago, time differences, plus custom
aliases under Settings → Dates & Times. - Timestamps and ISO 8601 in both directions, including the documented
millisecond threshold and strict errors for invalid or DST-gap values. Timespannotation for time-dimension results, globally, per answer, or with
an explicitas timespan.- Video timecode and frames:
03:10:20:05 at 30 fps + 50 frames,
30 fps × 3 minutes,15.6k frames / 24 fps. - Work calendars: workday and business-day queries, hours per workday, and
public-holiday data for 25 countries from 2019 to 2035, bundled offline and
failing closed outside its coverage. - Special dates: Easter (Gregorian computus), Christmas, and
days until ….
Units and wording
- Spelled
perrates, derived units, safe speed aliases, and a source-aware
mstarget, so unit phrases read naturally without changing existing forms.
Money and finance
- Compound interest and investment phrases, ROI, annualized ROI / CAGR, and
present value. - Loans and mortgages: payment, principal, interest and total paid, with the
documented average-per-period convention. - Configured sales tax / VAT / GST from versioned, hash-verified presets, with
the documented "unset vs manual 0%" distinction for the United States. - Estimated 2026 income tax for ten countries (US, GB, AU, CA, DE, FR, NL, IN,
RU, JP) from official 2026 schedules. These are coarse national estimates for
a single individual — not tax advice — and the app documents each table's
approximations and excludes state/provincial taxes, credits and contributions. - BLS CPI-U inflation: continuous 1913–2025 annual data plus a provisional 2026
point and an explicit-rate future form, all offline and versioned. - Currency operands keep the existing strict money rules; a missing rate pair is
always the explicit "Rates unavailable" state.
Tags, subtotals and statistics
- A trailing
#tagmarks rows fortotal of #tag,average of #tag,
count of #tagandmedian of #tag. - An exact
---divider starts a new section;subtotal(optionally with a
percentage or a name) sums the current section, andgrand totalsums the
successful subtotals — a failed or overflowed subtotal never counts. - Add Subtotal (
⌘T) and Add Grand Total (⌘⇧T) insert commands into a
blank or strict empty-assignment line; double-clicking an empty answer row does
the same; Convert to Normal Line turns a subtotal row into a plain number. - New functions:
count,median, samplestdev(n−1) andrand, alongside
the natural formsmedian of …,count of …,standard deviation of …and
random number between X and Y. randis execution-aware dynamic: stable within its epoch, rerolled by a
semantic edit or Recalculate Dynamic Values (⌘R), copyable but never
tokenizable and never part of the Previous Answer chain. PDF export freezes
the current epoch.
Footer Total
- Right-click the floating Total to choose Sum, Average, Count or
Median; the choice is app-global and persisted, and derived aggregate rows
never contribute. - The Total bubble hides its label and gap when width is tight while the footer
geometry stays stable.
PDF export and printing
- File → Export Sheet as PDF… and File → Print… (
⌘P) render one
immutable snapshot of the evaluated sheet through one deterministic paginated
renderer — the live editor, caret, selection, highlights and tokens are never
touched. - Session-only options: font family, face and size; syntax highlighting; the
original source line numbers; the footer Total; hiding//comments and
leading#markers; and an inclusive line range. - Answer tokens keep their real capsule labels, highlights are preserved, rows
wrap safely, and the exported footer uses the current footer statistic over
the exported rows only. - Writes are atomic, an empty range disables the action with an explanation, and
the whole path is fully offline.
Functions
- The shared registry now has 27 built-in functions, including the new
count,median,stdev(sample) andrand, with the same strict call,
arity and domain rules as before.
Updates
Secure in-app updates are unchanged: HTTPS-only feed, EdDSA-signed archives
verified before extraction, Sparkle 2.9.6, and the automatic-check preference
owned by Sparkle itself. 4.8.0 was the first updater-enabled release, so 4.8.x
users receive 4.9.0 in the app; users on 4.7.0 or earlier install this release
manually once from the .dmg and update in-app afterwards.
Privacy
Numlex is local-first. Sheets and settings stay in
~/Library/Application Support/Numlex; the timezone, holiday, sales-tax,
income-tax and CPI datasets are bundled, versioned and hash-verified; PDF export,
printing and (where possible) every calculation work offline. The network surface
remains the explicit allowlist: the hourly currency-rate refresh, weather in …
lookups you type, and place lookups for geography lines. No analytics, no GPS and
no cloud sync.
Installation
- macOS 26 or later, Apple Silicon (arm64).
- Download
Numlex-4.9.0-macOS-arm64.dmg, open it 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". - Verify the download:
shasum -a 256 -c SHA256SUMSand compare against the release page.