v0.0.1-pre.1: Second alpha pre-release
Pre-releaseThis release doesn't have too many new features (sorry, I've been a bit busy the last few weeks) and mostly changes the internals and fixes bugs.
Onto a third (hopefully more featureful) release! 🎉
Feel free to join our Matrix room to chat. We also hold votes there for larger changes (such as foregoing the SQLite support or the switch of our ORM)
Highlights
Improved SQL search
The SQL search is now actually good, faster, and will scale better!
It uses PostgreSQL's integrated support for full-text search via tsvector
/tsquery
and stores the generated vectors into GIN indices.
This more advanced usage of database-specific features (as well as a vote in our Matrix room towards foregoing SQLite support) led to the deprecation of the SQLite support, effective immediately.
Kitsune will not work with SQLite from this release onwards and it is unlikely to change (unless someone is willing to put in the work to make diesel-async
compatible and figure out migrations and dynamic database connection switching).
Profiles are now updatable!
Standard profiles are a little boring. This update adds support for Mastodon's update for updating your account.
This includes:
- Setting a display name
- Setting a header
- Setting a profile picture
- Setting a description
- Locking your account
These things all federate to other instances like they would on Mastodon.
Support for Ed25519 in HTTP signatures
We introduce support for Ed25519 signed HTTP request in this release. We see this as an important step of the fediverse towards deprecating RSA signatures (which they rightfully deserve) and moving to more modern standards.
Currently we aren't aware of any other implementations that support Ed25519, therefore Kitsune has not fully switched to them yet. This is planned however as soon as a stable Mastodon release gets support for Ed25519 signatures.
This release has incompatible database changes to the previous release.
Until we publish a full first alpha, we reserve us the right to continue making these kinds of breaking changes.
Now follows the GitHub auto-generated changelog:
What's Changed
- Bump h2 from 0.3.16 to 0.3.17 by @dependabot in #173
- Add badges to the README by @aumetra in #174
- Fix Matrix link in README by @aumetra in #176
- Update dependencies by @aumetra in #175
- Support Ed25519 HTTP signatures by @aumetra in #177
- Add support for Mastodon's update profile API by @aumetra in #178
- Fix follows on unlocked accounts by @aumetra in #180
- Add
mention
class to links of mentions by @aumetra in #181 - Remove usage of
mem::take
by @aumetra in #182 - SQLite fixes by @aumetra in #183
- Fix home timeline by @aumetra in #186
- Replace
chrono
withtime
by @aumetra in #187 - Remove
tempdir
dependency by @aumetra in #188 - (Hopefully) last breaking database changes by @aumetra in #189
- Update flake and Cargo dependencies by @aumetra in #191
- Remove the unique requirement from the
username
column by @aumetra in #192 - Update deadpool-redis to v0.12 by @aumetra in #193
- Ensure the signature key owner is the author of the activity by @aumetra in #194
- Update dependencies by @aumetra in #197
- Use UUID in user path by @aumetra in #198
- Update dependencies by @aumetra in #202
- Build support via nix by @aumetra in #199
- Add white text colour attribute on registration form style by @perillamint in #204
- Better SQL search by @aumetra in #208
- Update dependencies by @aumetra in #209
- Enable CPU features by @aumetra in #211
- Add additional layers by @aumetra in #212
- Diesel migration by @aumetra in #210
- Announce activity support by @aumetra in #213
- Add default header to Mastodon API by @aumetra in #214
- Fix relationship mapping by @aumetra in #215
- Make URL column non-nullable by @aumetra in #216
- Update "State of federation" section by @aumetra in #218
- Update dependencies by @aumetra in #220
- Return 401 instead of 404 when user is not found by @perillamint in #222
- Do not try to update account if user does not have profile image and header image by @perillamint in #224
- Disable HTTP/2 by @aumetra in #226
- Remove the
Host
header by @aumetra in #227 - Small database-level optimisations by @aumetra in #228
- Query pipelining by @aumetra in #229
- Fix warnings when doing release builds by @aumetra in #230
- Include the Git revision in the versions by @aumetra in #231
- Update dependencies by @aumetra in #232
- Bump version by @aumetra in #233
New Contributors
- @perillamint made their first contribution in #204
Full Changelog: v0.0.1-pre.0...v0.0.1-pre.1