История коммитов

.
refactor(registration): migrate to controller architecture
Split into RegistrationController and ConfirmEmailController.
Extracted user creation and email sending into RegisterUserUseCase.
Added RegistrationFormDTO for passing validated form data.
Email confirmation now uses clean URL /registration/confirm-email.
.
refactor(login): migrate to controller architecture with use cases
Split login/logout into separate controllers and routes (/login, /logout).
Extracted login business logic into PerformLoginUseCase returning LoginResultDTO.
Added LoginStatus enum for match-based controller dispatch.
Updated logout links in both themes to /logout.
.
refactor(language): migrate to controller architecture
.
refactor(comments): replace BBCode editor with CKEditor
Switch comments in downloads and library modules from BBCode/WysiBB to
CKEditor. Text is now stored as HTML and sanitized via HTMLPurifier on
save. Message length validation uses EditorContentNormalizer (same
approach as forum) to correctly handle embedded media.

Add converters for existing data:
- install/downloads_comments_converter.php (download__comments)
- install/library_comments_converter.php (cms_library_comments)
.
refactor(mail): implement outgoing conversations and clean up legacy files
.
refactor(mail): implement incoming conversations repository and mapping
.
refactor(mail): scaffold incoming conversations
.
refactor(mail): fix translations and remove legacy files
.
refactor(mail): delete operations
.
docs: add 9.9 changelog section, mark 9.8 as released