diff --git a/CHANGELOG.md b/CHANGELOG.md index 0a8204db4..3d0d3c075 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,61 @@ # Changelog +## [2.48.0] - 2026-03-30 + +### Fixes + +- Fix reordering problems in multi-relay setups by not sorting received messages below the last seen one. +- Always sort "Messages are end-to-end encrypted" notice to the beginning. +- Make Message-ID of pre-messages stable across resends ([#8007](https://github.com/chatmail/core/pull/8007)). +- Delete `imap_markseen` entries not corresponding to any `imap` rows. +- Cleanup `imap` and `imap_sync` records without transport in housekeeping. +- When receiving MDN, mark all preceding messages as noticed, even having same timestamp ([#7928](https://github.com/chatmail/core/pull/7928)). +- Remove migration 108 preventing upgrades from core 1.86.0 to the latest version. + +### Features / Changes + +- Improve IMAP loop logs. +- Add decryption error to the device message about outgoing message decryption failure. +- Log received message sort timestamp. + +### Performance + +- Move sorting outside of SQL query in `store_seen_flags_on_imap`. + +### API-Changes + +- Add JSON-RPC API `markfresh_chat()`. +- ffi: Correctly declare `dc_event_channel_new()` as having no params ([#7831](https://github.com/chatmail/core/pull/7831)). + +### Refactor + +- Remove `wal_checkpoint_mutex`, lock `write_mutex` before getting sql connection instead. +- Replace async `RwLock` with sync `RwLock` for stock strings. +- Cleanup remaining Autocrypt Setup Message processing in `mimeparser`. +- SecureJoin: do not check for self address in forwarding protection. +- Fix clippy warnings. + +### CI + +- Update {c,py}.delta.chat website deployments. +- Use environments for {rs,cffi,js.jsonrpc}.delta.chat deployments. +- Fix https://docs.zizmor.sh/audits/#bot-conditions. + +### Documentation + +- Add SQL performance tips to STYLE.md. + +### Tests + +- Remove `test_old_message_5`. +- Do not rely on loading newest chat in `load_imf_email()`. +- Use `load_imf_email()` more. +- The message is sorted correctly in the chat even if it arrives late. + +### Miscellaneous Tasks + +- cargo: update rustls-webpki to 0.103.10. + ## [2.47.0] - 2026-03-24 ### Fixes @@ -7984,3 +8040,4 @@ https://github.com/chatmail/core/pulls?q=is%3Apr+is%3Aclosed [2.45.0]: https://github.com/chatmail/core/compare/v2.44.0..v2.45.0 [2.46.0]: https://github.com/chatmail/core/compare/v2.45.0..v2.46.0 [2.47.0]: https://github.com/chatmail/core/compare/v2.46.0..v2.47.0 +[2.48.0]: https://github.com/chatmail/core/compare/v2.47.0..v2.48.0 diff --git a/Cargo.lock b/Cargo.lock index 1449080d8..b24c166eb 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1307,7 +1307,7 @@ dependencies = [ [[package]] name = "deltachat" -version = "2.48.0-dev" +version = "2.48.0" dependencies = [ "anyhow", "astral-tokio-tar", @@ -1416,7 +1416,7 @@ dependencies = [ [[package]] name = "deltachat-jsonrpc" -version = "2.48.0-dev" +version = "2.48.0" dependencies = [ "anyhow", "async-channel 2.5.0", @@ -1437,7 +1437,7 @@ dependencies = [ [[package]] name = "deltachat-repl" -version = "2.48.0-dev" +version = "2.48.0" dependencies = [ "anyhow", "deltachat", @@ -1453,7 +1453,7 @@ dependencies = [ [[package]] name = "deltachat-rpc-server" -version = "2.48.0-dev" +version = "2.48.0" dependencies = [ "anyhow", "deltachat", @@ -1482,7 +1482,7 @@ dependencies = [ [[package]] name = "deltachat_ffi" -version = "2.48.0-dev" +version = "2.48.0" dependencies = [ "anyhow", "deltachat", diff --git a/Cargo.toml b/Cargo.toml index 1adc8d5b1..347b126b2 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "deltachat" -version = "2.48.0-dev" +version = "2.48.0" edition = "2024" license = "MPL-2.0" rust-version = "1.88" diff --git a/deltachat-ffi/Cargo.toml b/deltachat-ffi/Cargo.toml index 6e6d342c5..8d706d868 100644 --- a/deltachat-ffi/Cargo.toml +++ b/deltachat-ffi/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "deltachat_ffi" -version = "2.48.0-dev" +version = "2.48.0" description = "Deltachat FFI" edition = "2018" readme = "README.md" diff --git a/deltachat-jsonrpc/Cargo.toml b/deltachat-jsonrpc/Cargo.toml index aaee7988b..865fb039e 100644 --- a/deltachat-jsonrpc/Cargo.toml +++ b/deltachat-jsonrpc/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "deltachat-jsonrpc" -version = "2.48.0-dev" +version = "2.48.0" description = "DeltaChat JSON-RPC API" edition = "2021" license = "MPL-2.0" diff --git a/deltachat-jsonrpc/typescript/package.json b/deltachat-jsonrpc/typescript/package.json index 8ce7c4f01..c8ee203a5 100644 --- a/deltachat-jsonrpc/typescript/package.json +++ b/deltachat-jsonrpc/typescript/package.json @@ -54,5 +54,5 @@ }, "type": "module", "types": "dist/deltachat.d.ts", - "version": "2.48.0-dev" + "version": "2.48.0" } diff --git a/deltachat-repl/Cargo.toml b/deltachat-repl/Cargo.toml index 7e92f7f26..8f5ecacb4 100644 --- a/deltachat-repl/Cargo.toml +++ b/deltachat-repl/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "deltachat-repl" -version = "2.48.0-dev" +version = "2.48.0" license = "MPL-2.0" edition = "2021" repository = "https://github.com/chatmail/core" diff --git a/deltachat-rpc-client/pyproject.toml b/deltachat-rpc-client/pyproject.toml index dd6fde1e0..c8bb8c7c8 100644 --- a/deltachat-rpc-client/pyproject.toml +++ b/deltachat-rpc-client/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "deltachat-rpc-client" -version = "2.48.0-dev" +version = "2.48.0" license = "MPL-2.0" description = "Python client for Delta Chat core JSON-RPC interface" classifiers = [ diff --git a/deltachat-rpc-server/Cargo.toml b/deltachat-rpc-server/Cargo.toml index d8a61a8c9..5386d5493 100644 --- a/deltachat-rpc-server/Cargo.toml +++ b/deltachat-rpc-server/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "deltachat-rpc-server" -version = "2.48.0-dev" +version = "2.48.0" description = "DeltaChat JSON-RPC server" edition = "2021" readme = "README.md" diff --git a/deltachat-rpc-server/npm-package/package.json b/deltachat-rpc-server/npm-package/package.json index 0644ba7a6..7556ae5d8 100644 --- a/deltachat-rpc-server/npm-package/package.json +++ b/deltachat-rpc-server/npm-package/package.json @@ -15,5 +15,5 @@ }, "type": "module", "types": "index.d.ts", - "version": "2.48.0-dev" + "version": "2.48.0" } diff --git a/python/pyproject.toml b/python/pyproject.toml index a08579000..936252e9f 100644 --- a/python/pyproject.toml +++ b/python/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "deltachat" -version = "2.48.0-dev" +version = "2.48.0" license = "MPL-2.0" description = "Python bindings for the Delta Chat Core library using CFFI against the Rust-implemented libdeltachat" readme = "README.rst" diff --git a/release-date.in b/release-date.in index 50ded3194..a502bb90f 100644 --- a/release-date.in +++ b/release-date.in @@ -1 +1 @@ -2026-03-24 \ No newline at end of file +2026-03-30 \ No newline at end of file