File continuwuity.changes of Package continuwuity
------------------------------------------------------------------- Sun Mar 08 00:31:57 UTC 2026 - Marcus Rueckert <mrueckert@suse.de> - Update to version 0.5.6+git36.4f23d566: * docs(docker): Restructure deployment guide and add env var reference * fix: Lower "timeline for newly joined room is empty" to debug_warn * docs: small refactor of the troubleshooting page * chore: Add news fragment * fix: Automatically remove corrupted appservice registrations * chore(deps): update rust crate tokio to v1.50.0 * docs: Update prefligit references to prek * chore: News fragment * fix: Fix left rooms always being sent on initial sync * fix(registration): discrepancy between 401 response and 500 log statement * feat(nix): always enable liburing in all builds by default * docs: Update the actual doc page * docs: Update delete-past-remote-media example with correct flag syntax * chore: Update example config * fix(pre-commit): Use default clippy toolchain to avoid cache thrashing * fix(pre-commit): Remove unnecessary test expression * fix: Lessen complexity of test expression * fix: Prevent clippy from running on changes that don't include rust code * fix: Remove erroneous addition of pre-push stage to default_stages * fix: Typo in always_run * chore: Add pre-push hook to run clippy * docs: Add Delegation page (#1414) * chore: News fragment * feat: Readded support for reading registration tokens from a file * fix(rooms): prevent removing admin room alias * fix(rooms): prevent removing admin room alias * chore(deps): update pre-commit hook crate-ci/committed to v1.1.11 * fix(complement): Fix complement conflicting with first-run * fix: make dropped PDU warning less useless * docs: update caddy docker compose example * docs(config): merge backwards compatibility descriptions * docs(config): use CONTINUWUITY_ environment prefix * chore(deps): update dependency cargo-bins/cargo-binstall to v1.17.6 * chore(deps): update node-patch-updates to v2.0.4 * chore: Admin announcement * chore(deps): update pre-commit hook crate-ci/typos to v1.44.0 * chore: Release * fix(ci): Special case ubuntu-latest * chore: Changelog for 0.5.6 * fix(ci): Revert llvm-project#153385 workaround * chore: Release * fix: Don't process admin escape commands for local users from federation * fix: Limit body read size of remote requests (CWE-409) * docs: Changelog * feat: Implement Dehydrated Devices MSC3814 * fix(docker): Fix building a docker container with dev profile * fix: Bump ruwuma again * fix: Bump ruwuma to resolve duplicate state error * feat: Remove MSC4010 support * chore(deps): update rust crate axum-extra to 0.12.0 * fix(sync): don't override sliding sync v5 list range start to zero * fix: Don't show successful media deletion as an error * fixup! fix(api): restore backwards compatibility for RTC foci config * chore(deps): update ruwuma revision * fix(api): restore backwards compatibility for RTC foci config * chore(changelog): add news fragment for #1442 * feat(api): implement MSC4143 RTC transports discovery endpoint * chore(changelog): add news fragment for #1441 * fix(config): remove allow_public_room_directory_without_auth * chore: Refactor `transaction_ids` -> `transactions` * chore: Fix incorrect capitalisation * fix: Don't panic if nobody's listening * chore: Add news frag * refactor: Make federation transaction handle errors correctly * refactor: Make stream utils generic over the error type * fix: Clean up cache, prevent several race conditions * feat: Attempt to build localised DAG before processing PDUs * feat: Warn when server is overloaded * chore: Decrease transaction log verbosity * feat: Show active transaction handle count in `!admin federation incoming-federation` * chore: Run pre-commit and clippy to fix inherited CI errs * feat: Make `max_active_txns` actually configurable * fix: Remove duplicate fields from logs * feat: Instrument `process_inbound_transaction` * feat: Support casting transaction processing to the background * feat: Add helper functions for federation channels * chore: Refactor existing references to transaction service * feat(federation): Restructure transaction_ids service * fix: more aggressive user agent for URL preview * report permission denied errors * fixed formatting * made error handling more concise * added more granular error handling for other file fetch function * ran format * added handling for other potential errors * Added proper 404 for not found media and fixed devshell for running tests * docs: Changelog * feat(appservices): MSC3202 Device masquerading for appservices * docs: Add information about partnered homeservers to the introduction page & update README.md * chore(deps): update rust crate nix to 0.31.0 * docs: express forbidden_remote_server_names as valid regex * chore: Clippy & prek fixes * chore(deps): update rust crate libloading to 0.9.0 * fix: Forbid registering users with a non-local localpart * fix(deps): Update lockfile * fix(nix): Added unstable flag to buildDeps * fix(nix): Fix `all-features` build * chore(deps): update dependency lddtree to 0.5.0 * chore(deps): Update rand * docs: Add news fragment * fix: Crash before starting on OpenBSD * chore(deps): update sentry-rust monorepo to 0.46.0 * chore: Fix busted lockfile merge * chore: Migrate to axum 0.8 * fix: Remove non-compliant and non-functional non-authoritative directory queries * fix: Remove rocksdb secondary mode * docs: Changelog * fix: Remove ability to set rocksdb as read only * fix: add nodejs URL in CONTRIBUTING.md page * docs: rewrite how to load docs with new rspress engine * fix: Wording fixes * feat(docs): Add a note about !779 to the troubleshooting page * fix: don't warn about needed backfill via federation for non-federated rooms * chore(deps): update rust-patch-updates * chore(deps): update rust crate askama to 0.15.0 * ci: Explicitly enable Dependency Dashboard * ci(deps): Automerge typos updates * ci(deps): Group npm patch updates * chore(deps): update pre-commit hook crate-ci/typos to v1.43.5 * chore: Lighten the phrasing * chore: Add news frag & rebuild config * chore: Disable presence by default, and add warnings to other heavy ops * fix(admin-cli): concatenation/formatting error, i.e., * style: Trailing whitespace * docs(livekit): document nginx websockets too * docs(livekit): fix port in caddy config example * docs(livekit): add nginx proxy example * docs: Document BSD community room * feat(docs): Add Kubernetes documentation with sample (#1387) * docs: Fix trailing list * feat: Add experimental http3 support * docs: Update & apply feedback * Update documentation to feature LiveKit-related configuration options present in continuwuity.toml * docs: Apply feedback * chore: Style * docs: Update TURN guide * chore: Apply review comments * docs: Last dead link * fix: oops * docs: Fix broken links * docs: Write up how to set up LiveKit calling * chore(deps): update rust-patch-updates * fix: Update regex for web template in uwulib build * refactor: Drop duplicate clone * feat: Exclude empty rooms from `!admin rooms list` by default * fix: Don't panic when running startup admin commands * chore: Update changelog * chore: Release 0.5.5 * fix(ci): Work around LLVM issue & dynamically select clang pkg version * fix: Install clang-23 specifically * fix: Work around https://github.com/llvm/llvm-project/issues/153385 * fix: Set default value of `allow_registration` to `true` * chore: News fragment * feat: Add a link to the clients list on matrix.org * feat: Default index page improvements * chore: Clippy fixes * feat: Improve the initial setup experience * feat: Stop logging announcements to the console * fix: Silence unnecessary policy server errors in debug builds * feat: Add skeleton first-run service * refactor: Add support for multiple static tokens to registration token service * fix: Error response can leak appservice token * fix: Only sync LDAP admin status when `admin_filter` is configured * fix: Correct incorrectly inverted boolean expression * style: Invert pending_invite_state check * style: Compress should_rescind_invite * feat: Support rescinding invites over federation * style: Update error messages in make_join.rs * chore: Add news frag * style: Fix IncompatibleRoomVersion log line * fix: Refactor local join process * fix: Return accurate errors in make_join for restricted rooms * fix: Produce more useful errors in make_join_request * fix: Use 404 instead of 400 (and include sender) * feat: Filter ignored PDUs in relations * feat: Return SENDER_IGNORED error for context and relations * feat: Return SENDER_IGNORED error in is_ignored_pdu * refactor: Use HashSet * fix(sync): handle wildcard state keys in sliding sync required_state * docs: Changelog * fix: Correct user agent changes * feat(core): Change default user agent * feat(core): Add config option for the url preview user agent * doc: Changelog * feat: Deadlock detector thread * chore(deps): update rust-patch-updates * docs: Add links to matrix guides * chore: Code cleanup * chore: News fragment * fix(sliding-sync): Properly handle wildcard state_key * chore(deps): update dependency @rspress/plugin-client-redirects to v2.0.3 * chore(deps): update dependency cargo-bins/cargo-binstall to v1.17.5 * docs: Correct comment on rtc_focus_server_urls * build: Update ruwuma for RTC Foci responses * feat: Add config option for livekit * chore(deps): update dependency @rspress/core to v2.0.3 * chore(deps): update dependency @rspress/plugin-sitemap to v2.0.3 * Change the federation testing site in the docs to a more verbose one * Change the federation testing site to a more verbose one * style: Fix clippy issues * fix: Don't include latest_events in output * fix: Complement runner * fix: Redo the get_missing_events federation route * docs: Add note about checking the contents of configuration * chore: Formatting * fix: always treat server_user as an admin * chore: Add towncrier news fragment * feat(admin): Add resolver cache flush command * chore(deps): update pre-commit hook crate-ci/typos to v1.43.4 * chore: Formatting fixes * feat: Implement a migration to fix busted local invites * fix: Properly set stripped state for local invites * chore: Announcement for v0.5.4 * chore(deps): update pre-commit hook crate-ci/typos to v1.43.3 * chore: Linkify pull requests in CHANGELOG.md * chore: Bump cargo lock * chore: Bump version * chore: Update changelog * fix: Add failing spell check string to typos * chore: Add news fragment * docs(deploying/fedora): Remove seemingly nonexistent/impossible Fedora install method * docs(deploying/fedora): Fix URLs for known working install methods, add EL caveat, correct GPG key info * docs: Explain enabling backtraces at runtime * feat: Try log original server error * feat: Try log panics before unwinds to catch backtraces * style: Fix typo in validate_remote_member_event_stub * fix: Perform additional membership validation on remote knocks too * fix: Apply validation to make_join process * fix: Don't fail open when a PDU doesn't have a short state hash * chore: Bump ruwuma * chore(deps): update pre-commit hook crate-ci/typos to v1.43.2 * fix: Resolve unnecessary serialization issue * fix: Get_missing_events returns the same event N times * chore(deps): update rust-patch-updates * feat: Enable running complement manually * chore(deps): update dependency cargo-bins/cargo-binstall to v1.17.4 * chore(deps): update dependency @rspress/plugin-sitemap to v2.0.2 * chore(deps): update dependency @rspress/plugin-client-redirects to v2.0.2 * chore(deps): update pre-commit hook crate-ci/typos to v1.43.1 * chore(deps): update dependency @rspress/core to v2.0.2 * feat: Use info level logs for residency check failures * chore: Add news fragment * perf: Don't handle expensive requests for rooms we aren't in * perf: Don't handle PDUs for rooms we aren't in * chore(deps): update rust-patch-updates * chore(deps): update dependency @rspress/plugin-client-redirects to v2.0.1 * chore: Update FUNDING.yml * fix: Restore admin room announcement for deactivations * chore: Add news fragment * fix: Clippy lint * perf: Optimise account deactivation process * Update homeserver list * chore(deps): update pre-commit hook crate-ci/typos to v1.42.3 * chore(deps): update dependency cargo-bins/cargo-binstall to v1.17.3 * fix(docs): Remove rspress-plugin-preview * fix(docs): Add stub type definition for docs CSS * chore(deps): Update to rspress 2.0.0 * fix(docs): Add redirect from old community page * feat(docs): Move community pages into subdir, add partnered homeservers page * fix(docs): Remove busted link in nav * chore: News fragment * fix: Add a code path for clients trying to use fallback auth * fix: Add option to mark certain config sections as optional * chore(deps): update pre-commit hook crate-ci/committed to v1.1.10 * chore(deps): update dependency cargo-bins/cargo-binstall to v1.16.7 * chore: Formatting * refactor(treewide): get rid of compile time build environment introspection * feat: Add endpoints required for API-based takedowns and room bans * chore: Fixup typos * fix: Remove homebrewed error mangling for correctness * chore: Add news fragment * fix: Only fall back to legacy media when response is M_UNRECOGNIZED * Fix verification loss; workaround Nheko-Reborn/nheko#1908 (closes #146) * fix: Fix explosions with new tracing * chore(deps): update rust-patch-updates * chore(deps): update rust-patch-updates * chore(deps): Update rspress to 2.0.0-rc.5 * chore: Changelog * style: Fix yo unused variables * feat: Admin announce improvements * docs: Changelog * chore: Admin announcement * chore: Release * docs: Changelog * fix: M_BAD_JSON in send_join and send_knock * chore: Add correct configuration for cargo release * docs: Changelog * feat: Improve the display of the configuration in the admin room * feat: Exclude undocumented commands * fix: Remove extraneous dashes from command help * feat: Add copy to admin command reference index * feat: Add comments to generated files * fix: Update documentation TOC * chore: Clippy fixes * feat: Improve admin command reference generation * Link to documentation clarifying what exactly "Performance optimised version." means * style: Remove unused import * fix: M_BAD_JSON in c2s invite * fix: Correct federation timeouts * fix: Use correct token handlers for Ruma * fix: Apply timeouts in more places * chore: Release * chore: Update changelog for 0.5.2 * fix: Remove useless timestamp check in outlier upgrade process * chore: Add news fragment * feat: Support creating custom v12 room IDs * chore: Update news fragments * style: Clean up whoami code * chore: Add news fragment * fix: Return 403 instead of 404 at /_matrix/client/v3/account/whoami * fix: Allow `cargo_common_metadata` clippy lint * fix: Update package and crate metadata * chore: Update admin command documentation * fix: Incomplete rename * style: Use contains to check for row presence * perf: Store empty value (row only needs to exist) * fix: Await future * fix: Correctly return M_USER_LOCKED during login * chore: Add news fragment * feat: Allow admins to disable the login capability of an account * fix: Unawaited future causing build error * feat(!783): Add `--once` shortcut flag to issue command * fix(!783): Don't allow registrations by default with no token configured * chore(!783): Remove config file check for no static token or captcha * chore(!783): Update config file documentation, depluralize `token` subcommand * chore(!783): Note that `registration_token_file` is gone * chore(!783): News fragment * feat(!783): Add admin commands for managing tokens * feat(!783): Initial implementation * chore(deps): update dependency lddtree to 0.4.0 * chore: Add news fragment * feat: Add command to forcefully log out all of a user's devices * style: Log error * chore: Add comment and warning to unhappy path * fix(admin): fix force-leaving rooms with no left_state PDU * docs: Document image mirrors * docs: Fix some issues * docs: Document maxperf Docker image variants from #1017 * chore(deps): update github-actions-non-major * chore: Bump dependencies to fix request errors * chore: Add news fragment * style: Fix failing lints * perf: Don't check accept_make_join twice for restricted make_join * fix: Apply check_all_joins to make_join * fix: Apply spam checker to local restricted joins * fix: Accept_may_join callback works again * fix: Call user_may_join_room later in the join process * feat: Consolidate antispam checks into a service * feat: Add support for automatically rejecting pending invites * feat: Add Meowlnir invite interception support * fix: Restrict suspend+lock commands to admin room * chore: Add news fragment * feat: Add user locking and unlocking commands and functionality * refactor: Clean up logging issues * fix: Use a timeout instead of deadline * style: Remove unnecessary then() calls in chain * style: Include errors in key claim response too * fix: Apply client-requested timeout to federated key queries * fix: Build error two: electric boogaloo * fix: Build error * style: Fix typo * chore: Update precommit hooks * fix: Resolve compile errors * chore: Add news fragment * feat: Fall back to remote room summary if local fails * feat: Allow local server admins to bypass summary visibility checks * chore: Clippy fixes * chore: Fix comment formatting * chore: Add news fragment * feat: Restrict where certain admin commands may be used * style: Improve warning regarding admin removal * docs: Changelog * feat: Config defined admin list * feat: Enable console feature by default * docs: Fix typo * fix(ci): Stop using nightly to build Debian packages * chore: Release * docs: Announcement * chore: Specify the tag body template * docs: Changelog * fix: Forbid creators in power levels * validate membership events returned by remote servers * chore(deps): update dependency cargo-bins/cargo-binstall to v1.16.6 * ci: Explicitly auto tag latest * ci: Don't force tag all versions as latest * fix(ci): Don't double append latest tag suffix * docs: Changelog * feat: Allow configuring the OTLP protocol * feat: Split otlp exporter into a new, enabled-by-default feature * docs: Update example domains * chore: Apply suggestions * fix: File -> line * fix: Dead link to code style doc * fix: Issue title -> pull request title * fix: Stray whitespace * feat: Add pull request template * docs: Add information on writing changelog fragments * feat(meta): Set up towncrier * fix: Don't allow admin room upgrades and fix power levels during upgrade * docs: handle traefik >=3.6.3 "encoded characters" * Revert "feat(ci): Allow running manual workflows against specific commits" * feat(ci): Allow running manual workflows against specific commits * chore: update flake lock * chore: Fix escape * chore: Security announcement * chore: Release * chore: Update mailmap * chore(ci): Unify artifact versions * fix(ci): Try use path that exists * feat: Mark v12 as stable * style: Fix clippy * fix: Simplify visibility check code * fix: Ensure that room ID is present on state events sent to client routes * feat: Run visibility checks on bundled relations * fix: Always return the same 404 message in context * fix: Return 404 when event is not accessible * fix: Don't incorrectly add thread root to relation response * refactor(perf): Push down visibility check after limit * refactor: Reduce database lookups in some cases * refactor: Improve code style for bundled aggregations * fix: Add aggregations to the search endpoint * fix: Filter out invalid replacements from bundled aggregations * feat: Add bundled aggregations support * refactor: Promote handling unsigned data out of timeline * fix: Also check sender origin * fix: Apply additional validation to invites * fix: Omit children with invalid state from space summary * style: Run clippy * feat: Check for incoming signatures * style: Reword TODO comment * feat: Fetch policy server signatures * fix(reload): Store paths to config files for admin reload * fix: Update comment in src/core/config/mod.rs * test: add test for config with default_room_version * docs: Add note about the type of the `default_room_version` option * fix: Allow using LDAP passwords in UIAA * fix(ci): Try explicitly specifying the ref for debian/fedora workflows * Keep location of Continuwuity configuration file consitant * fix: Enforce limits when joining rooms * fix: Perform additional validation on events * fix: remove trailing whitespace from secrets read from secrets file * fix: Don't halt and catch fire on deserialization errors in MSC4133 migration * fix(ci): Downgrade upload-artifact actions again to v3 this time * fix(ci): Downgrade upload-artifact actions to v4 * chore: Post-rebase cleanup * perf: Throttle frequent device metadata updates & centralise site * perf: Don't increment the device list version when updating local info * feat: Update device metadata upon hitting hot endpoints * chore: Fix line endings * chore(sync/v3): Remove unused imports * fix(sync/v3): Don't send rejected invites on initial syncs * refactor(sync/v3): Extract left room timeline logic into its own function * fix(sync/v3): Don't send dummy leaves on an initial sync * chore: Formatting * fix: Nitpicky comment reword * fix: Bump max startup time to ten minutes in the systemd unit * chore(sync/v3): More goat sacrifices * refactor(sync/v3): Split `load_joined_room` into smaller functions * fix: Correct error message * fix(sync/v3): Add a workaround for matrix-js-sdk/5071 * fix(sync/v3): Stop ignoring leave cache deserialization failures * fix(sync/v3): Do not include the last membership event when syncing left rooms * chore(sync/v3): Sacrifice a goat to clippy * fix(sync/v3): Cache shortstatehashes to speed up migration * fix(sync/v3): Implement a migration for the `userroomid_leftstate` table * fix(sync/v3): Fix invite filtering for federated invites * feat(sync/v3): Remove TL size config option in favor of using the sync filter * chore(sync/v3): Fix clippy lints * fix(sync/v3): Remove mysterious membership event manipulation code * fix(sync/v3): Properly sync room heroes * chore(sync/v3): Use "build_*" terminology instead of "calculate_*" * chore(sync/v3): Use more descriptive names for SyncContext properties * chore: Remove unneeded comment * fix: Use `prepare_lazily_loaded_members` for joined rooms * chore: Clippy fixes * feat: Typing notifications in simplified sliding sync * feat: Add a config option to change the max TL size for legacy sync * fix: Set `limited` to `true` for newly joined rooms again * fix: Properly sync left rooms * fix: Properly sync newly joined rooms * fix(sync/v3): Further cleanup + improve incremental sync consistency * fix: Correctly send limited timelines again * refactor: Split sync v3 into multiple files * feat: Drop support for MSC3575 (legacy sliding sync) * chore: Clippy fixes * fix(sync/v3): Cleanup part 1: mostly fix redundant data in `state` * chore: Tell continuwuity.org to use my livekit instance * chore(deps): update rust-patch-updates * chore(deps): update pre-commit hook crate-ci/typos to v1.40.0 * chore(deps): update actions/upload-artifact action to v5 * chore: Fix deprecation warning * chore(deps): update rust-patch-updates * fix(docs): blurry small logo, scroll resizing top bar * fix(docs): Correct typo and outdated name * fix(docs): Dead link * chore(deps): update dependency @rspress/plugin-client-redirects to v2.0.0-rc.1 * chore(deps): update dependency @rspress/plugin-preview to v2.0.0-rc.1 * chore(deps): Update actions/checkout to v6 * fix(ci): Remove explicit references to code.forgejo.org in action steps * chore(deps): update pre-commit hook crate-ci/committed to v1.1.8 * chore(deps): update dependency cargo-bins/cargo-binstall to v1.16.2 * style: Fix unnecessary qualification * feat: Enhance remote room leave handling * fix: add explicit fix of rpath * docs: Disable incomplete homepage prose for now * docs: Update homepage layout * docs: Fix a couple contrast issues * docs: Update rspress, add redirects * docs: Remove exclude rules * docs: Capitalise page title * feat(docs): Sitemap * fix: Repair symlink * docs: New site 🎉 * feat: Deal with low screen widths in CSS * docs: Update logos * chore(deps): update rust crate bytes to v1.11.0 * fix: revert to mdbook version 0.4.52 since >=0.5.0 broke rendering with our current setup completely * fix(docs): Partially revert 4a9bea57648a7d4f569670ca53258ec7a7e20353 * Remove rust flags since they're pretty much outdated and don't work anymore * chore(deps): update dependency cargo-bins/cargo-binstall to v1.16.0 * fix(ci): Use the version from rust-toolchain.toml when restoring caches * fix(docs): Fix git repository icon name * chore: Kick forgejo * fix(docs): Remove unused `multilingual` option in mdBook config * ci: Do not run release-image workflow on pull requests * chore(deps): update rust-patch-updates * fix(tests): Fix new syntax error in debug.rc * build(Cargo.toml): updated the versions automatically * build(Cargo.toml): resolve the fact that we have v0.5.0-rc.8.1 despite 0.5.0-rc.8 in toml * chore(deps): update ghcr.io/renovatebot/renovate docker tag to v42 * chore: Add rc.8.1 release announcement * style: Fix clippy failures from 9e73146 * fix: Restore continuwuity's remembering capabilities * chore(deps): update rust crate ctor to 0.6.0 * chore(deps): update pre-commit hook crate-ci/typos to v1.39.2 * Update README.md * chore(deps): update rust crate bytesize to v2.2.0 * fix(1163): Resolve algorithm misinterpretations * chore(deps): update rust crate syn to v2.0.110 * chore(deps): update dependency cargo-bins/cargo-binstall to v1.15.11 * ci: Mirror to Docker Hub * ci: Remove hardcoded default in setup-rust action * chore(Nix): Updated flake hashes * ci: Give flake hashes workflow permissions to push * chore: Update rust * chore(clippy): Remove old redundant lint * refactor(clippy): Unused self * style(clippy): Remove unneeded allocation * style(clippy): Elide lifetimes * style(clippy): Unnecessary move * style(clippy): Remove dead code * style(clippy): Make the event graph generic over the hasher * fix: Don't break when encountering the server user, as there may be real users after * feat(sentry): Include the commit hash in the release name * chore(deps): Upgrade tracing / telemetry ecosystem * fix(deps): Pin hyper-util back to the patched version * chore(deps): update opentelemetry-rust monorepo to 0.31.0 * feat: Enable sentry compilation feature * chore(deps): update dependency cargo-bins/cargo-binstall to v1.15.10 * chore: replace serde-yml with serde-saphyr * chore(deps): update rust-patch-updates * revert f7867cf6ca70dbf8f36e9b48d7fbb375e56d878b * ci: Clean up old images * chore(ci): Fix merge error * ci: Re-run mirror script when files change * ci: Use PATs for github registry * ci: Mirror to ghcr * chore(ci): Add git.nexy7574.co.uk image mirror (#1149) * chore: Don't try to update patched deps automatically * chore(deps): update pre-commit hook pre-commit/pre-commit-hooks to v6 * chore: Fix typos * chore(deps): update pre-commit hook crate-ci/typos to v1.39.0 * ci: Enable pre-commit in renovate * fix(user_can): Fix room creators being unable to redact events in v12 rooms * fix: Kicks in !v12 are impossible * fix: Incorrect interpretation of 5.5.4 * fix: Inverted creatorship check * fix: Don't check restricted join rules for invite joins * fix: Weird re-application of partially resolved state * fix: Unbans and kicks incorrectly checked creatorship in !v12 * chore: use upstream rust-jemalloc-sys-unprefixed after flake.lock update * chore: fix CI to make all checks green * feat: add taplo.toml to check now that we have it * feat: add treefmt * feat: add hydra jobs to build all packages * fix: apply rocksdb changes in checks and shll * feat(nix): flake-parts, first draft * fix(#1134): Update docs and implementation of `admin media delete-past-remote-media` (#1136) * fix: Prevent crash on process exit on MacOS * feat: Add option to control WAL compression * fix: Bump ruwuma, export new route, config loading * Repair * feat: set MSC4373 values * feat: Make a few improvements to the systemd unit * fix: Use mode 600 for config files on Fedora because they contain secret info * perf: Remove extraneous policy server check * feat: Add more granular controls for policy server calling (#1127) * fix: Policy server calls use the correct JSON object (#1126) * chore(deps): lock file maintenance * chore(deps): update https://github.com/actions/setup-node action to v6 * chore(deps): update rust-patch-updates * fix(ci): Don't use shallow clone when we're comparing git history * feat: Send notifications to systemd when a reload is triggered * chore(deps): lock file maintenance * chore(deps): update github-actions-non-major * chore: Update renovate config * chore(deps): update https://code.forgejo.org/actions/checkout action to v5 * fix(!714): Off-by-one in v5 sync * chore(deps): update dependency cargo-bins/cargo-binstall to v1.15.7 * feat: Proactively read Content-Length to reject oversized uploads * feat: Produce even more informative errors when saving media fails * feat: Produce a more informative error when uploading media fails * chore(deps): update ghcr.io/renovatebot/renovate docker tag to v41.146.0 * chore(deps): update ghcr.io/renovatebot/renovate docker tag to v41.144.1 * chore(deps): update ghcr.io/renovatebot/renovate docker tag to v41.143.1 * chore(deps): update ghcr.io/renovatebot/renovate docker tag to v41.141.0 * chore(deps): update ghcr.io/renovatebot/renovate docker tag to v41.138.1 * chore(deps): update ghcr.io/renovatebot/renovate docker tag to v41.135.5 * chore(deps): update ghcr.io/renovatebot/renovate docker tag to v41.135.4 * fix: Add missing ldap3 feature * chore(deps): update rust crate ldap3 to 0.12.0 * chore(deps): update ghcr.io/renovatebot/renovate docker tag to v41.132.5 * chore(deps): update ghcr.io/renovatebot/renovate docker tag to v41.132.2 * fix: Upload debs built on a schedule * fix: Upload RPMs built on a schedule * chore(deps): update ghcr.io/renovatebot/renovate docker tag to v41.131.9 * chore(deps): update ghcr.io/renovatebot/renovate docker tag to v41.131.8 * chore(deps): update dependency cargo-bins/cargo-binstall to v1.15.6 * chore(deps): update ghcr.io/renovatebot/renovate docker tag to v41.131.6 * fix(upgrade): Potentially resolve CI clippy errors * fix(stateres): Creators can always unban * chore(deps): update ghcr.io/renovatebot/renovate docker tag to v41.131.2 * chore(deps): update ghcr.io/renovatebot/renovate docker tag to v41.130.1 * chore(deps): update github-actions-non-major * fix(v12): Create tombstone event on room upgrade * fix: V12 room upgrades * fix(stateres): Correctly fetch missing auth events for incoming PDUs * fix: Fix panic in debug builds caused by MSC4133 migration * chore(deps): update ghcr.io/renovatebot/renovate docker tag to v41.127.2 * ci: Only run RPM builds on tags or schedule * fix: Attempt to enable RPM signing * feat(ci): Add Fedora RPM package build workflow * Build Debian packages and upload them to Forgejo's repository (#996) * fix(ci): Typo * chore(nix): bump rocksdb version in flake.nix to 10.5.fb * chore(deps): update ghcr.io/renovatebot/renovate docker tag to v41.125.2 * ci: Split Rust build cache into dependencies and incremental caches * fix: Use node_version in npm cache key for wrangler installation * ci: Migrate to detect-versions with namespaced cache keys * ci: Run image release workflow on tag * ci: Trace commands to push docker manifests * ci: Change tag generation to use suffix flavour * feat: Advertise support for MSC4155 * chore(deps): update github-actions-non-major * fix: Event filters all non-state events * chore: Bump version to rc.8 * Update resolv-conf to upstream 0.7.5 * Add support for MSC4155 (#1013) * chore(deps): update ghcr.io/renovatebot/renovate docker tag to v41.121.4 * fix: Fix restricted join rules inconsistencies * style: Tidy up 1054 * fix: Don't perform local join when there's no remote servers * fix: Update debug assertion with new serde type location * chore(deps): update ghcr.io/renovatebot/renovate docker tag to v41.119.5 * chore(deps): update ghcr.io/renovatebot/renovate docker tag to v41.118.1 * chore(deps): update ghcr.io/renovatebot/renovate docker tag to v41.117.0 * chore(deps): update ghcr.io/renovatebot/renovate docker tag to v41.116.10 * chore(deps): update ghcr.io/renovatebot/renovate docker tag to v41.116.8 * chore(deps): lock file maintenance * chore(deps): update dependency cargo-bins/cargo-binstall to v1.15.5 * chore(deps): update github-actions-non-major * fix(ci): Use github env namespace as forgejo is still unsupported * fix: Fix nexy's very accurate and not-at-all busted fix to my fix * style: Fix clippy lint errors * fix: Use a database migration to fix corrupted `us.cloke.msc4175.tz` fields * fix: Fully qualify action * feat(ci): Add a workflow to update flake hashes * chore: Temporarily disable bad tests * Implement room v12 (#943) * chore(deps): update ghcr.io/renovatebot/renovate docker tag to v41.115.6 * fix: Remove legacy check for `u.` prefix * fix: Slightly more parallelism * fix: Remove needless `async` marker * fix: Fix incorrect deserialization of MSC4133 profile fields * chore: Code cleanup * fix: Nuke explicit references to the MSC4175 `tz` profile field * chore(deps): update ghcr.io/renovatebot/renovate docker tag to v41.115.0 * fix: Handle runner cargo bin path migration in timelord action * chore(deps): update ghcr.io/renovatebot/renovate docker tag to v41.113.4 * chore(deps): update ghcr.io/renovatebot/renovate docker tag to v41.113.2 * fix: Properly deserialize changes to legacy fields made with MSC4133 endpoints * chore(1014): Include MSC4155 in build features to resolve build errors * chore(1014): Bump ruwuma * style(1014): Remove unnecessary commented code * fix(!1014): Don't prematurely return during registration * fix: Resolve Forgejo runner v11 matrix job execution failure * chore(deps): update ghcr.io/renovatebot/renovate docker tag to v41.112.0 * chore(renovate): Specify automerge strategy * chore(renovate): Add auto-merge for renovatebot and reorganise package rules * chore(deps): update ghcr.io/renovatebot/renovate docker tag to v41.109.0 * chore(deps): update ghcr.io/renovatebot/renovate docker tag to v41.106.0 * ci: Split Docker builds into sequential release and max-perf stages * ci: Fix BuildKit cache invalidation and add Haswell-optimised builds * chore(deps): lock file maintenance * fix: Use forgejo/upload-artifact@v4 for artifact consistency * chore(deps): update ghcr.io/renovatebot/renovate docker tag to v41.99.9 * fix: Fix artifact action compatibility and add digest debugging * chore(deps): Replace serde_yaml with serde_yml * chore(deps): update rust crate const-str to 0.7.0 * chore(deps): update dependency cargo-bins/cargo-binstall to v1.15.4 * chore(deps): update https://github.com/actions/setup-node action to v5 * chore: Update resolv git hash * chore: Unify actions versions * chore: Fix nightly-only clippy lints * fix(MSC4277): Undo refuted response changes * style(MSC4277): Run lints to satisfy checks * feat(MSC4277): Unify reporting endpoint behaviours * chore(deps): update ghcr.io/renovatebot/renovate docker tag to v41.99.7 * chore: Update renovate CI * chore: Update cargo lockfile * ci: Make timelord docker work locally * ci: Refactor timelord action to use git-warp-time fallback * chore(deps): update https://github.com/renovatebot/github-action action to v43.0.11 * fix: Make RA use the `full` feature * fix: Nuke `src/api/client/utils.rs` * style: Run clippy * feat: Do not persist remote PDUs fetched with admin commands * fix: Fix pagination tokens being corrupted for backfilled PDUs * fix: Put the output of `!admin query room-timeline pdus` in a codeblock * fix: Use `handle_incoming_pdu` directly to keep remote PDUs as outliers * feat: Ask remote servers for individual unknown events * feat(PR977): Log more things in the join process * perf(pr977): Remove redundant ACL check in send_join * fix(PR977): Adjust some log levels * fix(PR977): Omitting redundant entries from the auth_chain caused problems * feat(PR977): Support omitting members in the send_join response * ci(release-image): Skip digest upload when not pushing images * ci(release-image): Unify binary extraction using BuildKit local output * ci(release-image): Skip setup steps when using persistent BuildKit * fix(ci): Use image output instead of docker for fork PRs * fix(ci): Resolve registry push failures for fork PRs * ci(docs): Optimise build performance with caching and conditional Node.js * fix(docker): Resolve liburing.so.2 loading error for non-root users * fix(ci): Replace Mozilla sccache action with token-free alternative * feat(nix): remove rocksdb from flake.nix inputs * fix: Remove bad colon in workflow * feat: Replace Jaeger with OTLP * chore: Upgrade ctor, cbor * chore(deps): Upgrade minor incompatible dependencies * ci: Support optional persistent BuildKit endpoints in Docker builds * ci: Fix CI not triggering on external pull requests * fix: Move packaging files from `dist/` to `pkg/` * fix: Remove unnecessary user and directory modifications * fix: Update debian systemd unit path * feat: Move packaging scripts into `dist/` and consolidate the service files * chore: Add Ginger's GH noreply email to mailmap * Update conduwuit-example.toml * Set the DB path as an env var in systemd service files to prevent footgunning * chore(PR956): Update admin docs * feat: Only inject vias when manual ones aren't provided during join * fix: Make remote leave helper a public fn * feat: Force leave remote rooms admin command * perf(MSC4323): Parallelise some check futs * perf(MSC4323): Remove redundant authorisation checks * feat(MSC4323): Add versions flag * style(MSC4323): Satisfy our linting overlords * feat(MSC4323): Advertise suspension support in capabilities * feat(MSC4323): Implement agnostic suspension endpoint * chore(deps): update https://github.com/reproducible-containers/buildkit-cache-dance action to v3.3.0 * feat: Cache renovate data, RO GitHub token * chore: Update renovate config, limit cargo updates * fix(sync/v2): Room leaves being omitted incorrectly * fix(fedora): Correct linting issues in RPM spec file * Update URL to point at the landing page * Update long description to match deb package * Add spec and service files for creating an RPM package * fix: Resolve Clippy CI failures from elided lifetime warnings * chore: Add reasons for test skips * refactor(ci): Consolidate Rust checks with optimised toolchain setup * Update renovate.json * fix: Post-merge compile issues * feat: add ldap_only config option * fix: Correctly pass ldap feature from the default crate * fix: Make builds without LDAP work correctly * chore: Fix default attributes for config * chore: remove unused LDAP mail attribute * feat: ldap login * chore: Fix clippy lints with minimal diff * chore(nix): update `fenix` input * chore(nix): make rustfmt-nightly available to default dev shell * chore(rust): drop rustfmt from rust-toolchain.toml * chore(rust): bump version 1.87 -> 1.89 * fix(ci): Downgrade setup-uv action from v6 to v5 * chore(nix): exec 'use flake' with direnv on NixOS systems * chore(nix): bump rocksdb version in flake.nix to 10.4.fb * fix(ci): Configure Renovate for Forgejo platform * chore(ci): Remove obsolete prefligit action * fix(ci): Add full GitHub URL to renovate action * ci: Rename prefligit-checks.yml to prek-checks.yml * ci: Update prefligit to prek * ci: Add Renovate for automated dependency management * fix(build): Remove hardened_malloc from full feature set * fix: Drop fake room v2 support ------------------------------------------------------------------- Tue Aug 12 15:35:15 UTC 2025 - Marcus Rueckert <mrueckert@suse.de> - fork continuwuity from conduwuit ------------------------------------------------------------------- Tue Aug 12 15:32:40 UTC 2025 - Marcus Rueckert <mrueckert@suse.de> - Update to version 0.5.0~rc.7+git12.583cb924: * refactor: address code review feedback for auth and pagination improvements * fix(relations): improve thread pagination and include root event * fix(auth): prevent token collisions and optimise lookups * fix(appservice): create sender_localpart user during appservice startup * fix(arch): fix config.toml not being loaded from LoadCredentials directory * fix(policy-server): Call the PS later in the PDU creation process * docs: Make traefik router names consistent * docs: Set traefik labels * chore: Update funding file * docs: Fix documentation link in README ------------------------------------------------------------------- Wed Apr 09 08:27:44 UTC 2025 - Marcus Rueckert <mrueckert@suse.de> - Update to version 0.5.0~rc4+git0.d8311a5ff: * bump crossbeam-channel bc yanked crate with potential double free * bump tokio because of RUSTSEC-2025-0023 * update new complement flakes * change forbidden_server_names and etc to allow regex patterns for wildcards * drop unnecessary info log to debug * add trace logging for room summaries, use server_in_room instead of exists * parallelise IO of user searching, improve perf, raise max limit to 500 * bump rust toolchain to 1.86.0 * use patch of resolv-conf crate to allow no-aaaa resolv.conf option * simplify space join rules related * simplify acl brick-check conditions * downgrade `deranged` crate * try partially reverting 94b107b42b722aff9518f64ad603ce01665b25f3 * update default room version to v11 * extend extract_variant to multiple variants * abstract and encapsulate the awkward OptionFuture into Stream pattern * move core::pdu and core::state_res into core::matrix:: ------------------------------------------------------------------- Fri Apr 04 20:21:25 UTC 2025 - Marcus Rueckert <mrueckert@suse.de> - Update to version 0.5.0~rc4+git0.4e5b87d0c: * add missing condition for signatures upload failures * remove the db pool queue full warning * refactor incoming prev events loop; mitigate large future * remove additional unnecessary Arc * further simplify get_missing_events; various log calls * add some debug logging and misc cleanup to keys/signatures/upload * move systemd stopping notification point * move runtime shutdown out of main; gather final stats * patch hyper-util due to conflicts with federation resolver hooks * bump additional dependencies * upgrade hickory and hyper-util dependencies * fix well-known using the hooked resolver * leave room locally if room is banned, rescind knocks on deactivation too * add appservice MSC4190 support * fixup+update msc3266, add fed support, parallelise IO * default shared history vis on unknown visibilities, drop needless error log * significantly improve get_missing_events fed code * remove pointless and buggy *_visibility in-memory caches * fix weird issue with acl c2s check * revert hyper-util upgrade due to continued DNS issues * bump dependencies * upgrade dependency ByteSize * use async_trait without axum re-export * remove several services.globals config wrappers * workaround some large type name length issues * remove recently-made-unnecessary unsafe block * reorg PduEvent strip tools and callsites * add spans for for jemalloc mallctl points * instrument tokio before/after poll hooks * bump tokio to 1.44.1 * disambiguate UInt/u64 type related in client/api/directory; use err macros. * add stub for database benches * add --read-only and --maintenance program option * fix client hierarchy loop condition ------------------------------------------------------------------- Sat Mar 29 13:19:44 UTC 2025 - Marcus Rueckert <mrueckert@suse.de> - Update to version 0.5.0~rc3+git112.3e57b7d35: * Update expected test results * Fix off-by-one error when fetching room hierarchy * remove sccache from ci for now * fix benches from state-res * use qualified crate names from within workspace * mark get_summary_and_children_federation Send * default config item to 'none' when zstd_compression not featured * abstract raw query command iterations * fix lints * use #[ignore] for todo'ed tests * split well_known resolver into unit * implement clear_cache() for resolver service * make service memory_usage()/clear_cache() async trait * add Map::clear() to db interface * add FIFO compaction for persistent-cache descriptor; comments/cleanup * assume canonical order in db serialization test * parallelize IO for PublicRoomsChunk vector * fix unused import without feature jemalloc_conf * re-sort pushkey_deviceid (33c5afe050) * delete pushers created with different access token on password change * replace unnecessary check when updating device keys * check if we already have a more preferable key backup before adding * guard against using someone else's access token in UIAA * skip a few flakey complement tests * respect include_leave syncv3 filter * bump ruwuma * stop doing complement cert gen and just use self-signed cert * fix some nightly clippy lints * respect membership filters on /members * ignore humantime dep as tracing console-subscriber uses it (somewhere) * remove most of cargo test from engage as crane does that but with more caching * bump ruwuma * bump tracing-subscriber, allowlist cargo-doc lint in admin room ------------------------------------------------------------------- Tue Mar 11 11:25:27 UTC 2025 - mrueckert@suse.de - Update to version 0.5.0~rc3+git79.c4b05e77f: * Fix up wording in the doc comments for admin media deletion (#694) * Check the `room_types` filter when searching for local public rooms (#698) * docs: refactor reverse proxy setup sections (#701) * misc docs updates * add download-artifact pattern for OCI images only * update complement test results * bump ruwuma to fix a threads issue, fix more error codes, delete legacy sytest cruft * adjust complement cert generation * implement disable TLS validation config option * fix a few error codes * update complement results * fix a few things to make some complement tests pass * bump ruwuma to maybe fix rare device key upload issues * comment gotestfmt for now * always disable fed, evict admins, and forget the room when banning a room * add cargo auditable for future use, ignore paste dependency being unmaintained for now * implement MSC4267 automatically forgetting room on leave * bump rust-rocksdb * adjust complement script to allow using your own hs OCI image without nix * add gotestfmt log output to complement script and CI output * bump complement * set file_shape for roomsynctoken_shortstatehash to 3, remove rust-rocksdb package spec * ci: allow ourselves to write to the public docs directory * bump rust-rocksdb * add some ACL paw-gun checks, better `PUT` state event validation * allow broken no-op deny+allow room server ACL keys * remove unnecessary map_err * bump our rocksdb fork * add new complement test results * bump rocksdb to v9.11.1 * remove rust-rocksdb dylib wrapper as we have a fork already * bump ring to 0.17.12 * dont build with zlib in the nix flake * fix TestFetchMessagesFromNonExistentRoom complement test * add missing target * dont send push notifications from ignored users PDUs * remove zlib as a default rocksdb compression option * reject device keys if they dont match user ID or device ID or are missing fields * bump rust-rocksdb and ruwuma * allow both lowercase and uppercase usernames to login * add val_size_hints on membership cfs (todo remove these anyways) * add more safety checks before allowing a room marked as forgotten * automatically forget rooms on leaving * switch to self-hosted ci runner, remove sudo usages * always run checks when building in nix (doCheck true) * delete snappy, bump rust-rocksdb, bump rocksdb to v9.10.0 again * remove nix run ci test as its covered by complement * refactor+fix various issues with regs/logins and admin user commands * bump nix lockfile, bump cargo.lock, bump ruwuma * run nightly cargo fmt again * ignore errors instead of expecting for state gathering * try bumping cache-nix-action to v6 * fix edition 2024 lints * try adding back some skipped complement tests * bump complement, actually run all tests * stop building mac binaries for now because of linker issues * run cargo fix for rust 2024 changes and rustfmt * bump nix lock, update to rust 2024 and 1.85.0 toolchain * increase compression levels for some column families again * Implement MSC3967, also fixes error when uploading keys in element * bump ruwuma * fix unsafe precondition violation * bump ruwuma * refactor spaces * better error logging on send_join response failure * bump ruma * optimize further into state-res with SmallString * larcen state-res from ruma * optimize with SmallString; consolidate related re-exports * add conf item to re-disable atomic flush * add state accessories for iterating state_keys of a type * add unconstrained feature to service worker * add tail-efficient logic extension * split spaces service * simplify client event endpoint * request auth media first * fix pdu add_relation() helper * join initial fetches in get_relations() * Fix in caddyfile guide * comment out borked ci thing for now ------------------------------------------------------------------- Sat Feb 08 22:11:53 UTC 2025 - mrueckert@suse.de - Update to version 0.5.0~rc3+git0.3b0d965a2: * add back --all-targets for clippy/all ci step * comment out gnu x86 from nix flake file ------------------------------------------------------------------- Sat Feb 08 01:09:34 UTC 2025 - mrueckert@suse.de - Update to version 0.5.0~rc3+git0.cfcd6eb1a: * bump ruwuma to stop erroring on empty push response body * add missing source OCI image label metadata * add --locked and --no-fail-fast to cargo test, add other feature test * bump rust-rocksdb * misc nix tweaks to maybe speedup ci * catch clippy lints for --no-default-features builds * fix warnings and errors when building with no features * bump db version to 17, cleanup, rerun old migrations for users who downgraded * add default systemd support for a TTY to use console mode from * add systemd unit logging mode ------------------------------------------------------------------- Sun Jan 19 15:10:43 UTC 2025 - Marcus Rueckert <mrueckert@suse.de> - initial package