Kitsune

v0.0.1-pre.5

v0.0.1-pre.5 Jan 14 2024 at 21:22 UTC

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

New Contributors

Full Changelog: https://github.com/kitsune-soc/kitsune/compare/v0.0.1-pre.4...v0.0.1-pre.5