CHANGELOG.md 5.83 KB
Newer Older
Simon Morlat's avatar
Simon Morlat committed
1 2 3 4 5 6 7 8 9 10 11
# Changelog
All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

# Preamble

This changelog file was started on October 2019. Previous changes were more or less tracked in the *NEWS* file.

## [Unreleased]
Simon Morlat's avatar
Simon Morlat committed
12

13
## [4.5.2] 2021-04-14
14

15 16
### Added
- CoreService class for Android can make the device vibrate while incoming call is ringing.
17 18 19

## [4.5.0] 2021-03-29

Simon Morlat's avatar
Simon Morlat committed
20
### Added
21 22 23 24 25 26 27
- Audio conference API improved: distribution of participant list over RFC4575 SUBSCRIBE/NOTIFY.
- Automatic handling of some mobile OS behaviours
  * enterForeground() and enterBackground() automatically called (iOS and Android).
  * auto acquire and release of audio focus for Android.
  * Core.iterate() is being called automatically internally for Android, it is no longer needed to create a timer in the application to call it.
- New audio routes API to choose which device use to capture & play audio (Android & iOS). The application can manage
  audio route changes (bluetooth, speaker, earpiece) throug liblinphone's API.
28
- Added API to play user's ringtone instead of default ringtone for Android.
29
- Added callback to notify a message is about to be sent.
30 31 32 33
- iOS: added linphone_core_configure_audio_session() to be called when used with Callkit
  see specific documentation here: https://wiki.linphone.org/xwiki/wiki/public/view/Lib/Getting%20started/iOS/#HCallKitintegration
- client-based video conference in active speaker switching mode (beta feature).

Simon Morlat's avatar
Simon Morlat committed
34 35

### Changed
36 37
- Warning: some function parameters have been renamed for consistency, which modified the Swift API (where parameter names are part of the ABI).
  As a result, adjustements in applications are expected when migrating a swift app based on liblinphone from 4.4 to 4.5.
38
- Improved Android network manager.
39
- To make it consistent with other liblinphone's object, linphone_core_create_subscribe(), linphone_core_create_subscribe2(),
40 41 42
  linphone_core_create_publish() now give ownership of the returned LinphoneEvent, which means that it is no longer need to call
  linphone_event_ref() after calling these functions. As a consequence, an application not using linphone_event_ref() should now
  use linphone_event_unref() when the LinphoneEvent is no longer used, otherwise it will create a memory leak.
43
- Real time text related function linphone_chat_message_get_char() now will always return the new line character,
44
  which wasn't the case before if the get_char() was done after the composing callback was triggered for this character.
45
- linphone_core_interpret_url() will unescape characters first if possible if only a username is given as input parameter.
46
- linphone_chat_message_cancel_file_transfer() no longer deletes the file for outgoing messages.
47
- magic search result created from filter now applies the international prefix of the default proxy config if possible.
48 49 50
- To improve performance file transfer progress callback will be at most notified 100 times.
- Deprecate linphone_core_audio_route_changed() that was introduced in 4.4, to fix audio issues
  when switching audio to some low sample rate Bluetooth devices. It is now handled internally.
Simon Morlat's avatar
Simon Morlat committed
51 52 53

### Fixed
- Internal refactoring of management of locally played tones, in order to fix race conditions.
54 55 56
- Magic search bar not looking in all friends lists.
- Error IMDN in LIME chat rooms not properly sent.
- Chat message lost during attachment auto download if Core stopped during the process.
57
- Windows tests.
58
- Name of MediaCodec encoder and decoder filters in H264Helper Java class.
59
- Both FileContent and FileTransferContent being present in linphone_chat_message_get_contents() list until upload is finished.
Simon Morlat's avatar
Simon Morlat committed
60

Simon Morlat's avatar
Simon Morlat committed
61
## [4.4.0] 2020-06-16
Simon Morlat's avatar
Simon Morlat committed
62 63
    
### Added
Simon Morlat's avatar
Simon Morlat committed
64 65 66 67 68 69 70 71 72 73 74
- Simplified integration with CallKit, see https://wiki.linphone.org/xwiki/wiki/public/view/Lib/Getting%20started/iOS/#HCallKitIntegration
- Specific additions to take into account new iOS 13 constraints, see https://wiki.linphone.org/xwiki/wiki/public/view/Lib/Getting%20started/iOS/iOS13%20Migration%20guide/
  * compatibility for inclusion within an app extension
  * helper functions to create a LinphoneCore that can be shared between an app and its extension
  * helper functions to process remote push notifications announcing IM messages 
- RTP bundle mode feature according to https://tools.ietf.org/html/draft-ietf-mmusic-sdp-bundle-negotiation-54, providing
  increased interoperability with WebRTC.
- TURN over TCP or TLS
- Ephemeral IM - let user program automatic destruction of IM messages.
- SIP Session-Timers (RFC4028)
- New method linphone_core_stop_async(), to ensure clean shutdown can be done without blocking main thread.
Simon Morlat's avatar
Simon Morlat committed
75 76

### Changed
Simon Morlat's avatar
Simon Morlat committed
77 78 79
- Big internal refactoring of how streams are managed within offer/answer exchanges, in order to facilitate bundle mode
  implementation, as well as development of new features.
- ICE now uses all IP addresses detected on the host (except IPv6 temporary ones)
Simon Morlat's avatar
Simon Morlat committed
80
- Better handling of parameter changes in streams during the session, which avoids unecessary restarts.
81
- Do not notify phone number being too short in account manager anymore, our dial plan isn't precise enough to garanty phone number is invalid in this case
Simon Morlat's avatar
Simon Morlat committed
82 83
- Swift wrapper is no longer compiled due to its limited binary compatibility. It is instead exported as source code to be compiled with
  the application making use of it.
Simon Morlat's avatar
Simon Morlat committed
84 85 86

### Fixed
- Internal refactoring of management of locally played tones, in order to fix race conditions.
Simon Morlat's avatar
Simon Morlat committed
87 88
- Issues when handling SDP offer with only text stream.
- Random file transfer issues when used with LIME.
Simon Morlat's avatar
Simon Morlat committed
89 90 91 92 93 94 95 96 97 98 99


## [4.3.0] - 2019-10-14

### Added
- New cmake options to make "small" builds of liblinphone, by excluding adavanced IM and DB storage.

### Changed
- Optimisations in chatrooms loading from Sqlite DB, improving startup time.
- License changed to GNU GPLv3.