Skip to content

Changelog

What has changed.

Squill has not had a release yet. Changes land in the repository first.

All notable changes to Squill are recorded here. The format follows Keep a Changelog, and versions will follow Semantic Versioning once there is a release.

Squill has not been released yet. Everything below is in the development tree and has not shipped to the App Store or TestFlight.

[Unreleased]

Not yet built: wiring sync into the apps, the JSON Canvas interface, reflowing margin ink, thinking replay, talk mode, note branches in the interface, sealed notes (the timestamp proof format is in progress), the share extension, widgets, App Intents, DOCX export and Apple Notes import.

Added

Foundations

  • One Swift package with Foundation-only core modules that build and test on macOS and Linux, and Apple-only modules for the interface, ink and iCloud.
  • Every product name and identifier generated from a single brand file, so the product can be renamed in one place; per-developer signing settings kept out of the repository.
  • Squill Vault Format 0.1.0 (draft): a specification of the on-disk format, with JSON Schemas and conformance fixtures, under CC BY 4.0.
  • Continuous integration for macOS, Linux and the website, with lint, a dependency license audit, generated third-party notices, an SBOM, secret scanning and a pre-publish audit.

Vault and Markdown

  • Vaults as plain folders: confined, symlink-safe file access; atomic, crash-safe writes that never rewrite unchanged bytes; local snapshots of earlier versions with restore; Squill's own trash.
  • A lossless, incremental Markdown parser: parsing and saving without edits reproduces the file byte for byte. Wikilinks, embeds, block ids, nested tags, callouts, claim callouts, highlights, comments, footnotes, math and citations.
  • Frontmatter editing that changes only the edited property's lines; YAML parsing with size, depth and alias limits.
  • Link resolution, backlinks, unlinked mentions with one-step linking, and rename with link update (previewed, atomic, undoable).
  • Daily notes, templates, note merge and split, bookmarks and recents.
  • Zip export and a streaming, zip-slip-safe zip import; Markdown folder and PDF import.

Editor

  • A native TextKit 2 editor for iPhone, iPad and Mac with live preview, Source and Reading modes, smart pairs, list continuation, slash commands, autocomplete for links, headings, blocks, tags and citations, a table editor, a typed properties panel, LaTeX math with a symbol palette, sandboxed Mermaid diagrams and syntax highlighting for 13 languages. Measured keystroke-to-render p95 of 5.7 ms (debug) on a 20,000-word note on a Mac.

Ink and paper

  • Inline ink blocks that live in the text flow and degrade to an SVG image in other tools.
  • Paper notes with twelve templates, page sizes and page management; PDF annotation with highlight snapping and quote extraction; whiteboard photos turned into editable strokes.
  • Deterministic SVG previews, an open ink JSON format that round-trips byte for byte, and vector PDF, PNG and SVG export.
  • Handwriting recognition feeding search, lasso actions (convert in place, revertible), ink gestures and shape snapping, and Apple Pencil squeeze, double-tap and hover handling. Not yet checked on a physical iPad.

Search

  • A rebuildable SQLite full-text index with a search query language (tags, properties, paths, phrases, bounded regular expressions, line and section scopes), saved searches, a tag tree, claims and citations, graph data and a database-style views engine with formulas. Measured search p95 of 33–36 ms on 10,000 notes.

Sync (engine)

  • Per-note CRDT replicas (Loro), a stroke-set CRDT for ink, per-entry merging for canvases and margin anchor maps, and attachment versions that keep every concurrent copy.
  • End-to-end sealing of every sync payload with a per-vault key, independent of iCloud's Advanced Data Protection setting.
  • An iCloud transport on CKSyncEngine and a shared-folder transport, with quarantine for malformed data, version history, compaction, two-phase garbage collection, device retirement and "re-upload from this device" recovery.
  • A deterministic convergence simulator: thousands of randomized multi-device runs with injected corruption, all converging.

Research

  • arXiv, Crossref and OpenAlex clients behind the network gate; a lossless BibTeX parser, CSL JSON, citation keys, author-year and numeric bibliographies; literature notes; PDF metadata; paper watch for new versions and retractions; a daily paper feed.

AI (opt-in)

  • Apple on-device models, OpenAI-compatible servers (including one on your own computer) and Anthropic.
  • A per-folder allowlist, redaction, a preview of exactly what would be sent, single-use confirmation, and a hash-chained audit log without content. No tools are ever sent to a model, and results are proposals.
  • On-device semantic search, related notes and link suggestions, including handwriting text; summaries, claim extraction, ask-my-vault with checked citations, devil's advocate, flashcards and handwriting cleanup.

Agents and command line

  • The squill command-line tool: search, validate, reindex, export (HTML, Markdown zip, and PDF with vector ink on macOS), rename with link updates, and the agent inbox.
  • A local MCP server over stdio or a Unix-domain socket with token authentication, per-folder grants, rate limits and a hash-chained audit log. Agents can only propose edits, which a person accepts or rejects hunk by hunk.

Privacy and security

  • A single network gate for all app traffic: every feature off by default, per-feature host allowlists, HTTPS only, size and time limits, and a network activity log that records hosts and paths but never query values or bodies.
  • A threat model, a security policy with private reporting, and fuzzing of the parsers and decoders.

Apps and website

  • The shared SwiftUI app shell for iPhone, iPad and Mac (in progress): vaults, file explorer, tabs and panes, quick switcher, command palette, search, graph view, inspector, settings, vault lock, AI previews and proposal review.
  • The Haulout design system: five palettes checked for contrast, self-hosted open-licensed fonts, the Ink Bloom and the squid mark.
  • The website: Home, Features, Privacy, Open source and Changelog pages, a static export with no trackers.