API Changes
- breaking change: removed deaddrop chat 2514 2563
Contact request chats are not merged into a single virtual
"deaddrop" chat anymore. Instead, they are shown in the chatlist the
same way as other chats, but sending of messages to them is not
allowed and MDNs are not sent automatically until the chat is
"accepted" by the user.
New API:
- `dc_chat_is_contact_request()`: returns true if chat is a contact
request. In this case an option to accept the chat via
`dc_accept_chat()` should be shown in the UI.
- `dc_accept_chat()`: unblock the chat or accept contact request
- `dc_block_chat()`: block the chat, currently works only for mailing
lists.
Removed API:
- `dc_create_chat_by_msg_id()`: deprecated 2021-02-07 in favor of
`dc_decide_on_contact_request()`
- `dc_marknoticed_contact()`: deprecated 2021-02-07 in favor of
`dc_decide_on_contact_request()`
- `dc_decide_on_contact_request()`: this call requires a message ID
from deaddrop chat as input. As deaddrop chat is removed, this
call can't be used anymore.
- `dc_msg_get_real_chat_id()`: use `dc_msg_get_chat_id()` instead, the
only difference between these calls was in handling of deaddrop
chat
- removed `DC_CHAT_ID_DEADDROP` and `DC_STR_DEADDROP` constants
- breaking change: removed `DC_EVENT_ERROR_NETWORK` and `DC_STR_SERVER_RESPONSE`
Instead, there is a new api `dc_get_connectivity()`
and `dc_get_connectivity_html()`;
`DC_EVENT_CONNECTIVITY_CHANGED` is emitted on changes
- breaking change: removed `dc_accounts_import_account()`
Instead you need to add an account and call `dc_imex(DC_IMEX_IMPORT_BACKUP)`
on its context
- update account api, 2 new methods:
`int dc_all_work_done (dc_context_t* context);`
`int dc_accounts_all_work_done (dc_accounts_t* accounts);`
- add api to check if a message was `Auto-Submitted`
cffi: `int dc_msg_is_bot (const dc_msg_t* msg);`
python: `Message.is_bot()`
- `dc_context_t* dc_accounts_get_selected_account (dc_accounts_t* accounts);`
now returns `NULL` if there is no selected account
- added `dc_accounts_maybe_network_lost()` for systems core cannot find out
connectivity loss on its own (eg. iOS) 2550
Added
- use Auto-Submitted: auto-generated header to identify bots 2502
- allow sending stickers via repl tool
- chat: make `get_msg_cnt()` and `get_fresh_msg_cnt()` work for deaddrop chat 2493
- withdraw/revive own qr-codes 2512
- add Connectivity view (a better api for getting the connection status) 2319 2549 2542
Changes
- updated spec: new `Chat-User-Avatar` usage, `Chat-Content: sticker`, structure, copyright year 2480
- update documentation 2548 2561 2569
- breaking: `Accounts::create` does not also create an default account anymore 2500
- remove "forwarded" from stickers, as the primary way of getting stickers
is by asking a bot and then forwarding them currently 2526
- mimeparser: use mailparse to parse RFC 2231 filenames 2543
- allow email addresses without dot in the domain part 2112
- allow installing lib and include under different prefixes 2558
- remove counter from name provided by `DC_CHAT_ID_ARCHIVED_LINK` 2566
- improve tests 2487 2491 2497
- refactorings 2492 2503 2504 2506 2515 2520 2567 2575 2577 2579
- improve ci 2494
- update provider-database 2565
Removed
- remove `dc_accounts_import_account()` api 2521
- remove `DC_EVENT_ERROR_NETWORK` and `DC_STR_SERVER_RESPONSE` 2319
Fixes
- allow stickers with gif-images 2481
- fix database migration 2486
- do not count hidden messages in get_msg_cnt(). 2493
- improve drafts detection 2489
- fix panic when removing last, selected account from account manager 2500
- set_draft's message-changed-event returns now draft's msg id instead of 0 2304
- avoid hiding outgoing classic emails 2505
- fixes for message timestamps 2517
- do not process names, avatars, location XMLs, message signature etc.
for duplicate messages 2513
- fix `can_send` for users not in group 2479
- fix receiving events for accounts added by `dc_accounts_add_account()` 2559
- fix which chats messages are assigned to 2465
- fix: don't create chats when MDNs are received 2578