API-Changes
- replaced stock string `DC_STR_ONE_MOMENT` by `DC_STR_NOT_CONNECTED` 3222
- add `dc_resend_msgs()` 3238
- `dc_provider_new_from_email()` does no longer do an DNS lookup for checking custom domains,
this is done by `dc_provider_new_from_email_with_dns()` now 3256
Changes
- introduce multiple self addresses with the "configured" address always being the primary one 2896
- Further improve finding the correct server after logging in 3208
- `get_connectivity_html()` returns HTML as non-scalable 3213
- add update-serial to `DC_EVENT_WEBXDC_STATUS_UPDATE` 3215
- Speed up message receiving via IMAP a bit 3225
- mark messages as seen on IMAP in batches 3223
- remove Received: based draft detection heuristic 3230
- Use pkgconfig for building Python package 2590
- don't start io on unconfigured context 2664
- do not assign group IDs to ad-hoc groups 2798
- dynamic libraries use dylib extension on Darwin 3226
- refactorings 3217 3219 3224 3235 3239 3244 3254
- improve documentation 3214 3220 3237
- improve tests and ci 3212 3233 3241 3242 3252 3250 3255 3260
Fixes
- Take `delete_device_after` into account when calculating ephemeral loop timeout 3211 3221
- Fix a bug where a blocked contact could send a contact request 3218
- Make sure, videochat-room-names are always URL-safe 3231
- Try removing account folder multiple times in case of failure 3229
- Ignore messages from all spam folders if there are many 3246
- Hide location-only messages instead of displaying empty bubbles 3248