136 changes from 13 contributors (5 new contributors). 95 files were affected.
What's Changed
New features
- feat(backend): add configurable socket timeout for IMAP connections by @Shadow243 in #2097
- feat(backend): add TLS options for MySQL/MariaDB connections by @iiroak in #2103
- feat(other): log extra information for failed authentication by @IrAlfred in #2113
Bug fixes
- fix(backend): check select_mailbox() result in get_mailbox_page() by @HomoMachinaNeuralis in #2061
- fix(module/smtp): prevent path traversal in chunked attachment upload by @IrAlfred in #2059
- fix(module/tags): scope tag removal and lookup to the message's server and folder by @kirinriki7777-sys in #2068
- fix(module/contacts): escape From header values in add-contact popup by @IrAlfred in #2072
- fix(module/core): stop deserializing logout back_query by @IrAlfred in #2073
- fix(frontend): restore missing icon on the admin Accounts menu item by @IrAlfred in #2082
- fix(backend): guard undefined $latestVersion in upgrade checker by @IrAlfred in #2081
- fix(module/account): restyle accounts page and confirm before deleting users by @IrAlfred in #2083
- fix(module/tags): add-label dialog fails when no labels exist by @IrAlfred in #2092
- fix(backend): exclude CSS for JS libs excluded via 'JS_EXCLUDE_DEPS' config by @mercihabam in #2099
- fix(module/smtp): scope attachment chunks to the current user by @IrAlfred in #2088
- fix(frontend): add missing bootstrap icons to servers and account headers for visual consistency by @ashanzzz in #2110
- fix(backend): keep the session when the origin carries a port the target lost by @kirinriki7777-sys in #2101
- fix(module/core): render the blocked external image notice as text by @IrAlfred in #2118
- fix(module/smtp): render compose recipient bubbles as text by @IrAlfred in #2120
Translation
- feat(frontend): added a Kinyarwanda Translation File (rw.php) with Accurate Kinyarwanda Translation by @HamedProDev in #2090
- chore(other): update zh-Hans Simplified Chinese translation by @PeterDaveHello in #2057
- chore(other): update and improve zh-TW translation by @PeterDaveHello in #2058
Documentation
- docs(other): add security policy for private vulnerability reports by @IrAlfred in #2087
- chore(docs): write clearer, more descriptive module READMEs by @mercihabam in #2089
- chore(docs): track policies that the source code is based on in a machine-readable format by @mercihabam in #2095
Maintenance & Infrastructure
- fix(release): point docker compose to latest Cypht release 2.12.0 by @IrAlfred in #2056
- docs(docker): switch to php 8.3 for docker version by @camilevahviraki in #2020
- fix(release): update version reference to 2.12.1 for upcoming release by @IrAlfred in #2065
- fix(release): point docker compose to latest Cypht release 2.12.1 by @IrAlfred in #2069
- fix(release): update version reference to 2.12.2 for upcoming release by @IrAlfred in #2078
- fix(release): point docker compose to latest Cypht release 2.12.2 by @IrAlfred in #2079
- fix(other): stop building linux/arm/v6 which php:8.3-fpm-bookworm does not support by @IrAlfred in #2080
- fix(release): temporary fix for php-sieve-manager github issue by @kroky in #2093
- fix(release): update version reference to 2.13.0 for upcoming release by @IrAlfred in #2121
- feat(release): merge all master commits to 2.x for new release 2.13.0 by @IrAlfred in #2123
Dependancy Updates
- build(deps): bump guzzlehttp/guzzle from 7.15.1 to 7.15.2 by @dependabot[bot] in #2060
- build(deps): bump league/commonmark from 2.8.2 to 2.9.0 by @dependabot[bot] in #2062
- build(deps): bump league/commonmark from 2.9.0 to 2.10.0 by @dependabot[bot] in #2084
- build(deps): bump league/commonmark from 2.10.0 to 2.10.2 by @dependabot[bot] in #2111
- build(deps): bump urllib3 from 2.7.0 to 2.8.0 in /tests/selenium by @dependabot[bot] in #2112
- build(deps): bump zbateson/mail-mime-parser from 3.0.5 to 3.0.6 by @dependabot[bot] in #2106
Tests & Quality Assurance and refactoring
- refactor(module/core): enable addition of custom query string to all internal URLS by @mercihabam in #2064
- refactor(frontend/backend): add single data sources to specific combined views by @josaphatim in #1998
- refactor(frontend/backend): make it possible to customize ajax request caller with custom endpoint and extra static request data by @mercihabam in #2086
- refactor(backend): resolve VENDOR_PATH dynamically based on installation layout by @mercihabam in #2070
New Contributors
- @HomoMachinaNeuralis made their first contribution in #2061
- @kirinriki7777-sys made their first contribution in #2068
- @HamedProDev made their first contribution in #2090
- @iiroak made their first contribution in #2103
- @ashanzzz made their first contribution in #2110
Full Changelog: v2.12.0...v2.13.0