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