Compare commits

...

7 Commits

Author SHA1 Message Date
Jade
ed93a4ad9f chore: Admin announcement 2026-04-17 21:15:54 +00:00
Jade Ellis
cc8a4501b5 ci: Add basic CI auto-labeller 2026-04-17 21:41:01 +01:00
Sebastian Spaeth
cbb1632a1a docs: Describe Debian components
Describe "stable", "stable unstable" and "dev" components
2026-04-17 20:13:44 +00:00
Sebastian Spaeth
df59fc35b4 CI: Only publish releases into the Debian stable component
Previously, we would push all tagged releases into the stable component,
including alphas and rc's. Let's use some regex to only push stable
releases which conform to tag "^v+\d\.+\d\.+\d$"
so we ONLY get the manually published releases into the stable
component.

All pre-releases go into the "unstable" component for now. Nightly builds
go into the "dev" component (as before) and feature branches still get
their dedicated component named after the branch.

TODO: It would be nifty if stable releases would ALSO be published at the
unstable component.
2026-04-17 20:13:44 +00:00
Jade Ellis
c927bc7b30 chore: Release 2026-04-17 18:19:28 +01:00
Jade Ellis
c1ce40c008 docs: Changelog 2026-04-17 18:18:42 +01:00
ezera
66be11a978 docs(docs): update supported room versions
Updates supported room version to state we support 6-12, and sets 12
as default.
2026-04-17 16:10:05 +00:00
35 changed files with 127 additions and 52 deletions

View File

@@ -0,0 +1,53 @@
name: Auto Labeler
on:
pull_request_target:
types: [opened, reopened]
permissions:
contents: read
pull-requests: write
issues: write
jobs:
auto-label:
name: Apply labels based on changed files
runs-on: ubuntu-latest
steps:
- name: Apply PR Labels
uses: https://github.com/actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9
with:
script: |
const allFiles = await github.paginate(github.rest.pulls.listFiles, {
owner: context.repo.owner,
repo: context.repo.repo,
pull_number: context.issue.number,
});
const fileNames = allFiles.map(f => f.filename);
const labelsToAdd = new Set();
for (const file of fileNames) {
if (file.startsWith('docs/') || file.startsWith('theme/') || file.endsWith('.md') || file == 'rspress.config.ts') {
labelsToAdd.add('Documentation');
}
if (file.startsWith('.forgejo/')) {
labelsToAdd.add('Meta/CI');
}
if (file.startsWith('pkg/') || file.startsWith('nix/') || file === 'flake.nix' || file === 'flake.lock' || file.startsWith('docker/')) {
labelsToAdd.add('Meta/Packaging');
}
}
if (labelsToAdd.size > 0) {
const labelsArray = Array.from(labelsToAdd);
console.log('Adding labels:', labelsArray);
await github.rest.issues.addLabels({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.issue.number,
labels: labelsArray,
});
} else {
console.log('No files changed that require auto-labeling.');
}

View File

@@ -92,10 +92,13 @@ jobs:
BASE_VERSION=$(cargo metadata --no-deps --format-version 1 | jq -r ".packages[] | select(.name == \"conduwuit\").version" | sed 's/[^a-zA-Z0-9.+]/~/g')
# VERSION is the package version, COMPONENT is used in
# apt's repository config like a git repo branch
if [[ "${{ forge.ref }}" == "refs/tags/"* ]]; then
# Use the "stable" component for tagged releases
VERSION=$BASE_VERSION
if [[ ${{ forge.ref_name }} =~ ^v+[0-9]\.+[0-9]\.+[0-9]$ ]]; then
# Use the "stable" component for tagged semver releases
COMPONENT="stable"
VERSION=$BASE_VERSION
elif [[ ${{ forge.ref }} =~ ^refs/tags/^v+[0-9]\.+[0-9]\.+[0-9] ]]; then
# Use the "unstable" component for tagged semver pre-releases
COMPONENT="unstable"
else
# Use the "dev" component for development builds
SHA=$(echo "${{ forge.sha }}" | cut -c1-7)

View File

@@ -1,3 +1,45 @@
# Continuwuity v0.5.7 (2026-04-17)
## Features
- Re-added support for reading registration tokens from a file. Contributed by @ginger and @benbot. (#1371)
- Add new config option to allow or disallow search engine indexing through a `<meta ../>` tag. Defaults to blocking indexing (`content="noindex"`). Contributed by @s1lv3r and @ginger. (#1527)
- Add new config option for [MSC4439](https://github.com/matrix-org/matrix-spec-proposals/pull/4439)
PGP key URIs. Contributed by LogN. (#1609)
- Added `!admin users reset-push-rules` command to reset the notification settings of users. Contributed by @nex. (#1613)
- Notification pushers are now automatically removed when their associated device is. Admin commands now exist for manual cleanup too. Contributed by @nex. (#1614)
- Implemented option to deprioritize servers for room join requests. Contributed by @ezera. (#1624)
- Added admin commands to get build information and features. Contributed by @Jade (#1629)
- Added support for associating email addresses with accounts, requiring email addresses for registration, and resetting passwords via email. Contributed by @ginger
- Added support for requiring users to accept terms and conditions when registering.
- Added support for using an admin command to issue self-service password reset links.
## Bugfixes
- Fixed corrupted appservice registrations causing the server to enter a crash loop. Contributed by @nex. (#1265)
- Prevent removing the admin room alias (`#admins`) to avoid accidentally breaking admin room functionality. Contributed by @0xnim (#1448)
- Stripped `join_authorised_via_users_server` from json if user is already in room (@partha:cxy.run) (#1542)
- Fixed internal server errors for fetching thumbnails. Contributed by @PerformativeJade (#1572)
- Fixed error 500 when joining non-existent rooms. Contributed by @ezera. (#1579)
- Refactored nix package. Breaking, since `all-features` package no longer exists. Continuwuity is now built with jemalloc and liburing by default. Contributed by @Henry-Hiles (QuadRadical). (#1596)
- Fixed resolving IP of servers that only use SRV delegation. Contributed by @tulir. (#1615)
- Fixed "Sender must be a local user" error for make_join, make_knock, and make_leave federation routes. Contributed by @nex. (#1623)
- Fixed restricted joins not being signed when we are being used as an authorising server. Contributed by @nex, reported by [vel](matrix:u/vel:nhjkl.com?action=chat). (#1630)
- Fixed room alias deletion so removing one local alias no longer removes other aliases from room alias listings.
- Stopped left rooms from being unconditionally sent on initial sync, hopefully fixing spurious appearances of left rooms in some clients (and making sync faster as a bonus). Contributed by @ginger
- Correct the response field name for MatrixRTC transports. Contributed by @spaetz
## Improved Documentation
- Added Testing and Troubleshooting instructions for Livekit documentation. Contributed by @stratself. (#1429)
- Refactored docker docs to include new initial token workflow, and add Caddyfile example. Contributed by @stratself. (#1594)
- Add DNS tuning guide for Continuwuity. Users are recommended to set up a local caching resolver following the guide's advice. Contributed by @stratself (#1601)
## Misc
- Fixed compiler warning in cf_opts.rs when building in release. Contributed by @ezera. (#1620)
# Continuwuity 0.5.6 (2026-03-03)
## Security

22
Cargo.lock generated
View File

@@ -936,7 +936,7 @@ dependencies = [
[[package]]
name = "conduwuit"
version = "0.5.7-alpha.2"
version = "0.5.7"
dependencies = [
"clap",
"conduwuit_admin",
@@ -970,7 +970,7 @@ dependencies = [
[[package]]
name = "conduwuit_admin"
version = "0.5.7-alpha.2"
version = "0.5.7"
dependencies = [
"clap",
"conduwuit_api",
@@ -993,7 +993,7 @@ dependencies = [
[[package]]
name = "conduwuit_api"
version = "0.5.7-alpha.2"
version = "0.5.7"
dependencies = [
"async-trait",
"axum",
@@ -1028,7 +1028,7 @@ dependencies = [
[[package]]
name = "conduwuit_build_metadata"
version = "0.5.7-alpha.2"
version = "0.5.7"
dependencies = [
"built",
"cargo_metadata",
@@ -1036,7 +1036,7 @@ dependencies = [
[[package]]
name = "conduwuit_core"
version = "0.5.7-alpha.2"
version = "0.5.7"
dependencies = [
"argon2",
"arrayvec",
@@ -1100,7 +1100,7 @@ dependencies = [
[[package]]
name = "conduwuit_database"
version = "0.5.7-alpha.2"
version = "0.5.7"
dependencies = [
"async-channel",
"conduwuit_core",
@@ -1120,7 +1120,7 @@ dependencies = [
[[package]]
name = "conduwuit_macros"
version = "0.5.7-alpha.2"
version = "0.5.7"
dependencies = [
"cargo_toml",
"itertools 0.14.0",
@@ -1131,7 +1131,7 @@ dependencies = [
[[package]]
name = "conduwuit_router"
version = "0.5.7-alpha.2"
version = "0.5.7"
dependencies = [
"axum",
"axum-client-ip",
@@ -1167,7 +1167,7 @@ dependencies = [
[[package]]
name = "conduwuit_service"
version = "0.5.7-alpha.2"
version = "0.5.7"
dependencies = [
"askama",
"async-trait",
@@ -1214,7 +1214,7 @@ dependencies = [
[[package]]
name = "conduwuit_web"
version = "0.5.7-alpha.2"
version = "0.5.7"
dependencies = [
"askama",
"async-trait",
@@ -6920,7 +6920,7 @@ dependencies = [
[[package]]
name = "xtask"
version = "0.5.7-alpha.2"
version = "0.5.7"
dependencies = [
"askama",
"cargo_metadata",

View File

@@ -12,7 +12,7 @@ license = "Apache-2.0"
# See also `rust-toolchain.toml`
readme = "README.md"
repository = "https://forgejo.ellis.link/continuwuation/continuwuity"
version = "0.5.7-alpha.2"
version = "0.5.7"
[workspace.metadata.crane]
name = "conduwuit"

View File

@@ -1 +0,0 @@
Added support for associating email addresses with accounts, requiring email addresses for registration, and resetting passwords via email. Contributed by @ginger

View File

@@ -1 +0,0 @@
Added support for using an admin command to issue self-service password reset links.

View File

@@ -1 +0,0 @@
Stopped left rooms from being unconditionally sent on initial sync, hopefully fixing spurious appearances of left rooms in some clients (and making sync faster as a bonus). Contributed by @ginger

View File

@@ -1 +0,0 @@
Added support for requiring users to accept terms and conditions when registering.

View File

@@ -1 +0,0 @@
Fixed room alias deletion so removing one local alias no longer removes other aliases from room alias listings.

View File

@@ -1 +0,0 @@
Fixed corrupted appservice registrations causing the server to enter a crash loop. Contributed by @nex.

View File

@@ -1 +0,0 @@
Re-added support for reading registration tokens from a file. Contributed by @ginger and @benbot.

View File

@@ -1 +0,0 @@
Added Testing and Troubleshooting instructions for Livekit documentation. Contributed by @stratself.

View File

@@ -1 +0,0 @@
Prevent removing the admin room alias (`#admins`) to avoid accidentally breaking admin room functionality. Contributed by @0xnim

View File

@@ -1 +0,0 @@
Add new config option to allow or disallow search engine indexing through a `<meta ../>` tag. Defaults to blocking indexing (`content="noindex"`). Contributed by @s1lv3r and @ginger.

View File

@@ -1 +0,0 @@
Stripped `join_authorised_via_users_server` from json if user is already in room (@partha:cxy.run)

View File

@@ -1 +0,0 @@
Fixed internal server errors for fetching thumbnails. Contributed by @PerformativeJade

View File

@@ -1 +0,0 @@
Fixed error 500 when joining non-existent rooms. Contributed by @ezera.

View File

@@ -1 +0,0 @@
Refactored docker docs to include new initial token workflow, and add Caddyfile example. Contributed by @stratself.

View File

@@ -1 +0,0 @@
Refactored nix package. Breaking, since `all-features` package no longer exists. Continuwuity is now built with jemalloc and liburing by default. Contributed by @Henry-Hiles (QuadRadical).

View File

@@ -1 +0,0 @@
Add DNS tuning guide for Continuwuity. Users are recommended to set up a local caching resolver following the guide's advice. Contributed by @stratself

View File

@@ -1,2 +0,0 @@
Add new config option for [MSC4439](https://github.com/matrix-org/matrix-spec-proposals/pull/4439)
PGP key URIs. Contributed by LogN.

View File

@@ -1 +0,0 @@
Added `!admin users reset-push-rules` command to reset the notification settings of users. Contributed by @nex.

View File

@@ -1 +0,0 @@
Notification pushers are now automatically removed when their associated device is. Admin commands now exist for manual cleanup too. Contributed by @nex.

View File

@@ -1 +0,0 @@
Fixed resolving IP of servers that only use SRV delegation. Contributed by @tulir.

View File

@@ -1 +0,0 @@
Fixed compiler warning in cf_opts.rs when building in release. Contributed by @ezera.

1
changelog.d/1622.doc Normal file
View File

@@ -0,0 +1 @@
Updated config docs to state we support room version 12, and set it as default. Contributed by @ezera.

View File

@@ -1 +0,0 @@
Fixed "Sender must be a local user" error for make_join, make_knock, and make_leave federation routes. Contributed by @nex.

View File

@@ -1 +0,0 @@
Implemented option to deprioritize servers for room join requests. Contributed by @ezera.

View File

@@ -1 +0,0 @@
Added admin commands to get build information and features. Contributed by @Jade

View File

@@ -1 +0,0 @@
Fixed restricted joins not being signed when we are being used as an authorising server. Contributed by @nex, reported by [vel](matrix:u/vel:nhjkl.com?action=chat).

View File

@@ -619,7 +619,7 @@
# Set to false to disable users from joining or creating room versions
# that aren't officially supported by continuwuity.
#
# continuwuity officially supports room versions 6 - 11.
# continuwuity officially supports room versions 6 - 12.
#
# continuwuity has slightly experimental (though works fine in practice)
# support for versions 3 - 5.
@@ -631,9 +631,9 @@
# rather than an integer. Forgetting the quotes will make the server fail
# to start!
#
# Per spec, room version "11" is the default.
# Per spec, room version "12" is the default.
#
#default_room_version = "11"
#default_room_version = "12"
# Enable OpenTelemetry OTLP tracing export. This replaces the deprecated
# Jaeger exporter. Traces will be sent via OTLP to a collector (such as

View File

@@ -6,10 +6,10 @@
"message": "Welcome to Continuwuity! Important announcements about the project will appear here."
},
{
"id": 10,
"id": 11,
"mention_room": false,
"date": "2026-03-03",
"message": "We've just released [v0.5.6](https://forgejo.ellis.link/continuwuation/continuwuity/releases/tag/v0.5.6), which contains a few security improvements - plus significant reliability and performance improvements. Please update as soon as possible. \n\nWe released [v0.5.5](https://forgejo.ellis.link/continuwuation/continuwuity/releases/tag/v0.5.5) two weeks ago, but it skipped your admin room straight to [our announcements channel](https://matrix.to/#/!jIdNjSM5X-V5JVx2h2kAhUZIIQ08GyzPL55NFZAH1vM?via=ellis.link&via=gingershaped.computer&via=matrix.org). Make sure you're there to get important information as soon as we announce it! [Our space](https://matrix.to/#/!8cR4g-i9ucof69E4JHNg9LbPVkGprHb3SzcrGBDDJgk?via=continuwuity.org&via=ellis.link&via=matrix.org) has also gained a bunch of new and interesting rooms - be there or be square."
"date": "2026-04-17",
"message": "[v0.5.7](https://forgejo.ellis.link/continuwuation/continuwuity/releases/tag/v0.5.7) is out! Email verification! Terms and Conditions! Deleting notification pushers! So much good stuff. Go grab the release and read the changelog!"
}
]
}

View File

@@ -6,7 +6,9 @@ ### Installation
To add the Continuwuation apt repository:
```bash
# Replace with `"dev"` for bleeding-edge builds at your own risk
# Component `"stable"` contains all tagged releases. Use `"stable unstable"` to additionally include all pre-releases (alpha, beta, rc,...)
# Replace with `"dev"` for bleeding-edge builds at your own risk, these contain
# automatic nightly builds and might or might not work.
export COMPONENT="stable"
# Import the Continuwuation signing key
sudo curl https://forgejo.ellis.link/api/packages/continuwuation/debian/repository.key -o /etc/apt/keyrings/forgejo-continuwuation.asc

View File

@@ -753,7 +753,7 @@ pub struct Config {
/// Set to false to disable users from joining or creating room versions
/// that aren't officially supported by continuwuity.
///
/// continuwuity officially supports room versions 6 - 11.
/// continuwuity officially supports room versions 6 - 12.
///
/// continuwuity has slightly experimental (though works fine in practice)
/// support for versions 3 - 5.
@@ -765,9 +765,9 @@ pub struct Config {
/// rather than an integer. Forgetting the quotes will make the server fail
/// to start!
///
/// Per spec, room version "11" is the default.
/// Per spec, room version "12" is the default.
///
/// default: "11"
/// default: "12"
#[serde(default = "default_default_room_version")]
pub default_room_version: RoomVersionId,
@@ -2828,7 +2828,7 @@ fn default_rocksdb_stats_level() -> u8 { 1 }
// I know, it's a great name
#[must_use]
#[inline]
pub fn default_default_room_version() -> RoomVersionId { RoomVersionId::V11 }
pub fn default_default_room_version() -> RoomVersionId { RoomVersionId::V12 }
fn default_ip_range_denylist() -> Vec<String> {
vec![