-
beta-0.910 Pre-release
released this
2026-05-25 11:57:51 +02:00 | 41 commits to main since this releaseRelease notes for beta-0.910
This release covers the changes after
beta-0.902, up to commit
0f7e7b4b.Features
- Added optional IPFS-backed media distribution. Local storage remains
authoritative, while public local media can also be added to a configured Kubo
node and exposed with the Aktor-specificAKT_IPFS_CIDURL hint. - Added remote IPFS media import for federated Aktor instances. When an incoming
attachment URL containsAKT_IPFS_CID, Aktor can fetch the bytes through its
configured Kubo API, validate them through the normal media pipeline, store
them locally, and then serve the attachment from the local fileserver. - Introduced a modular remote media hint layer so IPFS is only the first backend
implementation. The same structure can later support other content-addressed
or remote distribution systems such as torrent-style hashes or Syncthing-like
backends. - Added generic remote media hint metadata to attachment storage while retaining
compatibility with the IPFS-specific fields used by this release. - Added explicit IPFS runtime observability. When IPFS mode is configured,
startup logs now report Kubo RPC probe success or failure, and each local
media processing job logs whether it was added to IPFS and which CID was
produced. - Added plain-text editor surfaces for post composition and administrative text
fields, including terms and conditions, instance description, and profile bio
editing. These editors preserve plain text, newlines, and blank lines without
converting user text into HTML. - Added EAL5+-style function and test preambles across several Go source
batches, documenting function purpose, preconditions, postconditions,
invariants, and test assertions to make the inherited GoToSocial code easier
to audit and maintain.
Fixes
- Fixed local follow lookup for newly approved local accounts by accepting local
account handles in the follow lookup path. This keeps local follows from
failing with a spurious404when the target account exists locally. - Tightened signup approval so approval notifications and admin approval flow
are gated on email confirmation. Unconfirmed accounts remain pending and can be
cleaned up by the inactive-account cleanup task instead of becoming approved
users too early. - Improved public profile rendering so long post bodies are constrained by their
frame instead of overflowing the containing layout. - Improved public-page color contrast, including cases where red text on blue,
white text on white, or similarly low-contrast combinations made public pages
and blocked-server pages hard to read. - Unified Settings people-list rendering to avoid inconsistent account/admin
list behavior between panels. - Rejected malicious remote media hints whose CID bytes do not validate as
supported media. A URL that looks like an image but resolves to non-media or
executable-like bytes now fails the normal media processing path instead of
becoming a usable local attachment.
Documentation
- Documented the IPFS/Kubo deployment model in
IPFS.md, including a ready to
use Docker Compose example, required Aktor environment variables, Kubo ports,
and which ports must remain private. - Documented the IPFS federation behavior:
AKT_IPFS_CIDis a fetch hint only;
after a successful remote fetch, the receiving Aktor instance stores and
serves the media locally. - Documented the IPFS privacy/performance tradeoff. IPFS can behave like a
distributed CDN for public media while reducing repeated origin-server
downloads, but it is not anonymity; IPFS logs may reveal interest in a CID at
the node/network level without reliably identifying the final user or the
original publisher. - Updated
INSTALL.mdandIPFS.mdwith the optional IPFS media mode, remote
media hint configuration, local-storage authority model, and greppableIPFS:
operational log markers.
Tests and quality
- Added IPFS media contract smoke coverage for the happy path and failure path.
- Added regression coverage for non-media bytes fetched through a remote media
hint. - Added an end-to-end IPFS runtime smoke test that starts a real Kubo container,
uploads media through Aktor, creates a public post, verifies that the
serialized media URL containsAKT_IPFS_CID, and verifies that the server logs
contain theIPFS:startup/add markers. - Re-ran the full smoke suite during the IPFS implementation work and verified
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- Added optional IPFS-backed media distribution. Local storage remains