Skip to content

v2.22.0

Choose a tag to compare

@hepeichun hepeichun released this 02 Jun 11:48
· 31 commits to master since this release

v2.22.0

This release focuses on improving short link batch management, introducing system administrator support, and fixing hash route URL handling.

New Features

  • Added short link batch operation APIs:
    • POST /api/v1/short_links/batch/status: batch enable or disable short links
    • POST /api/v1/short_links/batch/delete: batch delete short links
  • Batch operations now support ID deduplication and return separate success and failed results for partial-success handling.
  • Added system administrator support via users.is_system_admin:
    • Initial installation admin is now marked as a system administrator
    • User responses now include is_system_admin
    • Non-system admins cannot manage system admins
    • The system prevents disabling or deleting the last remaining system administrator

Improvements

  • Updated CE branding assets with new logo SVG files and usage documentation.
  • /favicon.ico now redirects to /admin/favicon.ico and supports both GET and HEAD.
  • Improved CE / EE migration loading logic with support for extra EE migration directories.
  • Removed EE-only schema migrations from CE.
  • Added migration file naming guidelines to the README.

Bug Fixes

  • Fixed an issue where target URLs containing hash routes, such as https://example.com/#/path, could be incorrectly escaped.
  • Fixed query parameter passthrough and UTM merging behavior for URLs with hash fragments.
  • Improved validation error messages for short link create, update, list, and batch create APIs.
  • Improved HTTP error code mapping for short link business errors so parameter-related errors return Bad Request instead of Internal Error.

Upgrade Notes

  • This release includes a database migration that adds the is_system_admin column to the users table.
  • During migration, if no system administrator exists, the first active non-deleted user will be promoted to system administrator automatically.
  • Please ensure the corresponding MySQL, PostgreSQL, or SQLite migration scripts are executed during upgrade.