From 11c393100775be66fa3e6eaa45e82fa4a7c625e5 Mon Sep 17 00:00:00 2001 From: Jesse Wierzbinski Date: Fri, 28 Jun 2024 17:44:42 -1000 Subject: [PATCH] docs: :memo: Add changelog for 0.7, update README with new features --- CHANGELOG.md | 46 ++++++++++++++++++++++++++++++++++++++++++++++ README.md | 8 ++++++-- 2 files changed, 52 insertions(+), 2 deletions(-) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 00000000..82d3710e --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,46 @@ +# `0.7.0` + +## Backwards Compatibility + +Lysand Server `0.7.0` is backwards compatible with `0.6.0`. However, some new features may not be available to older clients. Notably, `lysand-fe` has had major improvements and will not work with `0.6.0`. + +## Features + +- Switched over to [**`@lysand-org/federation`**](https://github.com/lysand-org/api), our new federation library, for the federation logic. +- Upgrade Bun to `1.1.17`. This brings performance upgrades and better stability. +- Note deletions are now federated. +- Note edits are now federated. +- Added option for more federation debug logging. +- Added [**Roles API**](docs/api/roles.md). +- Added [**Permissions API**](docs/api/roles.md) and enabled it for every route. +- Added [**TOS and Privacy Policy**](docs/api/mastodon.md) endpoints. +- Added [**Challenge API**](docs/api/challenges.md). (basically CAPTCHAS). This can be enabled/disabled by administrators. No `lysand-fe` support yet. +- Added ability to change the `username` of a user. ([Mastodon API extension](docs/api/mastodon.md)). +- Add OpenID Connect registration support. Admins can now disable username/password registration entirely and still allow users to sign up via OpenID Connect. +- Add option to never convert vector images to a raster format. +- Refactor logging system to be more robust and easier to use. Logfiles are now automatically rotated. +- Add support for HTTP proxies. +- Add support for serving Lysand over a Tor hidden service. + +## Bug Fixes + +- Fix favouriting/unfavouriting sometimes returning negative counts. +- Non-images will now properly be uploaded to object storage. +- Fix image decoding error when passing media through proxy. +- OpenID Connect now correctly remembers and passes `state` parameter. +- OpenID Connect will not reject some correct but weird redirect URIs. +- Markdown posts will not have invisible anchor tags anymore (this messed up accessibility). +- Reverse proxies incorrectly reporting an HTTPS request as HTTP will now be handled correctly during OpenID Connect flows. +- API Relationships will now correctly return `requested_by`. +- Make process wait for Ctrl+C to exit on error, instead of exiting immediately. This fixes some issues with Docker restarting endlessly. +- Animated media will now stay animated when uploaded. +- Some instance metadata will no longer be missing from `/api/v2/instabnce` endpoint. In fact, it will now be more complete than Mastodon's implementation. + +## Removals + +- Remove old logging system, to be replaced by a new one. + +## Miscellaneous + +- Remove Node.js from Docker build. +- Update all dependencies. \ No newline at end of file diff --git a/README.md b/README.md index 0ab11f06..2bbb3744 100644 --- a/README.md +++ b/README.md @@ -36,18 +36,22 @@ - [x] Automatic image conversion to WebP or other formats - [x] Scripting-compatible CLI with JSON and CSV outputs - [x] Markdown support just about everywhere: posts, profiles, profile fields, etc. Code blocks, tables, and more are supported. -- [ ] Moderation tools +- [ ] Advanced moderation tools (work in progress) - [x] Fully compliant Mastodon API support (partial) - [x] Glitch-SOC extensions - [x] Full compatibility with many clients such as Megalodon - [x] Ability to use your own frontends - [x] Non-monolithic architecture, microservices can be hosted in infinite amounts on infinite servers - [x] Ability to use all your threads -- [x] Support for SSO providers (and disabling password logins) +- [x] Support for SSO providers, as well as SSO-only registration. - [x] Fully written in TypeScript and thoroughly unit tested - [x] Automatic signed container builds for easy deployment - [x] Docker and Podman supported - [x] Invisible, Proof-of-Work local CAPTCHA for API requests +- [x] Advanced Roles and Permissions API. +- [x] HTTP proxy support +- [x] Tor hidden service support +- [x] Ability to change the domain name in a single config change, without any database edits ## Screenshots