gitlab-ci: Add OpenSSL specific build
[platform/upstream/libnice.git] / NEWS
1 libnice 0.1.18 (2020-10-20)
2 ===========================
3 Remove the autotools build system, now only meson is available
4 On Windows, use crypto library instead of CryptGenRandom() which is deprecated
5 On Windows, use GetBestInterfaceEx() for UWP compatibility
6 On Windows, fix the listing of interfaces to use the correct APIs
7 On Windows, implement ignoring interfaces
8 Accept receiving messages in multiple steps over TCP
9 Accept duplicated ports as last option instead of spinning forever
10 Use sendmmsg if possible to send multiple packets in one call
11 Fail gathering if no port is available
12 Hide the implementation of NiceCandidate, this hides some parts that were previously visible
13 Enable TURN server connects where both TCP and UDP use the same port number
14 Don't count rejected STUN messages as keepalive packets
15
16 libnice 0.1.17 (2020-05-22)
17 ===========================
18 Add API to retrieve the underlying BSD sockets
19 Support systems with multiple loopback devices
20 Ignore non-running network interfaces
21 Ignore multiple interface prefixes
22 Now tries to nominate matching pairs across components and streams
23 Retry TURN deallocation on timeout, requires not destoying the NiceAgent right after the stream
24 Use different port for every host candidate
25 Make timeouts and retransmissions more in line with the RFCs
26 Find OpenSSL without pkg-config, for Windows
27 Complete meson support
28 GLib required version update to 2.54
29 Removed deprecated GLib APIs
30 Many ICE compatibility and performance improvements
31 Many bug fixes
32
33 libnice 0.1.16 (2019-05-09)
34 ===========================
35 Add API to make it easier to implement ICE trickle
36 Add async closing of agent, to cleanly close TURN allocations
37 Add Google non-standard NOMINATION STUN attribute
38 Fix tests on Windows
39 Fix some racy tests
40
41 libnice 0.1.15 (2018-12-27)
42 ===========================
43 Add support for Regular Nomination
44 Removal of the global lock over all agents
45 Add method to compare candidate targets
46 Added optional Meson build system, future releases will remove autotools
47 Renamed all members of PseudoTcpState enum (compile-time API change)
48 Now drops all packets from addresses that have not been validated by an ICE check
49 Multiple improvements to ICE interoperability
50 Improved RFC compliance
51 Improved OC2007 compatibility mode alternate-server support
52
53 libnice 0.1.14 (2017-04-03)
54 ===========================
55 Improved RFC compliance
56 Split verbose logs into a separate option
57 Numerous bug fixes
58 Use GnuTLS for hash functions
59 Implement NewReno in PseudoTCP
60 Requires GLib 2.44 GnuTLS 2.12
61
62 libnice 0.1.13 (2015-04-28)
63 ===========================
64 Fix build on non-Windows platforms that don't have getifaddrs()
65 Fix build regression on Windows
66
67 libnice 0.1.12 (2015-04-22)
68 ===========================
69 Fix regression in SDP parser
70 Make examples work on Windows
71 Bug fixes on nicesrc
72
73 libnice 0.1.11 (2015-04-20)
74 ===========================
75 API: nice_agent_set_local_credentials() for WebRTC
76 Nicesink: support GstBufferList
77 Better warnings on programming errors
78 Build fixes for Solaris and Windows
79 Bug and documentation fixes
80
81 libnice 0.1.10 (2015-01-28)
82 ===========================
83 Fix bug on component change on the sink
84
85 libnice 0.1.9 (2015-01-28)
86 ==========================
87 Make it possible to statically build the GStreamer plugins
88 Bug fixes, in particular fix compatibility with coTurn servers
89 Documentation fixes
90
91 libnice 0.1.8 (2014-10-09)
92 ==========================
93 Added FIN-ACK behavior in the PseudoTCP
94 ICE-TCP, both standard mode and Microsoft compatible
95 Microsoft compatible TURN-TCP
96 API: nice_address_equal_no_port() to compare NiceAddresses ignoring the port
97 API: nice_agent_get_component_state() to get the current component state
98 API: agent:keepalive-conncheck to make the agent use conncheck as keepalives
99   and fail the connection if there is no answer
100 API: agent:ice-tcp, agent:udp-tcp to control ICE-UDP vs ICE-TCP behaviours
101 API: agent:bytestream-tcp to know if the send/receives in reliable mode create full packets or not
102 API: New signals agent::new-selected-pair-full, agent::new-candidate-full,
103   agent::new-remote-candidate-full which include the NiceCandidates directly
104 API: Deprecated agent::new-selected-pair and agent::new-candidate and 
105   agent::new-remote-candidate signals
106 Now all signals are emitted at the function return time
107
108 libnice 0.1.7 (2014-05-05)
109 ==========================
110 Fix undesired API change that broke Farstream unit testsx
111
112 libnice 0.1.6 (2014-04-28)
113 ==========================
114 API: nice_agent_restart_stream() to do a ICE restart on a single strema
115 API: nice_component_state_to_string() to get a printable name for a component
116   state
117 API: nice_agent_forget_relays() to forget the relays set for a
118   specific component, along with nice_agent_restart_stream(), it allows
119   changing the current relay without dropping the connection.
120 It is now possible to add relays after the initial candidate gathering.
121 Many bug fixes
122
123 libnice 0.1.5 (2014-03-06)
124 ==========================
125
126 API: nice_agent_recv() and nice_agent_recv_nonblocking() as an alternative to
127   the nice_agent_attach_recv()
128 API: nice_agent_recv_messages() and nice_agent_recv_messages_nonblocking() to
129   receive multiple messages at the same time
130 API: nice_agent_get_io_stream() to get a GIOStream in reliable mode
131 API: nice_agent_get_selected_socket() to extract the selected GSocket
132 Import Google's newer PseudoTCP code including window scaling
133 Improve PseudoTCP performance
134 Improve performance
135 Build fixes
136
137 libnice 0.1.4 (2013-02-22)
138 ==========================
139
140 Fix issue with dribble mode
141 Fix issue with TURN permissions
142 Fix missing win32 directory from release archive
143 Fix support for OC2007
144 Added new nice_address_ip_vesion API
145 Added new nice_agent_get_selected_pair API
146 Added new SDP parsing and generation API
147 Added simple examples (simple, threaded and sdp usages examples)
148
149 libnice 0.1.3 (2012-09-13)
150 ==========================
151
152 Dribble mode: You can set remote candidates while gathering the local ones
153 Add support for GStreamer 1.0, will compile plugins for both 1.0 and 0.10 by default
154 Cache GSocketAddress in UdpBsdSocket, creating it is very slow
155
156 libnice 0.1.2 (2012-04-03)
157 ==========================
158
159 Fix a bug where a controlled agent may never go to READY if it received early conncheck
160 Restart connchecks on a failed candidate pair when receiving a triggered check
161 Fix a bug where gathering-done signal could be sent before UPnP mapping finishes
162 Fix a race condition where setting remote-candidates on a gathered stream failed if another stream was gathering
163 Many fixes to complete and stabilize TURN support 
164 Fix a bug in proxy support where TURN packets were misread
165 Refactor libnice to use GSocket which works around a glib limitation of g_io_channel on windows
166 Fix a bug with receiving error messages during conncheck
167 Fix a possible infinite loop bug
168 Fix memory leaks and multi-threaded race conditions
169 Better compatibility for BSD and Mingw
170 Added support files for Visual Studio compilation
171 Various fixes to UPnP support
172 Fixes to the build system
173
174 libnice 0.1.1 (2011-09-07)
175 ==========================
176
177 Fixed BSD and Solaris compatibility
178 Fixed PPC64 symbol test
179 Removed a few possible leak/bugs
180 Fixed compatibility with google's recent protocol change
181
182 libnice 0.1.0 (2011-01-20)
183 ==========================
184
185 Added nice_candidate_copy to the public API
186 Make stun_timer timeouts configurable (Break API and ABI)
187 Add compatibility support for MSOC 2007 and MSOC 2007 R2
188 Add MS-TURN support for MSOC
189 Added and completed TURN RFC 5766 support
190 Add a nice_agent_set_port_range API to force a component to use a specific port
191 Fix various bugs and memory leaks
192 Improve documentation
193
194 libnice 0.0.13 (2010-07-20)
195 ==========================
196
197 Add support for IPv6
198 Fix crc32 function conflict with libz.so
199 Various bug fixing and code cleaning
200 Validate the remote candidate address before adding it
201
202 libnice 0.0.12 (2010-05-19)
203 ==========================
204
205 Update compatibility to RFC5245
206 Fix a memory corruption bug
207 Fix a possible buffer overflow with socks5 proxies
208
209 libnice 0.0.11 (2010-03-18)
210 ===========================
211
212 Handle EAGAIN for UDP sockets
213 Fix coverity warnings
214 Fix a bug with TURN and Channel Bindings
215 Add a reliable transport mode using libjingle's PseudoTcp implementation
216 Various fixes
217
218 libnice 0.0.10 (2009-11-04)
219 ===========================
220
221 Fix some memory leaks with the gstreamer elements
222 Fix username/foundation for google TURN candidates
223 Fix the sending of hundreds of connectivity checks at once the stream is connected
224 Fix BSD support
225 Fix reprocessing of already processed early incoming checks when in dribble-mode
226 Fix a rare crash with failing relay candidates allocations
227 Add a stun_agent_set_software API
228 Add a nice_agent_set_software API
229
230 libnice 0.0.9 (2009-07-31)
231 ===========================
232
233 Fix some more issues with peer-reflexive candidates in google mode (for early incoming checks)
234 Fix SHA1 algorithm when strict aliasing is used
235 Fix google mode connectivity with discovered remote peer reflexive candidates
236 Fix google/msn mode by not limiting the conncheck list
237 Fix the interfaces discovery by using getifaddrs
238 Fix compilation on Mac OS X
239 Add ToS support to the sockets
240
241
242 libnice 0.0.8 (2009-06-19)
243 ===========================
244
245 Remove deprecated g_strcasecmp call
246 Use addr instead of base_addr on assigning remote peer-reflexive candidates (fixes crash)
247 Use a global mutex and g_source_is_destroyed to avoid race conditions (fixes crashes)
248 Unlock the mutex before calling the recv callback
249
250 libnice 0.0.7 (2009-06-11)
251 ===========================
252
253 Added UPnP Support
254 Fix a race condition when destroying the nice agent
255 Stun headers are now installed
256 Unset timer's source if they return FALSE
257 Fix interoperability with gtalk2voip.com
258 Avoid a race condition where a candidate has the wrong user/pass
259 Add support for delayed setting of the remote candidates in google mode
260 Better connectivity support and race condition fixes
261 Keepalive connchecks do not change the state if they fail but data was still received
262 Fix foundation generation for remote peer reflexive candidates
263 Drop packets when using TCP and the bandwidth is too slow for the data output
264
265
266 libnice 0.0.6 (2009-03-31)
267 ===========================
268
269 Fix connectivity checks for detecting when we loose the connection
270 Fix a race condition with gtalk that made the call silent after 30 seconds
271 Robustness checks with regards to relay information
272 Fix a race condition crash with retransmission ticks
273 Added a new STUN API : stun_agent_forget_transaction
274 Fix a possible crash if tcp-turn is shutdown early in the process
275 Fix a crash when a stream is removed
276 Fix MSN support by disable keepalive connchecks
277
278
279 libnice 0.0.5 (2009-03-04)
280 ===========================
281
282 Name change from nice to libnice
283 Added support for HTTP proxies
284 Added a nice_interfaces API to query the local interfaces/ips
285 Fixed libnice when used in dribble mode
286 Fix a data corruption issue with the SHA1 algorithm
287 Endianness gets checked at runtime so libnice should compile and work everywhere
288 Add compatiblity for WLM2009 ICE
289 Export libstun API and add documentation for libstun
290 Add connectivity checks during the connection to detect when the peer gets disconnected
291 Bug fixes and code cleaning
292
293
294 nice 0.0.4 (2008-12-17)
295 ========================
296
297 Fix compilation for 64bits systems
298 Revert the use of netbuffer in the gstreamer elements
299 Added support for pseudossl-tcp TURN relay for Google
300 Added support for SOCKS5 proxy servers for TCP relaying
301 Bug fixes and code cleaning
302
303 nice 0.0.3 (2008-11-25)
304 ========================
305
306 Stable google talk support
307 Added TCP TURN relay support for google.
308 Removed openssl dependency.
309
310 nice 0.0.2 (2008-11-12)
311 ========================
312
313 Better support for google talk compatibility mode as well as UDP TURN relay compatibility for Google. 
314 Removed -Werror compile flag for releases
315
316 nice 0.0.1 (2008-11-05)
317 ========================
318
319 Initial release of libnice.
320 It has compatibility support for the latest ICE draft 19, as well as google talk and MSN compatibility.
321 It also has support for TURN relays using TURN draft 9 if you're in ICE draft 19 compatibility, or specific Google/MSN relay support if you're in Google/MSN compatibility mode.
322 The library is multiplatform and should compile fine on Linux, Mac and Windows systems.