link2xt
b85fa84a37
test: remove arbitrary timeouts from test_4_lowlevel.py
...
They randomly fail just because CI is sometimes slow.
2026-03-02 18:33:08 +00:00
link2xt
ccd3caf4a7
fix: set is_chatmail during initial configuration
...
This was initially done in the IMAP loop
to set is_chatmail for existing users.
They should all have the setting configured
by now unless they install some very old backup.
Setting during the configuration is needed
for Delta Chat Desktop because it caches the value
internally:
<https://github.com/deltachat/deltachat-desktop/issues/6068 >
2026-03-02 16:49:17 +00:00
link2xt
5f248954dc
feat: advertise SEIPDv2 feature for new keys
...
SEIPDv2 is supported, but adding feature flag
to keys is not enabled by default in rPGP.
2026-03-02 16:42:33 +00:00
link2xt
a6c7958739
fix: do not trash pre-message if it is received twice
2026-03-02 16:39:17 +00:00
link2xt
8df9b9e4d9
refactor(pgp): do not use legacy key ID except for IssuerKeyId subpacket
2026-02-28 16:27:00 +00:00
link2xt
692e1019b0
refactor: remove KeyPair type
...
There is no need to store copy of public key
next to the secret key because public key is a subset of the secret key
and can be obtained by using SignedSecretKey.public_key()
or SignedSecretKey.to_public_key().
2026-02-28 16:27:00 +00:00
link2xt
2511b03726
docs: update store_self_keypair() documentation
...
Since migration 107 there is no addr column in `keypairs` table.
2026-02-28 16:27:00 +00:00
link2xt
c39651a8d4
feat: do not read own public key from the database
...
We can always derive it from the secret key.
2026-02-28 16:27:00 +00:00
link2xt
8230336936
refactor: un-resultify KeyPair::new()
...
It never fails. Clippy did not complain, likely because the function is marked as public.
2026-02-28 16:27:00 +00:00
link2xt
e1e8407905
chore: bump version to 2.44.0-dev
2026-02-27 01:16:34 +00:00
link2xt
ffce0dfc9a
chore(release): prepare for 2.44.0
2026-02-27 01:13:18 +00:00
link2xt
072c0061ee
refactor: do not chain Autocrypt key verification to parsing
...
.and_then() and Ok() are unnecessary here.
2026-02-26 17:26:17 +00:00
link2xt
e60f4ff70a
docs(RELEASE.md): add section about dealing with antivirus false positives
2026-02-23 23:21:14 +00:00
link2xt
bbf9a86bce
perf: batched event reception
2026-02-23 15:58:06 +00:00
link2xt
0e7f3c8238
test: fail fast when CHATMAIL_DOMAIN is unset
...
This code does not expect the variable to be unset,
so use indexing to fail with KeyError instead.
Otherwise getenv() returns None which is then converted to "none" string by formatting
and the test only fails because of connection attempts to "none" domain.
2026-02-23 14:44:16 +00:00
link2xt
16c85a9585
chore(cargo): update async-native-tls from 0.5.0 to 0.6.0
2026-02-23 14:44:16 +00:00
link2xt
f055f6226c
feat: add context to message loading failures
2026-02-21 11:48:38 +00:00
link2xt
e95dca87bd
feat: add backup versions to the importing error message
...
This would have helped debugging the problem reported at
<https://support.delta.chat/t/backup-too-new-please-update-delta-chat-message/4761 >
2026-02-19 15:28:41 +00:00
link2xt
60cf483270
refactor(http): saturating addition to calculate cache expiration timestamp
2026-02-17 16:01:16 +00:00
link2xt
598d759b8d
refactor(imex): check for overflow when adding blob size
...
Cannot happen without custom filesystem or sparse files,
but removes clippy lint.
2026-02-17 16:01:16 +00:00
link2xt
10b93b3943
refactor: enable clippy::arithmetic_side_effects lint
2026-02-17 16:01:16 +00:00
link2xt
5a06d08613
fix(imex): do not call set_config before running SQL migrations ( #7851 )
...
`set_config` expects that migrations have already been run and fails
if backup is old and e.g. does not have `transports` table.
2026-02-17 15:39:42 +00:00
link2xt
85de4bf678
build(git-cliff): do not capitalize the first letter of commit message
...
Some commit messages start with the function names
for additional context and these should not be capitalized.
2026-02-17 15:21:08 +00:00
link2xt
624fc394d9
feat: improve logging of connection failures
...
Previously it was not always clear whether IMAP or SMTP connection
failed and what was the endpoint used.
2026-02-17 15:14:36 +00:00
link2xt
9deba0cf2a
chore(release): prepare for 2.43.0
2026-02-17 13:28:19 +00:00
link2xt
2131f5e9c0
fix: assign iroh gossip topic to pre-message when post-message is received
...
Iroh-Gossip-Topic is sent in a post-message. Post-message goes to trash,
so topic should be associated with the existing pre-message that is
updated rather than with the post-message.
2026-02-17 02:54:39 +00:00
link2xt
de25eb90ff
chore(cargo): update keccak from 0.1.5 to 0.1.6
...
0.1.5 is yanked and cargo-deny complains
2026-02-14 07:20:42 +00:00
link2xt
c475882727
perf: use recv_direct() instead of recv() on the event channel
...
The difference between recv_direct()[1] and recv()[2]
is that recv() allocates memory for the future on the heap.
Using recv_direct() removes one pointer indirection.
[1] https://docs.rs/async-broadcast/0.7.2/async_broadcast/struct.Receiver.html#method.recv_direct
[2] https://docs.rs/async-broadcast/0.7.2/async_broadcast/struct.Receiver.html#method.recv
2026-02-10 01:32:40 +00:00
link2xt
166e259b18
chore: update fast-socks5 to version 1.0
2026-02-10 01:32:34 +00:00
link2xt
cc38298163
refactor: enable clippy::manual_is_variant_and
2026-02-10 01:32:18 +00:00
link2xt
983f43c33c
chore(release): prepare for 2.42.0
2026-02-10 00:37:13 +00:00
link2xt
e78b509d0a
chore: update rPGP from 0.18.0 to 0.19.0
2026-02-08 21:09:38 +00:00
link2xt
583979c6fc
fix: set mvbox_move to '0' explicitly for existing chatmail profiles
...
Otherwise if the user for some reason has no `mvbox_move` config set,
they get a device message about `mvbox_move` deprecation.
2026-02-08 01:58:23 +00:00
link2xt
5bfd8dd517
feat: do not scan not watched folders
2026-02-08 01:57:10 +00:00
link2xt
32b0ca81f8
test: remove test_dont_show_emails
...
Existing test relies on folder scanning.
We are going to remove the option to not show emails
(<https://github.com/chatmail/core/issues/7631 >)
so the test will be removed eventually anyway.
2026-02-08 01:57:10 +00:00
link2xt
5bb0b86f6a
chore(release): prepare for 2.41.0
2026-02-06 00:39:03 +00:00
link2xt
396104af47
feat: do not require ShowEmails to be set to All for adding second relay
2026-02-05 19:12:08 +00:00
link2xt
b72a677f4c
chore(release): prepare for 2.40.0
2026-02-04 21:46:02 +00:00
link2xt
00e78eecf6
feat: add device message about legacy mvbox_move
2026-02-04 21:51:56 +01:00
link2xt
8b0621b724
test: set mvbox_move to 0 for test rust accounts
2026-02-04 21:51:56 +01:00
link2xt
3d409c37a1
chore: remove RUSTSEC-2026-0002 exception from deny.toml
...
It is an "unsound" advisory for a transitive dependency
and cargo-deny does not report them by default
since cargo-deny 0.19.0.
2026-02-03 21:25:41 +00:00
link2xt
633536bb13
fix: remove Config::DeleteToTrash and Config::ConfiguredTrashFolder
...
`delete_to_trash` is an option that was added for Gmail
as Gmail archives the messages by default
when they are deleted over IMAP:
<https://github.com/chatmail/core/issues/3957 >
(implemented in <https://github.com/chatmail/core/pull/3972 >).
Closes <https://github.com/chatmail/core/issues/6444 >.
2026-02-03 18:31:55 +00:00
link2xt
94ee485155
chore: update provider database
2026-02-03 18:31:55 +00:00
link2xt
ec0dc8bcad
refactor: mark ProviderOptions as non_exhaustive
...
This prevents triggering clippy lint `needless_update`.
2026-02-03 18:31:55 +00:00
link2xt
378fb09c80
ci: make scripts/deny.sh test the locked version of dependencies
2026-02-03 17:25:42 +00:00
link2xt
ff2fbebff0
chore(cargo): update bytes from 1.11.0 to 1.11.1
...
Fixes <https://rustsec.org/advisories/RUSTSEC-2026-0007 >
2026-02-03 17:25:42 +00:00
link2xt
3b29469102
feat: do not load more than one own key
2026-01-30 09:48:38 +00:00
link2xt
6325a35b5b
test: make test_dont_move_sync_msgs less flaky
2026-01-30 02:08:49 +00:00
link2xt
4fc0d0f53d
refactor: remove unused Context.is_inbox()
2026-01-28 17:19:21 +00:00
link2xt
1bf24618fa
feat: never create IMAP folders
...
Existing setups already have the folders created
and for new setups only INBOX should be used.
2026-01-28 14:55:51 +00:00
link2xt
3f98e45c29
chore: update provider database
2026-01-27 23:39:16 +00:00
link2xt
26ddcfaaed
feat: do not collect email addresses from messages after configuration
...
This can only result in adding unencrypted email-contacts
and we do not want to encourage creating unencrypted chats.
2026-01-27 17:49:16 +00:00
link2xt
baeb31b5fa
chore(release): prepare for 2.39.0
2026-01-23 21:52:40 +00:00
link2xt
5d3bc00fd5
docs(RELEASE.md): add section about dealing with failed releases
2026-01-23 21:43:02 +00:00
link2xt
424928b660
docs(RELEASE.md): push preparation commit to the main branch before tagging
2026-01-23 21:43:02 +00:00
link2xt
9003b248aa
chore: merge v2.38.0 into main branch
...
Release preparation commit was not pushed to main.
2026-01-23 09:09:59 +00:00
link2xt
35875f9b32
ci: update Rust to 1.93.0
2026-01-23 09:03:11 +00:00
link2xt
5ff323ce15
feat(pgp): use preferred hash algorithm for signing instead of hardcoded SHA256
...
There is no difference for RSA and Ed25519,
the only signing keys that we generate.
The both use SHA256:
<https://github.com/rpgp/rpgp/blob/7e3b6c0af21e4a45c2a2dcba67f0b649e0b6e456/src/types/params/public.rs#L231-L234 >
The only difference is for the possible future PQC signing keys
and imported NIST P-512 and NIST P-384 keys.
2026-01-18 03:59:12 +00:00
link2xt
659d21aa9d
docs: fix formatting of indoc! link
2026-01-17 14:40:17 +00:00
link2xt
8f604e74ec
fix: do not resolve ICE server hostnames during IMAP loop
...
Hostname resolution may timeout if DNS servers are not responding.
It is also not necessary to resolve fallback ICE server hostnames
if the user is not going to use calls.
2026-01-17 12:55:21 +00:00
link2xt
13dafa46b5
fix: take transport_id into account when marking messages with \Seen flags
...
Otherwise wrong IMAP client corresponding to a different transport
may pick up the job to mark the message as seen there,
and fail to do it as the message does not exist.
It may also mark the wrong message with the correct folder
and UID, but wrong IMAP server.
2026-01-09 18:40:46 +00:00
link2xt
46bbe5f077
chore(release): prepare for 2.37.0
2026-01-08 20:45:33 +00:00
link2xt
7e811469b3
api: add who_can_call_me config option
2026-01-07 22:00:54 +00:00
link2xt
cdacad235e
chore: update lru 0.12.3 to 0.12.5 and add RUSTSEC-2026-0002 exception
...
Closes https://github.com/chatmail/core/issues/7692
2026-01-07 20:18:32 +00:00
link2xt
c766397abc
test: regression test for vc-request encrypted by the server
2026-01-07 15:47:16 +00:00
link2xt
14a59afd5d
fix: do not rely on Secure-Join header to detect {vc,vg}-request
2026-01-07 15:47:16 +00:00
link2xt
8d6f4b0354
chore(release): prepare for 2.36.0
2026-01-03 18:39:16 +00:00
link2xt
284469363e
docs: remove references to sentbox_watch config
...
This config was already removed in 2.23.0.
2026-01-03 13:40:24 +00:00
link2xt
0d2f2b3266
refactor(ffi): remove one pointer indirection for dc_accounts_t
...
Arc can be converted directly to raw pointers,
so there is no need to create a pointer to Arc
using a Box.
2026-01-01 15:34:55 +00:00
link2xt
25750de4e1
feat: send sync messages over SMTP and do not move them to mvbox
2025-12-26 10:58:33 +00:00
link2xt
a89ce8ce7a
docs: update documentation for TransportsModified event
...
It is a follow-up to https://github.com/chatmail/core/pull/7643
Event is not emitted when the transports are modified on this device
and we should consistently say that this event is not only for testing.
2025-12-25 11:16:36 +00:00
link2xt
184736723f
fix: reset options not available for chatmail on chatmail profiles
2025-12-24 03:23:23 +00:00
link2xt
fd90493766
feat: add core version to receive_imf failure message
2025-12-18 14:44:49 +00:00
link2xt
b1883c802b
refactor: turn DC_VERSION_STR into &str
2025-12-18 14:44:49 +00:00
link2xt
71ee32b8b7
ci: pin GitHub Action references
...
Makes `zizmor` happy.
2025-12-18 14:43:27 +00:00
link2xt
ddd4fc49a2
chore(release): prepare for 2.35.0
2025-12-16 22:22:20 +00:00
link2xt
7d5bedde4d
fix: take transport_id into account when using imap table
2025-12-16 22:08:33 +00:00
link2xt
7ba4a43253
feat: add transport addresses to IMAP URLs in message info
2025-12-16 16:49:49 +00:00
link2xt
d87d87f467
fix: do not set normalized name for existing chats and contacts in a migration
...
We got a report that application is not responding after update
on Android and getting killed before it can start,
suspected to be a slow SQL migration:
<https://github.com/chatmail/core/issues/7602 >
This change removes calculation of normalized names for
existing chats and contacts added in
<https://github.com/chatmail/core/pull/7548 >
to exclude the possibility of this migration being slow.
New chats and contacts will still get normalized names
and all chats and contacts will get it when they are renamed.
2025-12-12 15:44:51 +00:00
link2xt
121bfd1fa8
ci: update Rust to 1.92.0
2025-12-11 21:23:53 +00:00
link2xt
9e2a4325e9
chore: apply Rust 1.92.0 clippy suggestions
2025-12-11 21:23:53 +00:00
link2xt
4509c1bd06
chore: prepare 2.34.0 release
2025-12-11 16:28:55 +00:00
link2xt
99775458c4
test: test setting up second device between core versions
2025-12-10 22:51:17 +00:00
link2xt
58cd133b5c
fix: synchronize primary transport immediately after changing it
2025-12-09 21:43:26 +00:00
link2xt
5902fe2cbe
refactor: remove EncryptHelper.prefer_encrypt
...
It always had the same value of EncryptPreference::Mutual
2025-12-07 15:33:36 +00:00
link2xt
73e0f81e83
test: port test_synchronize_member_list_on_group_rejoin to JSON-RPC
2025-12-07 14:21:48 +00:00
link2xt
cbe842735e
api(rpc-client): add Chat.num_contacts()
2025-12-07 14:21:48 +00:00
link2xt
72bc9f0ae4
api(rpc-client): accept Account for Chat.{add,remove}_contact()
2025-12-07 14:21:48 +00:00
link2xt
0defa117a0
refactor: use u16 instead of usize to represent progress bar
2025-12-07 13:23:31 +00:00
link2xt
3821cfab0c
fix: use u64 to count the number of bytes sent/received over the network
...
It is possible to send more than 4 GiB into network stream
or receive more than 4 GiB from it, in which case
this counter may overflow.
2025-12-07 13:23:31 +00:00
link2xt
09f159991e
fix: use u64 to represent the number of bytes in backup files
2025-12-07 13:23:31 +00:00
link2xt
014d2ace76
fix: use u64 instead of usize to calculate storage usage
...
On 32-bit systems such as old Android phones usize is 32-bit as well
and cannot store sizes that exceed 4 GiB.
2025-12-06 13:01:46 +00:00
link2xt
646728372b
chore: add RUSTSEC-2025-0134 exception to deny.toml
2025-12-06 12:56:16 +00:00
link2xt
7c30aef2ed
chore(release): prepare for 2.33.0
2025-12-05 21:35:21 +00:00
link2xt
c38d02728e
fix: recognize all transport addresses as own addresses
...
Fix get_secondary_addrs() which was using
`secondary_addrs` config that is not updated anymore.
Instead of using `secondary_addrs` config,
use the `transports` table which contains all the addresses.
2025-12-05 21:15:30 +00:00
link2xt
aa5ee19340
chore(release): prepare for 2.32.0
2025-12-04 21:00:59 +00:00
link2xt
952f6735a2
chore(release): prepare for 2.31.0
2025-12-04 19:28:31 +00:00
link2xt
a50aa3b6e9
ci: update npm before publishing packages
...
Newer npm is apparently needed for "trusted publishing".
2025-12-04 19:26:25 +00:00
link2xt
23d95df66a
feat: use v2 SEIPD when sending messages to self
2025-12-04 18:25:30 +00:00
link2xt
6db2cf6144
chore(release): prepare for 2.30.0
2025-12-04 17:01:28 +00:00