Skip to content

NOTO v1.3.0

Choose a tag to compare

@github-actions github-actions released this 31 Aug 09:59
· 94 commits to main since this release

Noto is a whole application rather than an editor with a sidebar, Android runs
that same application instead of an imitation of it, and Noto now tells you
when there is a newer version rather than leaving you to check.

The application

Noto had one screen, reached by opening it. It now has the seven the product is
made of — Home, Workspace, Documents, Noto Memory, Search, Settings, and
Account & Devices — under one shell with a persistent sidebar and a global
header.

Everything else deliberately stays out of the navigation. Quick Note, Quick
Paste, the command palette, shortcuts, import, export, version history and the
assistant are overlays over whichever screen is open, because a floating note
that took the workspace away from you would not be a quick note. Quick Notes and
Clipboard History are Memory with a type already chosen rather than screens of
their own; three places listing captured items would be three sets of filters to
keep in step.

What is real is real, and what is not says so. Templates, import and export,
Trash with restore and permanent delete, pin, duplicate, archive, and search
across documents and memory all work against local storage. Capture, the
assistant, version history and accounts have no service behind them yet, so they
render fully and say so rather than staging a result — a fabricated answer in a
notes application is a note you might later believe.

Every screen but Home is a chunk of its own, and the editor with it. The entry
bundle drops from 1,012 kB to 376 kB, so opening Noto costs the shell and the
greeting rather than the whole product. Routing is on the hash, because the
desktop application is this same bundle loaded from file://, where there is no
server to answer a deep link.

The workspace

The document and its toolbar are one white card filling the pane, rather than a
formatting bar floating above a second, narrower card. The page is one object
being written in, not chrome and a sheet.

The tab strip is drawn as soon as anything is open, including for a single
document — it is what says which document the pane belongs to. The toolbar keeps
what a writer reaches for while writing and moves the rest behind a More
formatting menu; zoom moves to the status bar beside the word count, being the
same kind of fact.

The panel beside the document is two cards now: a tabbed one holding the
outline, statistics, history and the assistant, and a Document Info card below
it for the facts that stay true whichever tab is open. The outline is a foldable
tree with its own search and depth filter, and it follows the reader down the
page.

Writing

Checklists were the one block type the toolbar named and the schema did not
have, so a Task List template had nowhere to put its boxes. They are there now,
on CmdOrCtrl+Shift+9 like every other formatting action.

Show Characters paints spaces, line breaks and block ends without touching the
document: the dot is painted over a space that is still a space, so selecting,
copying and exporting are unaffected by the setting. The markers are built once
when it is switched on and maintained incrementally, because rebuilding a
decoration for every space in a long document on each keystroke would be felt.

The editor pane has a scroll area of its own and remembers where each document
was left — coming back to a tab three pages down and being dropped at the title
is what makes tabs feel disposable.

Print is one render path: the same DOM the editor renders, with the application
stripped off it by a print stylesheet, so what comes out of the printer cannot
drift from what is on screen. Zoom is dropped for a size in points, a dark theme
prints black on white rather than as a page of toner, links print their address,
and headings, tables and images carry break rules.

Android

The phone runs the same Noto now. Android had its own smaller screens
because Tiptap and ProseMirror need a DOM, and a native React Native editor
could not load @noto/editor at all — so Android trailed every release by
however long it took to port a feature a second time, and 1.2.0 had to ship the
warning that editing a formatted document on the phone flattened it.

The Expo application is a shell around the interface instead. It packages the
@noto/ui build into the APK and serves it over a postMessage bridge to the
native SQLite connection — the same arrangement Electron has always used over
IPC, with a different pipe. Tabs, find and replace, history, formatting, the
seven screens and the workspace are therefore not ported to Android; they are
the same code running there. Documents stay on the device exactly as before.

Two things a WebView genuinely cannot do stay native and are reached across the
bridge: printing, and saving a file, which goes to the Android share sheet
rather than to a downloads folder a WebView has no access to.

Updates

Until now the only way to learn that a release had happened was to visit the
download page. The sidebar carries the version it is, a button when something is
waiting, and the release notes behind that.

Three steps are kept apart, because the platforms answer them differently.
Finding out is a question anyone can ask GitHub, and it is all the web
application can do. Fetching is Electron's alone. Applying is a restart on
desktop and a reload on the web — and neither happens uninvited. The default is
to say a version is ready and let you pick the moment, because an update that
replaces the application under someone mid-sentence has chosen badly on their
behalf.

Two settings own it: checking is on, and can be turned off, since it is the only
thing in Noto that reaches the network without being asked; installing without
asking is off. A build that cannot update itself — a Linux package, an unsigned
macOS build — says which and why, instead of offering a button that would do
nothing.

Upgrading

The desktop installer replaces 1.2.0 in place; Windows may keep the old shortcut
icon in its cache for a few minutes after the upgrade. On Android, install the
new APK over the existing one — the signing key is unchanged, and documents on
the device are untouched. This is the last release that has to be fetched by
hand: 1.3.0 and later can tell you themselves.

Known limitations

The desktop installers are unsigned, so Windows SmartScreen and macOS Gatekeeper
warn on first launch — verify your download against SHA256SUMS.txt. That also
means macOS cannot auto-update: Electron requires a signed build to replace
itself, so macOS reports updating as unsupported and links to the download page.
Windows ARM64 is installer-only. Linux updates through the AppImage or your
package manager, as before.

iOS is not published. Cloud sync is not enabled on any platform. Capture, the
assistant, version history and accounts are interface only.


Downloads

Windows

Package File
Installer (x64) Noto-1.3.0-win-x64.exe
Installer (ARM64) Noto-1.3.0-win-arm64.exe

macOS

Package File
Disk image (Apple Silicon) Noto-1.3.0-mac-arm64.dmg
Disk image (Intel) Noto-1.3.0-mac-x64.dmg
Archive (Apple Silicon) Noto-1.3.0-mac-arm64.zip
Archive (Intel) Noto-1.3.0-mac-x64.zip

Linux

Package File
AppImage (x64) Noto-1.3.0-linux-x64.AppImage
Debian package (x64) Noto-1.3.0-linux-x64.deb
RPM package (x64) Noto-1.3.0-linux-x64.rpm

Android

Package File
APK (64-bit) Noto-1.3.0-android.apk
APK (32-bit) Noto-1.3.0-android-armeabi-v7a.apk
App bundle (Play Store) Noto-1.3.0-android.aab

The web application needs no download and is always at the latest version.


Verifying a download

Checksums for every asset are published as SHA256SUMS.txt.

sha256sum --check --ignore-missing SHA256SUMS.txt

Updating

Windows and macOS installations update themselves: Noto checks for a new version on startup, downloads it in the background, and applies it on the next restart.

On Linux, replace the AppImage or install the new .deb/.rpm through your package manager.


System requirements

Platform Requirements
Windows Windows 10 or later, x64 or ARM64, 4 GB RAM, 500 MB storage
macOS A supported modern macOS version, Apple Silicon or Intel, 4 GB RAM, 500 MB storage
Linux x64, 4 GB RAM, 500 MB storage
Web A current version of Chrome, Edge, Firefox or Safari

Full details: System requirements

Full Changelog: v1.2.0...v1.3.0