Skip to content

SoftN v0.0.24

Choose a tag to compare

@github-actions github-actions released this 18 Oct 13:07
· 391 commits to main since this release

SoftN v0.0.24

What's new

  • Upgrading from v0.0.23: the engine is ZIPP v0.0.27, a fix release; besides it, one fix to the Rust backend host's sync (the last entry). What logic can see of the engine is in the entry below: regular expressions that 0.0.26 refused or that crashed it now compile, very large functions compile, and subclassing %TypedArray% directly throws. A FormLogic that installs this release rebuilds its server sandbox from ZIPP v0.0.27; the archive's ZIPP trees have the same layout as v0.0.23's.
  • The engine is ZIPP v0.0.27 (it was v0.0.26), in the browser and in the Rust backend host: a fix release, and logic can see what it fixes. A regular expression of deeply nested quantified groups such as (?:(?:a|)+|)+ compiles in milliseconds, where on 0.0.26 a deep one crashed the browser engine until the page was reloaded (matching one can still run out of the regex budget, a RangeError). A regular expression may have any number of alternatives, where the browser engine refused more than 64 with a SyntaxError. A function of tens of thousands of statements compiles, where one of about 33,000 failed for needing more than 32,768 registers. Subclassing %TypedArray% directly throws the TypeError the language requires. Server logic on the Rust backend host runs faster: the host gives every call an abort flag, and the flag no longer sends every instruction down the slow metering path (ZIPP measured a loop about seven times slower with one). The module every app downloads is still 6.41 MB, 7.8 KB larger (1.59 MB with Brotli).
  • Rust backend host sync: an edit stamped in the same millisecond as a write the server made itself (a hook's db.update), after it, applies instead of being sent back as overtaken. Clients stamp edits to the millisecond and the server stamped its own writes to the nanosecond, so the edit lost on digits it could not write; the two are now compared to the millisecond.

Downloads

Download What it is Pick it when
softn-website-v0.0.24-zipp-v0.0.27.zip The complete softn.com website. The whole softn.com in one folder: the landing page, the app directory, the web runtime, Builder, Studio, the documentation and the directory API. You want to run your own SoftN site: a directory people can publish apps to and play them from.
softn-app-static-v0.0.24.zip One app on a page (static). The smallest way to host one SoftN app: a plain page with a loading spinner, a permission bar and your app, with no SoftN branding and no server code. You have a .softn app and a web host, and you want the app on a page of your own site.
softn-app-static-with-backend-linux-x64-v0.0.24.zip One app on a page, with an optional PHP server backend. The static single-app page above, plus a backend/ folder that lets the app run its own private server logic and SQLite database on an Apache/PHP host, with no service to keep running. Your app has a private server part (server/ logic, SQL migrations, routes) and your host is Apache with PHP on Linux x86-64.
softn-app-private-v0.0.24.zip One app served privately by PHP. The single-app page again, but PHP renders it and hands the app's files to the browser piece by piece behind a viewer cookie, so the .softn file itself is never at a URL. You do not want visitors (or crawlers) to be able to download your app as one file.
softn-app-private-with-backend-linux-x64-v0.0.24.zip One app served privately by PHP, with an optional server backend. The privately served page above together with the PHP server backend: three folders, webroot/, private/ and backend/. The app works at once without the backend; you enable the backend when the app needs it. You want the .softn file kept off every URL and the app has a private server part.
softn-formlogic-runtime-v0.0.24.zip The SoftN runtime for FormLogic. Everything FormLogic embeds from SoftN, already built: the sandboxed frame FormLogic runs an app in, Builder and Studio as editors inside FormLogic, the server-side runtime for native apps, and the starter adapter. FormLogic’s build downloads this from the latest SoftN release instead of building SoftN from source. You run FormLogic and its build cannot reach GitHub; download this and point SOFTN_RELEASE_ARCHIVE at it.

Each archive unzips with a README.md at the top that explains it; RELEASE-GUIDE.md below compares them all.

The backend download targets Linux x86-64 with Apache/PHP and process execution enabled. It is a generic, unconfigured distribution: install your own public and private app bundles and preserve existing configuration, keys and databases when upgrading. Native XDB synchronization remains a Rust-host feature.

The complete website archive's name carries the tag of the zipp engine inside it. It ships no
example apps: the directory starts empty, and .softn files dropped on any
page of the site publish into it — one, or a folder at once, with the admin
key from data/config.json lifting the hourly limit for the site owner. The
example apps are published as .softn downloads with every
softn-Examples release.
The desktop loader and builder are not attached to releases; they build from
this tag's manifests with npm run tauri build in their apps. RELEASE-GUIDE.md
below compares every download and says which one to take.

The single-app archive includes a small counter example; replace it with your own bundle. It has no app download controls, but browser-delivered app bytes remain extractable. Required license notices are included in all archives.

Built with ZIPP v0.0.27 (its javascript-python-base engine, javascript engine and torch package; the release SHA256SUMS has sha256 5f6b9053ef88660e0153fc731a7ff6e782be1df54b63aec0f8cb3d5c4fb89dd1).