v0.7.3
Long-term memory works in a released build. It did not, in any of them — not in 0.7.2, not in 0.7.1, not in anything published before.
What was broken
Saving a message to memory failed with Couldn't save to memory. So did everything else that has to turn text into a vector: semantic retrieval over past conversations, automatic fact extraction, and the memory-aware pipeline nodes. If you tried it once, saw the error and moved on, that was this.
Only release builds were affected. The optimiser that runs on a release build — and only there — makes a class abstract when it can see nothing creating an instance of it. The library that parses the on-device embedding model's configuration never creates instances in a way the optimiser can see; it allocates them directly. So the ability to instantiate was removed from exactly the classes that get instantiated, and the embedder failed on its first call.
Nothing was lost or corrupted, and nothing needs to be reset. Saving simply refused to happen. It happens now.
Why it took this long to find
Four ordinary decisions lined up badly. Development and testing happen in debug builds, where that optimiser does not run. The failure is an ordinary exception that the app catches and shows as a small message, so it never became a crash report. A release build sends nothing to the system log, so reproducing it on a phone still produced an empty log. And the automated checks run on the JVM — they never execute the optimised app.
It was found by building a release-optimised copy that logs, installed alongside the normal app.
What stops it coming back
The build now inspects the packaged app itself and fails if a class that gets instantiated indirectly has been made abstract or removed. The previous check looked at whether such classes kept their names — which they had, which is why it stayed green while the app was broken. Both previously published versions fail the new check; that was confirmed against their APKs before it was trusted.
Upgrading
Same signing key as 0.7.0 through 0.7.2, so this updates in place. Coming from 0.6.0 or earlier still needs an uninstall first.
Which file
knotwork-0.7.3-full-release.apk— the normal build, for sideloading.knotwork-0.7.3-foss-release.apk— no Google or Firebase dependency anywhere in the graph, and no crash reporting.knotwork-0.7.3-full-release.aab— store upload format; not installable directly.
Checksums are in SHA256SUMS.txt. Requires Android 16 (API 36) and roughly 2 GB of free RAM for the model.
Full detail: the 0.7.3 section of the changelog.