- Increase password column from varchar(64) to varchar(255) to
prevent silent truncation of encrypted passwords
- Add missing UNIQUE constraint on iid in MySQL
- Add missing IX_ident_switch_iid index in PostgreSQL
- Remove deprecated int display width in MySQL (int(10) -> int)
- Fix trailing comma syntax error in SQLite 2018121800 migration
- Normalize indentation across all initial SQL files
- Add migration 2026021000 for all engines to fix existing installs
Extract business logic into dedicated classes under lib/:
- IdentSwitchForm: form building, validation, and persistence
- IdentSwitchSwitcher: account switching, SMTP config, special folders
- IdentSwitchPreconfig: domain-based preconfiguration
The main plugin class remains the orchestrator, registering hooks
and delegating to the appropriate handler. Constants changed from
private to public to allow cross-class access.
- fr_FR, de_DE: add missing keys (imap.delimiter, smtp.auth.imap,
smtp.auth.none)
- it_IT, nl_NL: rewrite with current key names (form.common.*,
form.imap.*, form.smtp.*) and add all missing SMTP keys
- All 7 languages now have the same complete set of keys
- Use $config instead of deprecated $rcmail_config
- Replace array() with short array syntax []
- Replace # comments with // for consistency
- Fix typo: 'threated' -> 'treated'
- Add docblocks to all classes, methods, and constants
- Add type declarations to all parameters and return types
- Add visibility modifiers to all methods and constants
- Use PHP 8.0+ syntax: match expression, named arguments,
str_contains(), str_starts_with(), str_ends_with()
- Replace array() with short array syntax []
- Use null coalescing operator ?? instead of isset ternaries
- Use early returns instead of deeply nested if/else
- Remove Roundcube < 1.6 compatibility code (smtp_server/smtp_port)
- Fix unreferenced $config variable in on_switch default restore
- Use union type array|false for get_preconfig return
Add proper copyright notices to all source files with accurate date
ranges per contributor based on git history. Add contributors to
composer.json authors and README.
- Rename package to gecka/roundcube-ident_switch
- Change license from GPL-3.0+ to AGPL-3.0+
- Bump PHP requirement to >= 8.1
- Bump roundcube/plugin-installer to >= 0.3.0
- Set Roundcube min-version to 1.6
- Update homepage and support URLs to GitHub
- Update composer repository URL to HTTPS
ident_switch.php - Solve the issue that don't set the good configuration variable for the smtp_host on the latest version + dev of roundcube
Approved-by: Boris Gulay