Kitsune
v0.0.1-pre.5
kitsune 0.0.1-pre.5
This is another small mid-release. Just to finally give a small cut-off point of changes.
Kitsune now requires a nightly compiler (at least for now; we might get rid of the requirement with the next release again).
Highlights
Custom and remote emojis
(Thanks @Zeerooth)
Kitsune now has internal support for uploading custom emoji (but the functionality isn't exposed yet).
Also Kitsune has a feature no other implementation really has yet (as far as I am aware): Remote emoji. Remote emoji work like this:
- Some remote activity with a custom emoji arrives from an arbitrary instance
- Kitsune stores the emoji in the following format:
[emote name]@[instance name]
- We then show these emoji in the picker
These remote emoji will be moderatable via the eventual moderation tools.
Also, the media is not stored on your local instance. Meaning the availability of those emoji is dependent on the remote.
Usernames can contain unicode
Now supports usernames that contain unicode characters. We use custom unicode collation on the PostgreSQL level to prevent potential impersonation issues.
New HTML sanitizer
We migrated from ammonia
to bubble-bath
for sanitizing HTML content submitted to Kitsune.
This enables us to preserve the actual HTML in an escaped format instead of simply stripping it.
Additionally the sanitizer is a little faster. Not noticeably, but a bit.
Smaller changes
Upgrade to Hyper v1
We upgraded the codebase to Hyper v1. Right now we need a small compatibility layer between http
v0.2 and http
v1 for a few selected crates but most of the ecosystem we use is already there!
Large internal refactor
Kitsune was refactored to be more independent when it comes to the federation protocol it uses. That way it might be possible to add support for alternative protocols, such as AtProto.
CSRF protection for OAuth pages
We added an own implementation of the Signed Double-Submit Cookie pattern.
It is used on our OAuth consent page. This will be more useful once we migrate over to a database-session-based login method.
OIDC fixes
Thanks to multiple error reports over Matrix and GitHub, we were able to identify multiple OIDC issues and fix the most of them.
Install kitsune 0.0.1-pre.5
Install prebuilt binaries via powershell script
irm https://github.com/kitsune-soc/kitsune/releases/download/v0.0.1-pre.5/kitsune-installer.ps1 | iex
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/kitsune-soc/kitsune/releases/download/v0.0.1-pre.5/kitsune-installer.sh | sh
Download kitsune 0.0.1-pre.5
File | Platform | Checksum |
---|---|---|
kitsune-aarch64-apple-darwin.tar.xz | macOS Apple Silicon | checksum |
kitsune-x86_64-apple-darwin.tar.xz | macOS Intel | checksum |
kitsune-x86_64-pc-windows-msvc.zip | Windows x64 | checksum |
kitsune-x86_64-unknown-linux-musl.tar.xz | musl Linux x64 | checksum |
kitsune-job-runner 0.0.1-pre.5
Install kitsune-job-runner 0.0.1-pre.5
Install prebuilt binaries via powershell script
irm https://github.com/kitsune-soc/kitsune/releases/download/v0.0.1-pre.5/kitsune-job-runner-installer.ps1 | iex
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/kitsune-soc/kitsune/releases/download/v0.0.1-pre.5/kitsune-job-runner-installer.sh | sh
Download kitsune-job-runner 0.0.1-pre.5
File | Platform | Checksum |
---|---|---|
kitsune-job-runner-aarch64-apple-darwin.tar.xz | macOS Apple Silicon | checksum |
kitsune-job-runner-x86_64-apple-darwin.tar.xz | macOS Intel | checksum |
kitsune-job-runner-x86_64-pc-windows-msvc.zip | Windows x64 | checksum |
kitsune-job-runner-x86_64-unknown-linux-musl.tar.xz | musl Linux x64 | checksum |
kitsune-cli 0.0.1-pre.5
Install kitsune-cli 0.0.1-pre.5
Install prebuilt binaries via powershell script
irm https://github.com/kitsune-soc/kitsune/releases/download/v0.0.1-pre.5/kitsune-cli-installer.ps1 | iex
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/kitsune-soc/kitsune/releases/download/v0.0.1-pre.5/kitsune-cli-installer.sh | sh
Download kitsune-cli 0.0.1-pre.5
File | Platform | Checksum |
---|---|---|
kitsune-cli-aarch64-apple-darwin.tar.xz | macOS Apple Silicon | checksum |
kitsune-cli-x86_64-apple-darwin.tar.xz | macOS Intel | checksum |
kitsune-cli-x86_64-pc-windows-msvc.zip | Windows x64 | checksum |
kitsune-cli-x86_64-unknown-linux-musl.tar.xz | musl Linux x64 | checksum |
Now follows the GitHub generated changelog:
What's Changed
- Move
speedy-uuid
impl block by @aumetra in https://github.com/kitsune-soc/kitsune/pull/390 - Add
masto-id-convert
crate to monorepo by @aumetra in https://github.com/kitsune-soc/kitsune/pull/391 - Remove unsound
lexical
dependency by @aumetra in https://github.com/kitsune-soc/kitsune/pull/392 - fix: docker-compose start command by @alexohneander in https://github.com/kitsune-soc/kitsune/pull/394
- Check
Content-Type
header when fetching entities by @aumetra in https://github.com/kitsune-soc/kitsune/pull/388 - Fix nightly clippy lint by @aumetra in https://github.com/kitsune-soc/kitsune/pull/396
- Restructure search logic by @aumetra in https://github.com/kitsune-soc/kitsune/pull/397
- Make
meilisearch
enabled builds statically linked by @aumetra in https://github.com/kitsune-soc/kitsune/pull/398 - Force registration in OIDC handler by @aumetra in https://github.com/kitsune-soc/kitsune/pull/402
- Fix follows on Mastodon API by @aumetra in https://github.com/kitsune-soc/kitsune/pull/403
- Restructure OIDC service by @aumetra in https://github.com/kitsune-soc/kitsune/pull/404
- Upgrade dependencies by @aumetra in https://github.com/kitsune-soc/kitsune/pull/411
- Add native support for the
X-Clacks-Overhead
header by @aumetra in https://github.com/kitsune-soc/kitsune/pull/412 - Use nightly features by @aumetra in https://github.com/kitsune-soc/kitsune/pull/413
- Make account names case-insensitive by @aumetra in https://github.com/kitsune-soc/kitsune/pull/407
- Add configuration option for non-ASCII usernames by @aumetra in https://github.com/kitsune-soc/kitsune/pull/417
- Split configuration crate across multiple files by @aumetra in https://github.com/kitsune-soc/kitsune/pull/419
- Custom and remote emojis by @Zeerooth in https://github.com/kitsune-soc/kitsune/pull/405
- Rename
cargo machete
run by @aumetra in https://github.com/kitsune-soc/kitsune/pull/423 - Use
oranda
for our website by @aumetra in https://github.com/kitsune-soc/kitsune/pull/425 - Make the website style a bit more custom by @aumetra in https://github.com/kitsune-soc/kitsune/pull/426
- Add documentation about
allow-non-ascii-usernames
by @aumetra in https://github.com/kitsune-soc/kitsune/pull/432 - Embed
public
directory in binary by @aumetra in https://github.com/kitsune-soc/kitsune/pull/433 - Use
ahash
in the public handler by @aumetra in https://github.com/kitsune-soc/kitsune/pull/434 - Update dependencies and mute advisory by @aumetra in https://github.com/kitsune-soc/kitsune/pull/435
- Multiple federation protocols: Code restructure by @aumetra in https://github.com/kitsune-soc/kitsune/pull/421
- Bump vite from 5.0.4 to 5.0.5 in /kitsune-fe by @dependabot in https://github.com/kitsune-soc/kitsune/pull/437
- Use the
workspace.lints
section by @aumetra in https://github.com/kitsune-soc/kitsune/pull/438 - Replace
eyre
withmiette
by @aumetra in https://github.com/kitsune-soc/kitsune/pull/439 - Use a faster crate for ASCII representation parsing by @aumetra in https://github.com/kitsune-soc/kitsune/pull/441
- Bump dependencies by @aumetra in https://github.com/kitsune-soc/kitsune/pull/442
- Replace
ammonia
withbubble-bath
by @aumetra in https://github.com/kitsune-soc/kitsune/pull/447 - Use
rust-embed
instead ofinclude_dir!
by @aumetra in https://github.com/kitsune-soc/kitsune/pull/448 - SCSS styling capabilities by @aumetra in https://github.com/kitsune-soc/kitsune/pull/445
- Use WASM compiled
rollup
by @aumetra in https://github.com/kitsune-soc/kitsune/pull/451 - Bump zerocopy from 0.7.30 to 0.7.31 by @dependabot in https://github.com/kitsune-soc/kitsune/pull/453
- CSRF protection on OAuth pages by @aumetra in https://github.com/kitsune-soc/kitsune/pull/440
- Remove old diagnostic by @aumetra in https://github.com/kitsune-soc/kitsune/pull/454
- Update
redis
to v0.24 by @aumetra in https://github.com/kitsune-soc/kitsune/pull/456 - Fix comment in
cursiv
crate by @aumetra in https://github.com/kitsune-soc/kitsune/pull/457 - Add
xtask
watch command by @aumetra in https://github.com/kitsune-soc/kitsune/pull/460 - Restructure SCSS compilation by @aumetra in https://github.com/kitsune-soc/kitsune/pull/461
- Add fuzzing harnesses by @aumetra in https://github.com/kitsune-soc/kitsune/pull/462
- Hyper v1 upgrade by @aumetra in https://github.com/kitsune-soc/kitsune/pull/455
- Add graceful shutdown functionality by @aumetra in https://github.com/kitsune-soc/kitsune/pull/465
- Update issue templates by @aumetra in https://github.com/kitsune-soc/kitsune/pull/467
- Add option to redirect Brave browsers to article by @aumetra in https://github.com/kitsune-soc/kitsune/pull/468
- Use Project Fluent for translation in the frontend by @aumetra in https://github.com/kitsune-soc/kitsune/pull/470
New Contributors
- @alexohneander made their first contribution in https://github.com/kitsune-soc/kitsune/pull/394
Full Changelog: https://github.com/kitsune-soc/kitsune/compare/v0.0.1-pre.4...v0.0.1-pre.5