๐ Stable Release v2025.12.0
What's Changed
๐ Features
- add bundle preview functionality and improve token generation tests
- add manual cleanup route for expired users in settings closes #1047
- complete Russian translation
- complete Romanian translation
- Apply max_active_sessions to Jellyfin user policy
- Add 'Max Active Sessions' input to invite form
- Add max_active_sessions column to Invitation model
- add tests for password reset functionality
- improve the password reset functionality for jellyfin
- add UI password reset feature
- Implement link password reset functionality
- Implements password reset functionality.
- Adds password reset functionality for Jellyfin defintion function
๐ Bug Fixes
- merge migrations
- reuses generic server type tag
โป๏ธ Code Refactoring
- improve code formatting and readability across multiple files
๐ง Build System / Dependencies
- bump ty from 0.0.1a29 to 0.0.1a32
- bump apprise from 1.9.5 to 1.9.6
- bump ruff from 0.14.7 to 0.14.8 in the linting-tools group
- bump pytest from 9.0.1 to 9.0.2 in the testing-tools group
- bump flask-limiter in the flask-ecosystem group
- bump tiny-markdown-editor in /app/static
- bump bowser from 2.13.0 to 2.13.1 in /app/static
- bump ty from 0.0.1a27 to 0.0.1a29
- bump ruff from 0.14.6 to 0.14.7 in the linting-tools group
- bump bowser from 2.12.1 to 2.13.0 in /app/static
- bump actions/checkout from 5 to 6
- bump plexapi from 4.17.1 to 4.17.2
- bump ty from 0.0.1a26 to 0.0.1a27
- bump the linting-tools group with 2 updates
- bump the testing-tools group with 2 updates
๐ Styling
- improve HTML formatting and indentation across multiple templates
๐งน Chores
๐ Other Changes
- i18n: refresh POT and update PO files [skip ci]
- i18n: refresh POT and update PO files [skip ci]
- i18n: refresh POT and update PO files [skip ci]
- i18n: refresh POT and update PO files [skip ci]
- i18n: refresh POT and update PO files [skip ci]
- Update app/templates/tables/user_card.html
- Update app/blueprints/admin/routes.py
- Update app/blueprints/admin/routes.py
- Update app/blueprints/api/api_routes.py
- i18n: refresh POT and update PO files [skip ci]
- i18n: refresh POT and update PO files [skip ci]
- Update app/blueprints/admin/routes.py
- i18n: refresh POT and update PO files [skip ci]
- Add clarifying comment for max_active_sessions behavior
- Fix duplicate max_active_sessions input IDs in invite modal
- Initial plan
- i18n: refresh POT and update PO files [skip ci]
- i18n: refresh POT and update PO files [skip ci]
- i18n: refresh POT and update PO files [skip ci]
- i18n: refresh POT and update PO files [skip ci]
- i18n: refresh POT and update PO files [skip ci]
- i18n: refresh POT and update PO files [skip ci]
- i18n: refresh POT and update PO files [skip ci]
- i18n: refresh POT and update PO files [skip ci]
- Update app/services/invites.py
- i18n: refresh POT and update PO files [skip ci]
- i18n: refresh POT and update PO files [skip ci]
- i18n: refresh POT and update PO files [skip ci]
- Fix: password reset token cascade delete
- Migrate workflows to Blacksmith
- Migrate workflows to Blacksmith
- i18n: refresh POT and update PO files [skip ci]
Full Changelog: v2025.12.0...v2025.12.0
๐ All Commits Included (65 commits)
Click to expand commit list
c72d0f6b chore: release v2025.12.0
89762d96 feat: add bundle preview functionality and improve token generation tests
3d255067 style: improve HTML formatting and indentation across multiple templates
4af196f0 feat: add manual cleanup route for expired users in settings closes #1047
ac36e793 refactor: improve code formatting and readability across multiple files
6758372b fix: merge migrations
f0aed731 i18n: refresh POT and update PO files [skip ci]
1a6d8aac build(deps): bump ty from 0.0.1a29 to 0.0.1a32
b0dc09a8 build(deps): bump apprise from 1.9.5 to 1.9.6
f1cc788b build(deps): bump ruff from 0.14.7 to 0.14.8 in the linting-tools group
5a3cb033 build(deps): bump pytest from 9.0.1 to 9.0.2 in the testing-tools group
d4f858f4 build(deps): bump flask-limiter in the flask-ecosystem group
b4e27be2 build(deps): bump tiny-markdown-editor in /app/static
bb040f7b i18n: refresh POT and update PO files [skip ci]
60f04401 i18n: refresh POT and update PO files [skip ci]
695fc43c i18n: refresh POT and update PO files [skip ci]
e0ff05b2 i18n: refresh POT and update PO files [skip ci]
3de68314 feat(i18n): complete Russian translation
97da36fa feat(i18n): complete Romanian translation
c4bafddc Update app/templates/tables/user_card.html
2b2e2891 Update app/blueprints/admin/routes.py
a2259f7b Update app/blueprints/admin/routes.py
9651cd02 Update app/blueprints/api/api_routes.py
25f8c63e i18n: refresh POT and update PO files [skip ci]
046a2f08 i18n: refresh POT and update PO files [skip ci]
df6181a8 Update app/blueprints/admin/routes.py
6d0a58ee build(deps): bump bowser from 2.13.0 to 2.13.1 in /app/static
1b58337e i18n: refresh POT and update PO files [skip ci]
4bf1f26c Add clarifying comment for max_active_sessions behavior
e97fdd5e Fix duplicate max_active_sessions input IDs in invite modal
20b189bf Initial plan
71c21907 build(deps): bump ty from 0.0.1a27 to 0.0.1a29
851d0707 build(deps): bump ruff from 0.14.6 to 0.14.7 in the linting-tools group
4d9bc57d i18n: refresh POT and update PO files [skip ci]
bc4d5488 i18n: refresh POT and update PO files [skip ci]
d4a3cc84 i18n: refresh POT and update PO files [skip ci]
7b6f78c5 i18n: refresh POT and update PO files [skip ci]
d494ee96 i18n: refresh POT and update PO files [skip ci]
000207d6 i18n: refresh POT and update PO files [skip ci]
b7becbfd i18n: refresh POT and update PO files [skip ci]
f1536e79 build(deps): bump bowser from 2.12.1 to 2.13.0 in /app/static
4b5ef073 build(deps): bump actions/checkout from 5 to 6
622249c4 build(deps): bump plexapi from 4.17.1 to 4.17.2
a1d37315 build(deps): bump ty from 0.0.1a26 to 0.0.1a27
864dfa99 build(deps): bump the linting-tools group with 2 updates
78ff16f3 build(deps): bump the testing-tools group with 2 updates
9f12e6d1 i18n: refresh POT and update PO files [skip ci]
d50e0011 Update app/services/invites.py
f3a80f8b i18n: refresh POT and update PO files [skip ci]
ef877cc2 i18n: refresh POT and update PO files [skip ci]
1afa3793 feat: Apply max_active_sessions to Jellyfin user policy
237fe620 feat: Add 'Max Active Sessions' input to invite form
b2cb69a8 feat: Add max_active_sessions column to Invitation model
6a992367 i18n: refresh POT and update PO files [skip ci]
42d286ee Fix: password reset token cascade delete
ba7fdce0 fix: reuses generic server type tag
1f2a5baf feat: add tests for password reset functionality
1f748c37 feat: improve the password reset functionality for jellyfin
fadbf9df feat: add UI password reset feature
00f3ef95 feat: Implement link password reset functionality
930b1c1a feat: Implements password reset functionality.
fe57277b feat: Adds password reset functionality for Jellyfin defintion function
76f659f1 Migrate workflows to Blacksmith
c5002be2 Migrate workflows to Blacksmith
b30eb157 i18n: refresh POT and update PO files [skip ci]