Repository navigation
v0.41.0
Do not install v0.41.0 — use v0.41.1. v0.41.0 refuses every module built against ABI 1.13 or older that declares a root link (
MissingMethodExceptionat module load): its ABI 1.14 change removed a constructor from the binary. On an installation whose encryption mode needs the Encryption Module, the API then refuses to start. v0.41.1 restores the constructor.
Highlights
- Module ABI 1.14: a module can advertise a protocol endpoint to every caller. A root link marked installation-wide appears on the API root for anyone, anonymous included, while the module is loaded. A client that holds only a module credential, such as a release pipeline with an app's push key, can therefore find the endpoint by following a link. A module's upload offer now also carries its filing request as a
commitlink. Module authors: build againstSimplArchive.ModuleAbi1.14; a 1.13 module is unaffected. - A file-less record is listed as a document, not a folder. Every listing row now says
isFolder, from its mask, and the web and desktop clients follow it instead of inferring "folder" from "has no file". A push key, a credential or a customer record therefore opens with its index data. Before, it opened as an empty folder, and the desktop kept reloading it until a real folder was opened. - One folder order for every client. Folders come first and alphabetical, then documents in the folder's stored sort order. The desktop and the web each had their own copy of the rule; the mobile app now uses the same one.
- More of the shared API client for the mobile app: the intray, annotations, deep links, check-out, legal holds, repository export, the structured editors and
whoami.
Fixes
- Strict-tier reads on the kiosk work again. Since v0.39.0, the encryption service could not resolve the storage address on the stack's own network, so every read through it answered 503.
- The local time zone is the picker's canonical name, not an alias the host reports (for example
Atlantic/Jan_Mayenfor Berlin).
saconsole
Update with dotnet tool update --global HebelConsulting.SimplArchive.Cli.
module upload --rel <rel> <file>uploads a file to a module's upload rel with a module credential, taken from--key-fileorSA_MODULE_KEYand never from the command line. The first use is pushing an Android app to the app repository (--rel licensing:app-push, with the Licensing Module release that advertises it).
Upgrading
- No database migrations in this release.
- Rebuild the search index so that existing documents carry the new folder flag: as a platform administrator, POST to the root's
searchReindexrel. It rebuilds in the background and swaps the index when done; the same address reports its progress. Until then, a file-less record found by search still reads as a folder. - An unfinished upload that wears a document mask now lists as a document, not as a folder.
- macOS: this release's
.dmgis again NOT notarized. It is signed with the Developer ID, but the notarization service has still not been enabled for our developer account, so Gatekeeper asks once on first open, as for v0.38.0 to v0.40.0. - Upgrading from before v0.37.0? Read the v0.37.0 notes first. From before v0.36.0, also read the v0.36.0 notes.
Every change in this release
- feat(modules): pin the Licensing Module 0.4.0
- feat(apiclient): the shared sign-in, server check, server rules and languages, for the mobile app
- fix(presentation): the local zone is the picker's canonical id, not an alias the host reports
- feat(apiclient): the server check says why; shared references and state texts for the phone
- feat(apiclient): shared S/MIME envelope steps and preview kinds, for the phone's slice 3
- fix(kiosk): the storage alias resolves on the stack's own network, so strict reads work again
- feat(modules): ABI 1.14, installation-wide root rels and saconsole module upload
- refactor(apiclient): intray and annotations in the shared library; one folder-contents order for every client
- docs(manual): chats are never encrypted
- fix: a file-less record is a document, not a folder — rows say isFolder from the mask
- refactor(apiclient): DeepLinks moves into the shared library; the phone's upload strings
- docs(release): a release that bumps the module ABI goes out before the modules built on it
Full Changelog: v0.40.0...main