link2xt
8e60ed7d89
perf: Box::pin iroh::endpoint::Builder::bind
...
It is has a size of 13k and increases the size of all futures calling it as a result,
while only being used for initialization.
2026-08-03 13:54:49 +00:00
link2xt
fab974f31e
feat: collect ICE servers from all relays
2026-08-03 13:38:40 +00:00
dependabot[bot]
154e47dace
chore(cargo): bump libc from 0.2.186 to 0.2.189
...
Bumps [libc](https://github.com/rust-lang/libc ) from 0.2.186 to 0.2.189.
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Changelog](https://github.com/rust-lang/libc/blob/0.2.189/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.186...0.2.189 )
---
updated-dependencies:
- dependency-name: libc
dependency-version: 0.2.189
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-08-02 18:40:19 +00:00
link2xt
99d202a973
api(ffi): store reference-counted Context in dc_chatlist_t
2026-08-02 17:22:56 +00:00
link2xt
ae02b6dcfc
api!: remove dc_chatlist_get_context()
...
This API is dangerous because returned pointer
is only valid until the chatlist is freed,
and may accidentally be passed into dc_context_unref().
2026-08-02 17:22:56 +00:00
link2xt
e1f5858fa3
api(ffi): store reference-counted Context in dc_contact_t
2026-08-02 17:22:56 +00:00
link2xt
abfc1b9a76
api(ffi): store reference-counted Context in dc_msg_t
...
The change is similar to the change done to dc_chat_t
in b5acbaa31c
2026-08-02 17:22:56 +00:00
dependabot[bot]
77d2d037f2
chore(cargo): bump thiserror from 2.0.18 to 2.0.19
...
Bumps [thiserror](https://github.com/dtolnay/thiserror ) from 2.0.18 to 2.0.19.
- [Release notes](https://github.com/dtolnay/thiserror/releases )
- [Commits](https://github.com/dtolnay/thiserror/compare/2.0.18...2.0.19 )
---
updated-dependencies:
- dependency-name: thiserror
dependency-version: 2.0.19
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-08-02 17:10:27 +00:00
link2xt
057d6c0c5e
refactor: reduce the scope of unsafe in dc_context_unref()
2026-08-02 17:09:56 +00:00
dependabot[bot]
21e08d7e95
chore(cargo): bump serde from 1.0.228 to 1.0.229
...
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.228 to 1.0.229.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.228...v1.0.229 )
---
updated-dependencies:
- dependency-name: serde
dependency-version: 1.0.229
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-08-02 04:13:46 +00:00
dependabot[bot]
03c1ea9942
chore(cargo): bump anyhow from 1.0.103 to 1.0.104
...
Bumps [anyhow](https://github.com/dtolnay/anyhow ) from 1.0.103 to 1.0.104.
- [Release notes](https://github.com/dtolnay/anyhow/releases )
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.103...1.0.104 )
---
updated-dependencies:
- dependency-name: anyhow
dependency-version: 1.0.104
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-08-02 04:13:27 +00:00
link2xt
cf5f87c81b
chore(cargo): introduce syn 3 dependency
...
It is now used by at the latest versions of anyhow and thiserror,
so we will eventually have this duplicate dependency anyway.
2026-08-02 02:31:45 +00:00
dependabot[bot]
7021a3e899
chore(deps): bump actions/setup-python from 6.3.0 to 7.0.0
...
Bumps [actions/setup-python](https://github.com/actions/setup-python ) from 6.3.0 to 7.0.0.
- [Release notes](https://github.com/actions/setup-python/releases )
- [Commits](https://github.com/actions/setup-python/compare/v6.3.0...v7.0.0 )
---
updated-dependencies:
- dependency-name: actions/setup-python
dependency-version: 7.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-08-02 02:27:47 +00:00
dependabot[bot]
a794e5f359
chore(deps): bump pypa/gh-action-pypi-publish from 1.14.0 to 1.14.1
...
Bumps [pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish ) from 1.14.0 to 1.14.1.
- [Release notes](https://github.com/pypa/gh-action-pypi-publish/releases )
- [Commits](cef221092e...ba38be9e46 )
---
updated-dependencies:
- dependency-name: pypa/gh-action-pypi-publish
dependency-version: 1.14.1
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-08-02 02:14:02 +00:00
dependabot[bot]
f7ffb924bf
chore(cargo): bump serde_json from 1.0.150 to 1.0.151
...
Bumps [serde_json](https://github.com/serde-rs/json ) from 1.0.150 to 1.0.151.
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.150...v1.0.151 )
---
updated-dependencies:
- dependency-name: serde_json
dependency-version: 1.0.151
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-08-02 02:13:44 +00:00
dependabot[bot]
61f7107d0f
chore(deps): bump taiki-e/install-action from 2.83.4 to 2.85.1
...
Bumps [taiki-e/install-action](https://github.com/taiki-e/install-action ) from 2.83.4 to 2.85.1.
- [Release notes](https://github.com/taiki-e/install-action/releases )
- [Changelog](https://github.com/taiki-e/install-action/blob/main/CHANGELOG.md )
- [Commits](07b4745e0c...3d7d7cd5ac )
---
updated-dependencies:
- dependency-name: taiki-e/install-action
dependency-version: 2.85.1
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-08-02 02:13:23 +00:00
dependabot[bot]
710e33bc48
chore(deps): bump zizmorcore/zizmor-action from 0.6.0 to 0.6.1
...
Bumps [zizmorcore/zizmor-action](https://github.com/zizmorcore/zizmor-action ) from 0.6.0 to 0.6.1.
- [Release notes](https://github.com/zizmorcore/zizmor-action/releases )
- [Commits](6599ee8b7a...6fc4b00623 )
---
updated-dependencies:
- dependency-name: zizmorcore/zizmor-action
dependency-version: 0.6.1
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-08-02 02:12:46 +00:00
dependabot[bot]
2df5ea038b
chore(cargo): bump tokio-util from 0.7.18 to 0.7.19
...
Bumps [tokio-util](https://github.com/tokio-rs/tokio ) from 0.7.18 to 0.7.19.
- [Release notes](https://github.com/tokio-rs/tokio/releases )
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-util-0.7.18...tokio-util-0.7.19 )
---
updated-dependencies:
- dependency-name: tokio-util
dependency-version: 0.7.19
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-08-02 02:12:31 +00:00
Hocuri
dc267fe1fb
fix: Don't download pre-message again if it is known already ( #8488 )
...
There was a bug in prefetch_should_download() that it made it return
true for pre-messages even when they were already downloaded. This meant
that pre-messages were downloaded from all relays, rather than just one,
wasting internet data.
The fix is in rfc724_mid_download_tried(), which is used by
prefetch_should_download() to determine whether a message was already
downloaded.
---------
Co-authored-by: l <link2xt@testrun.org >
2026-08-01 10:48:24 +00:00
link2xt
62d3f3877f
refactor: mark enabled ephemeral timer duration as NonZero
...
Now the type system ensures that Timer::Enabled
never stores 0 value inside accidentally,
it is impossible to put 0 there without unsafe code.
2026-07-31 23:55:49 +00:00
link2xt
fb4fdeb470
fix(python): create event emitter when EventThread is initialized
...
EventThread is created in Account.__init__,
but the thread start may be scheduled later.
If the thread only cals dc_get_event_emitter()
after some events have been emitted,
EventThread will never capture such events
and the tests will timeout waiting for the event.
This happened in CI on a Linux runner
with test_markseen_invalid_message_ids
timing out waiting for DC_EVENT_MSGS_CHANGED
right after sending a message.
2026-07-31 23:20:17 +00:00
Hocuri
db13d08f6c
feat: Basic multi-relay onboarding ( #8444 )
...
If multi-relay onboarding config is set from UIs, automatically add
relays until there are 3 relays. For now, there will be a hardcoded list
of relay candidates.
- We need a list of chatmail relays that we somehow trust, and that
agree to be in the list. Then, we add all of them to the candidate list
(a new SQL table with colums "host" and "last_tried").
- Before going to IMAP IDLE: When there are less than 3 relays, fill it
up with relays from the candidate list. If creating an account fails,
try again with another relay from the list. For each candidate, we need
to remember the last time we tried to add a transport there, and try at
most once a week or so per candidate.
- For now, this will be behind an off-by-default config option, which at
least DC Android will enable when creating a new profile. UIs can then
opt in on their own pace but will likely need to disable it for tests.
- Right now, the backoff times are: Try to add a relay at most once per
hour, and try to add the same relay at most once per week
2026-07-31 13:14:43 +02:00
holger krekel
9476f9ec7f
test: fix flaky test_no_markseen_in_team_profile ( #8500 )
...
fixes https://github.com/chatmail/core/issues/8446
2026-07-31 09:12:28 +00:00
holger krekel
020e477662
test: fix flaky test_markseen_message_and_mdn test
2026-07-31 00:20:14 +02:00
link2xt
3d50f3c9a3
refactor: do not clean imap_send table on transport change
...
imap_send table is not unused anymore
and should eventually be deleted.
It only exists for compatibility
and no other SQL statements use it anymore.
2026-07-30 16:54:04 +00:00
holger krekel
35555ca753
api!: remove getPushState() and core's internal tracking of it.
...
Since https://github.com/deltachat/deltachat-ios/pull/3224 pushstate is not used
(android, desktop etc. never used it, only ios)
2026-07-30 17:32:54 +02:00
holger krekel
0bb3d88bc6
feat: stop requiring XDELTAPUSH capability for push notifications
...
register device token if XDELTAPUSH IMAP capability is available (current relay setup provides it)
or if "maxsmtprecipients" IMAP metadata key is available (relays since May 2026 provide it),
allowing chatmail relay setups to drop XDELTAPUSH capability marker with the next release
while retaining push notification support.
2026-07-30 17:32:54 +02:00
link2xt
e74ffb6e93
docs: add missing slash to ConnectionSecurity::Starttls doc comment
2026-07-29 23:50:59 +00:00
link2xt
bbcfa5e40e
chore: disable "large futures" lint again
...
The lint is reasonable, but without some work
to bring the future sizes way below the limit,
this lint is frequently triggered in unrelated PRs
that just add some local variables to async functions
or extend some structure that is passed on the stack.
2026-07-29 00:47:39 +00:00
WofWca
7223d7ed74
refactor: un-nest prepare_msg_blob
2026-07-28 12:22:42 +04:00
link2xt
733bec326a
fix: mark as_path() function unsafe
2026-07-27 23:48:11 +00:00
link2xt
2d7af15124
build: update all crates to Rust 2024 edition
...
Largest change is in the FFI crate.
With 2024 (but not 2021) edition unsafe code
inside unsafe functions should be marked separately
so we can mark exactly the code that is unsafe.
Some CFFI functions even have no unsafe code inside.
Most interesting change is that .strdup()
functions are not marked as unsafe anymore.
They are allocating memory and return raw pointers,
but there is nothing unsafe about it.
Only using the returned raw pointers is unsafe.
This way calls to .strdup() don't have to be marked
with unsafe{} blocks.
2026-07-27 23:48:11 +00:00
holger krekel
00e1d00dfa
fix: send MDNs to all authentic relays of a contact, not just whatever get_addr() returns.
2026-07-27 21:54:42 +02:00
holger krekel
856ea29c47
feat: reduce unncessary gossipping of keys in group chats
...
- treat an Autocrypt header as a kind of Autocrypt-Gossip: addr=<self>
letting it participate in the existing cooperative key gossipping mechanics.
- speed up processing of incoming autocrypt-gossip headers by using
1 sql commit for N gossip headers instead of the current N commits.
2026-07-27 21:54:42 +02:00
holger krekel
6a07a2b222
feat: send Autocrypt pgp key in MDNs occassionally and when relaylist changes
2026-07-27 21:54:42 +02:00
holger krekel
411ad16ea9
fix(deltachat-rpc-client): don't depend on execnet for importing pytest plugin, remove deprecated "py" usage
...
unsuspecting consumers will otherwise require execnet to run pytest with deltachat-rpc-client installed.
"import py" is discouraged for pytest these days but still supported in compatibility mode.
2026-07-27 21:45:34 +02:00
Jagoda Estera Ślązak
afb1d0dba8
refactor: Unify naming of direct/single/1:1/normal chats ( #8442 )
...
Unifies internal naming of single/direct/1:1/normal chats
to match the naming used in the API.
Closes : #8368
Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com >
---------
Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com >
2026-07-27 16:31:09 +02:00
Jagoda Estera Ślązak
df4197df56
fix: Don't warn about correct EXIF orientation values. ( #8483 )
...
`unwrap_or` is eagerly evaluated,
which caused always printing the WARN log,
even if EXIF orientation value is correct
(and not ignored).
Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com >
2026-07-27 14:08:14 +00:00
WofWca
9b7b32a536
docs: clarify ChatId::do_set_draft() docs
...
Related:
- https://github.com/chatmail/core/pull/6212 .
- https://github.com/chatmail/core/pull/2887 .
2026-07-27 17:18:37 +04:00
Hocuri
682baff1b9
refactor: Remove FolderMeaning and target_folder ( #8456 )
...
The `FolderMeaning` and the `target_folder()` function and related code
were needed for the message moving logic. The message moving logic isn't
needed anymore, so, this PR is a first step to remove it.
We only ever look at one folder by now (usually the Inbox folder), so,
any message moving logic isn't needed anymore because we will never
notice a message that is supposed to be moved.
The `target` column of the `imap` table is mostly the same as the
`folder` column now. Except when the message is supposed to be deleted,
then it's an empty string.
2026-07-27 14:53:58 +02:00
link2xt
850ac0831f
refactor: use the new regex! macro
...
It was introduced in regex crate 1.13.0
2026-07-26 13:21:40 +00:00
dependabot[bot]
e2dd9b06e2
chore(cargo): bump regex from 1.12.4 to 1.13.1
...
Bumps [regex](https://github.com/rust-lang/regex ) from 1.12.4 to 1.13.1.
- [Release notes](https://github.com/rust-lang/regex/releases )
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/regex/compare/1.12.4...1.13.1 )
---
updated-dependencies:
- dependency-name: regex
dependency-version: 1.13.1
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-07-25 17:49:44 +00:00
dependabot[bot]
cc41a9ea27
chore(cargo): bump tokio from 1.52.3 to 1.53.0
...
Bumps [tokio](https://github.com/tokio-rs/tokio ) from 1.52.3 to 1.53.0.
- [Release notes](https://github.com/tokio-rs/tokio/releases )
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.52.3...tokio-1.53.0 )
---
updated-dependencies:
- dependency-name: tokio
dependency-version: 1.53.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-07-25 17:48:47 +00:00
dependabot[bot]
dff8fdb293
chore(cargo): bump futures from 0.3.32 to 0.3.33
...
Bumps [futures](https://github.com/rust-lang/futures-rs ) from 0.3.32 to 0.3.33.
- [Release notes](https://github.com/rust-lang/futures-rs/releases )
- [Changelog](https://github.com/rust-lang/futures-rs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.32...0.3.33 )
---
updated-dependencies:
- dependency-name: futures
dependency-version: 0.3.33
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-07-25 17:47:34 +00:00
dependabot[bot]
85c407ab05
chore(deps): bump zizmorcore/zizmor-action from 0.5.7 to 0.6.0
...
Bumps [zizmorcore/zizmor-action](https://github.com/zizmorcore/zizmor-action ) from 0.5.7 to 0.6.0.
- [Release notes](https://github.com/zizmorcore/zizmor-action/releases )
- [Commits](192e21d79a...6599ee8b7a )
---
updated-dependencies:
- dependency-name: zizmorcore/zizmor-action
dependency-version: 0.6.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-07-25 17:47:03 +00:00
dependabot[bot]
891a7f905d
chore(deps): bump actions/setup-python from 6 to 6.3.0
...
Bumps [actions/setup-python](https://github.com/actions/setup-python ) from 6 to 6.3.0.
- [Release notes](https://github.com/actions/setup-python/releases )
- [Commits](https://github.com/actions/setup-python/compare/v6...v6.3.0 )
---
updated-dependencies:
- dependency-name: actions/setup-python
dependency-version: 6.3.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-07-25 17:46:48 +00:00
link2xt
55ede9f2f6
ci: update github actions monthly instead of weekly
2026-07-25 14:21:44 +00:00
holger krekel
7e5c1e8389
chore: bump version to 2.58.0-dev
2026-07-25 16:03:53 +02:00
holger krekel
758fb9daa0
chore(release): prepare for 2.57.0
v2.57.0
2026-07-25 15:47:44 +02:00
holger krekel
cd4850668f
fix: migrate transports configured on 2.56 to also have a oauth:false flag
...
also fix test setup to include the oauth:false flag
2026-07-25 15:38:29 +02:00