• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
12023-09-18  Olaf Bergmann  <bergmann@tzi.org>
2
3	Change summary for version 4.3.4:
4
5        * Clean up use of tags.
6        * Support for MacOS with Contiki-NG builds.
7        * Support for Windows with OpenSSL 3.x builds.
8        * Reported bugs fixed.
9        * Documentation updated.
10
112023-09-12  Olaf Bergmann  <bergmann@tzi.org>
12
13	Change summary for version 4.3.3:
14
15        * Fix ABI version.
16
172023-07-13  Olaf Bergmann  <bergmann@tzi.org>
18
19	Change summary for version 4.3.2:
20
21        * Source files reformatted according to pre-commit rules.
22        * Support for RFC8613 (OSCORE).
23        * Support for RFC8974 (Extended Tokens).
24        * Support for RFC9177 (Q-Block).
25        * Support for latest RIOT code and new examples.
26        * Support for MinGW builds.
27        * Support for AF_UNIX sockets.
28        * Support for WebSockets (RFC8323).
29        * Support for IPv4 only and IPv6 only libcoap builds.
30        * Support for defining maximum logging level.
31        * Support for maintaining Observer requests over server restarts.
32        * Support for Contiki-NG.
33        * Support for latest LwIP, including using TinyDTLS.
34        * libcoap now has protocol layered support, separating out the
35          logical layers. Stack now is:-
36            - Application
37            - libcoap - CoAP
38            - libcoap - CoAP-Session
39            - libcoap - (D)TLS I/F using external (D)TLS Library
40            - libcoap - Netif
41            - libcoap - Sockets
42            - Kernel Network Stack
43        * Fixes CVE-2023-30362 and CVE-2023-35862.
44        * Reported bugs fixed.
45        * Examples now support separate logging levels for libcoap and (D)TLS.
46        * syslog LOG_ logging levels replaced with COAP_LOG_ logging levels.
47        * New public API functions to aid / reduce application coding.
48        * Remove requirement for applications to have sockaddr knowledge.
49        * Support for clients sending IPv4 broadcast requests.
50        * Documentation added and updated (Doxygen and man).
51
522022-08-17  Olaf Bergmann  <bergmann@tzi.org>
53
54	Change summary for version 4.3.1:
55
56        * Support for Server only and Client only libcoap builds.
57        * Add support for repeating requests in coap-client.
58        * Add in support for defining resources that support multicast.
59        * Add in more support for async delayed requests.
60        * Add in support for not closing down Observe when closing session.
61        * Support for RFC7390, RFC8516 and RFC9175.
62        * Warn when Tokens are re-used.
63        * Warn when Options are repeated that are not defined as being
64          repeatable.
65        * Support for TLS when using Mbed TLS library.
66        * Support for Mbed TLS 3.1
67        * Add in BERT support for block handling.
68        * More rigorous error handling for Block transfers.
69        * Support for using external or submodule TinyDTLS.
70        * Cmake - add in Apple build support.
71        * Source files renamed to be more consistent in naming.
72        * Update native Windows VC builds to use libcoap-3 instead of libcoap-2.
73        * Reported bugs fixed.
74        * Example applications Help report include build version.
75        * Documentation added and updated (Doxygen and man).
76
772021-05-04  Olaf Bergmann  <bergmann@tzi.org>
78
79	Change summary for version 4.3.0:
80
81        * Include directory updated from include/coap2 to include/coap3 as
82          this is a major version change.
83            * Other code references updated from coap2 to coap3.
84        * Examples now have the underlying (D)TLS library name as a suffix.
85          E.g. coap-server-openssl
86        * Examples and libraries can be installed with default names using
87          ./configure --enable-add-default-names
88        * Many call-back handlers have had their parameter lists changed, some
89          variables are made const and other ones removed as they can be easily
90          reconstructed if needed.
91        * Some functions have their parameters changed to const.
92        * Internal structures made opaque to applications, requiring the
93          applications to access the structure information via a new set of
94          functions.  The new functions are of the form coap_X_get_Y() or
95          coap_X_set_Y() where X is  the structure (e.g. session) and Y is
96          the variable.
97            * coap_async_state_t
98            * coap_attr_t
99            * coap_context_t
100            * coap_packet_t
101            * coap_pdu_t
102            * coap_resource_t
103            * coap_session_t
104            * coap_socket_t
105        * Header files are moved into libcoap space and so are accessed by coap
106          sub-directory - e.g.  #include <coap3/coap.h>.
107        * RFC7959 (Block handling) moved into libcoap from application code
108          considerably simplifying application code. See coap_block(3) man page.
109        * CoAP Cache Key support.
110        * Support for cmake builds.
111        * Support for RIOT builds.
112        * Support for Cygwin builds.
113        * Proxy support for coap-server, enhanced coap-client capabilities
114        * Updated async support.
115            * Multicast requests now randomly delayed before the response is
116              sent.
117        * Additional RFC support - RFC8768.
118        * Mbed TLS DTLS library support.
119        * (D)TLS support for RPK and PKCS11.
120        * Additional (D)TLS support for PSK (e.g. Identity Hints).
121        * PKI support consistent across all supported (D)TLS libraries.
122        * Support for disabling TCP for code reduction.
123        * More rigorous checking and appropriate rejection of inbound PDU
124          options.
125        * Additional unit tests.
126        * Reported bugs fixed.
127        * Example applications help reports on (D)TLS library capabilities
128          and versions.
129        * Documentation added and updated (Doxygen and man).
130
1312019-11-05  Olaf Bergmann  <bergmann@tzi.org>
132
133	Change summary for version 4.2.1:
134
135        * Builds now support silent rules
136        * Support building with TinyDTLS as a shared library
137        * Added in EPOLL support
138        * Added in support for constrained stacks
139        * Server sessions hashed for performance lookup
140        * coap_endpoint_t and coap_subscription_t made opaque to applications
141        * Documentation updated
142
1432019-02-11  Olaf Bergmann  <bergmann@tzi.org>
144
145	Change summary for version 4.2.0:
146
147	* DTLS support improvements (OpenSSL, GnuTLS, tinydtls)
148	    * Pre-shared keys, X.509 certificates
149        * new session abstraction
150	* TCP and TLS support
151	* improved documentation; manual pages
152	* changes in internal PDU structure
153	* improved examples (DTLS usage, block-wise transfer)
154	* docker images for continuous integration
155	* support for Google OSS fuzzer
156	* MS Visual Studio project for Windows builds
157
1582017-07-10  Olaf Bergmann  <bergmann@tzi.org>
159
160	* DTLS support (OpenSSL, tinyDTLS) by Jean-Claude Michelou
161	* Win32 support by Jean-Claude Michelou
162	* New Session API by Jean-Claude Michelou
163
1642016-02-16  Olaf Bergmann  <bergmann@tzi.org>
165
166	* Fixed build for Contiki3 and LwIP
167	* .travis.yml: Enabled continuous integration for platforms
168	  POSIX and Contiki
169
1702015-03-11  Olaf Bergmann  <bergmann@tzi.org>
171
172	* include/coap/resource.h: Replaced custom list structures by
173	utlist macros.
174
1752015-03-09  Olaf Bergmann  <bergmann@tzi.org>
176
177	* src/uri.c (coap_split_path): Fixed URI parser bug and
178	removed broken parse iterator.
179
1802015-03-05  Olaf Bergmann  <bergmann@tzi.org>
181
182	* src/coap_time.c (coap_ticks): Changed POSIX implementation
183	to fixed point arithmetic and removed clock_offset.
184
1852015-02-21  Olaf Bergmann  <bergmann@tzi.org>
186
187	* net.c (coap_send_confirmed): Use fixed point arithmetic
188	to calculate retransmission timeout.
189
1902015-02-20  Olaf Bergmann  <bergmann@tzi.org>
191
192	* coap_list.[hc]: Moved old list implementation into
193	sub-directory examples and replaced by linked lists
194	from utlist.h. As a result, the list must be sorted
195	explicitly with LL_SORT).
196
1972015-02-19  Olaf Bergmann  <bergmann@tzi.org>
198
199	* net.c (coap_send_confirmed): Fixed retransmission timeout
200	calculation and renamed transmission parameters according to
201	Section 4.8 of RFC 7252.
202
2032015-02-17  Olaf Bergmann  <bergmann@tzi.org>
204
205	* major rework to get Contiki and lwip running
206	* many fixed bugs and warnings
207
2082014-06-18  Olaf Bergmann  <bergmann@tzi.org>
209
210	* mem.c (coap_malloc_type): New functions for allocating memory.
211	On POSIX systems, coap_malloc_type() and coap_free_type() are just
212	wrapper functions for malloc() and free(), while on Contiki and
213	LWIP distinct arrays are used for each type.
214
2152014-03-09  Olaf Bergmann  <bergmann@tzi.org>
216
217	* net.c (coap_cancel): Removed 7.31 again and implemented new
218	method for cancelling observe relationships.
219
2202014-02-25  Olaf Bergmann  <bergmann@tzi.org>
221
222	* net.c (coap_cancel): Handling of 7.31 responses to cancel
223	notifications (see Section 4.6 of draft-ietf-core-observe-12)
224
2252014-02-04  Olaf Bergmann  <bergmann@tzi.org>
226
227	* resource.c (coap_print_link): This function now takes an offset
228	where printing starts. This is used for generating blocks on the
229	fly.
230
231	* net.c (wellknown_response): Added support for Block2 options
232	when generating a response for .well-known/core.
233
234	* block.h (coap_opt_block_num): Fixed handling of zero-length
235	options. COAP_OPT_BLOCK_LAST now returns NULL when the option
236	value's length is zero.
237
2382014-01-07  Olaf Bergmann  <bergmann@tzi.org>
239
240	* resource.c (coap_print_link): Output partial resource
241	descriptions. The function now provides a sliding window over the
242	textual representation of the resource. Output starts at the given
243	offset and ends at the buffer's upper bound. The meaning of the
244	return value has changed to allow distinguishing whether or not
245	the resource description has been truncated at the buffer's upper
246	bound.
247	(print_wellknown): Support for the new coap_print_link(). An
248	additional parameter now is used to provide the offset into the
249	resource description. The meaning of the return value has been
250	adjusted accordingly.
251
2522013-12-23  Olaf Bergmann  <bergmann@tzi.org>
253
254	* configure.in: merged with LWIP port from chrysn
255	<https://git.gitorious.org/coap-lwip/coap-lwip.git>. This
256	introduces new compiler flags WITH_POSIX and WITH_LWIP to
257	distinguish target platforms.
258
2592013-09-03  Olaf Bergmann  <bergmann@tzi.org>
260
261	* option.h (coap_option_setb): increased size of option type
262	argument
263
264	* tests/test_error_response.c (t_init_error_response_tests): new
265	tests for error response generation
266
267	* tests/test_pdu.c (t_encode_pdu5): fixed number for option Accept
268
269	* net.c (coap_new_error_response): fixed option size calculation
270
2712013-07-04  Olaf Bergmann  <bergmann@tzi.org>
272
273	* net.c (coap_new_context): register critical Accept option
274
275	* pdu.c: option codes for Accept and Size1 according to coap-18
276
2772013-02-01  Olaf Bergmann  <bergmann@tzi.org>
278
279	* coap_time.h (coap_clock_init_impl): fix invalid preprocessor
280	directive. #warning is now only used for gcc only (close sf bug #15)
281
282	* net.c (wellknown_response): applied patch from chrysn to
283	fix bug in generation of .well-known/core representation
284
2852013-01-21  Olaf Bergmann  <bergmann@tzi.org>
286
287	* option.h: renamed option field in coap_opt_iterator_t to
288	next_option to detect erroneous use in old code
289
2902013-01-18  Olaf Bergmann  <bergmann@tzi.org>
291
292	* configure.in: new option --with-tests to enable unit tests
293
294	* tests/testdriver.c: unit tests for parser functions
295
296	* pdu.c (coap_pdu_parse): new PDU parser for Klaus-encoding
297	according to coap-13
298
299	* net.c (coap_read): call coap_pdu_parse() to check PDU integrity
300
301	* option.c: Klaus-encoding for coap-13, including new option
302	iterator interface
303
3042012-11-20  Olaf Bergmann  <bergmann@tzi.org>
305
306	* net.c (next_option_safe): made option parsing more robust in
307	presence of option jumps
308
309	* pdu.h: new option codes from draft-ietf-core-coap-12
310
311	* option.c (coap_opt_setlength): new function to set option length
312
313	* uri.c (make_decoded_option): use coap_opt_setlength() instead of
314	obsolete macro COAP_OPT_SETLENGTH.
315
3162012-11-19  Olaf Bergmann  <bergmann@tzi.org>
317
318	* uri.c (make_decoded_option): use coap_opt_encode() instead of writing
319
3202012-11-03  Olaf Bergmann  <bergmann@tzi.org>
321
322	* net.c (coap_read): read new option encoding
323
3242012-11-01  Olaf Bergmann  <bergmann@tzi.org>
325
326	* option.c (coap_opt_size, coap_opt_value, coap_opt_length):
327	several functions to access fields of options (possibly preceeded
328	by option jump)
329
3302012-10-25  Olaf Bergmann  <bergmann@tzi.org>
331
332	* option.c (coap_opt_encode): new function for option encoding
333	with option jumps
334
3352012-03-23  Olaf Bergmann  <bergmann@tzi.org>
336
337	* examples/client.c (clear_obs): clear observation relationship after
338	user-specified duration
339
3402012-03-21  Olaf Bergmann  <bergmann@tzi.org>
341
342	* resource.c (print_wellknown): filtering by attributes
343
3442012-03-19  Olaf Bergmann  <bergmann@tzi.org>
345
346	* pdu.c (coap_add_option): allow more than 15 options.
347
3482012-03-15  Olaf Bergmann  <bergmann@tzi.org>
349
350	* examples/client.c (cmdline_uri): split path and query here to
351	make it easier to include these options in subsequent requests for
352	block transfer.
353
3542012-03-14  Olaf Bergmann  <bergmann@tzi.org>
355
356	* examples/etsi_iot_01.c: Support for POST, PUT, DELETE on /test
357
3582012-03-13  Olaf Bergmann  <bergmann@tzi.org>
359
360	* encode.c (coap_encode_var_bytes): more efficient coding for 0
361
3622012-03-11  Olaf Bergmann  <bergmann@tzi.org>
363
364	* examples/etsi_iot_01.c: Test cases for 1st ETSI CoAP Plugtest,
365	March 24/25, 2012 in Paris, France.
366
3672012-03-10  Olaf Bergmann  <bergmann@tzi.org>
368
369	* block.c: support for block transfer.
370
3712012-03-07  Olaf Bergmann  <bergmann@tzi.org>
372
373	* examples/client.c (usage): new command line options
374	-B to set timeout after which the main loop is left.
375	-e to specify a payload (incompatible with -f)
376	(message_handler): bugfixes
377
378	* resource.h: (coap_method_handler_t): new API for method handlers.
379
380
381Copyright 2012 Olaf Bergmann, TZI
382Copying and distribution of this file, with or without modification, are
383permitted provided the copyright notice and this notice are preserved.
384