12021-05-04 Olaf Bergmann <bergmann@tzi.org> 2 3 Change summary for version 4.3.0: 4 5 * Include directory updated from include/coap2 to include/coap3 as 6 this is a major version change. 7 * Other code references updated from coap2 to coap3. 8 * Examples now have the underlying (D)TLS library name as a suffix. 9 E.g. coap-server-openssl 10 * Examples and libraries can be installed with default names using 11 ./configure --enable-add-default-names 12 * Many call-back handlers have had their parameter lists changed, some 13 variables are made const and other ones removed as they can be easily 14 reconstructed if needed. 15 * Some functions have their parameters changed to const. 16 * Internal structures made opaque to applications, requiring the 17 applications to access the structure information via a new set of 18 functions. The new functions are of the form coap_X_get_Y() or 19 coap_X_set_Y() where X is the structure (e.g. session) and Y is 20 the variable. 21 * coap_async_state_t 22 * coap_attr_t 23 * coap_context_t 24 * coap_packet_t 25 * coap_pdu_t 26 * coap_resource_t 27 * coap_session_t 28 * coap_socket_t 29 * Header files are moved into libcoap space and so are accessed by coap 30 sub-directory - e.g. #include <coap3/coap.h>. 31 * RFC7959 (Block handling) moved into libcoap from application code 32 considerably simplifying application code. See coap_block(3) man page. 33 * CoAP Cache Key support. 34 * Support for cmake builds. 35 * Support for RIOT builds. 36 * Support for Cygwin builds. 37 * Proxy support for coap-server, enhanced coap-client capabilities 38 * Updated async support. 39 * Multicast requests now randomly delayed befor ethe response is 40 sent. 41 * Additional RFC support - RFC8768. 42 * Mbed TLS DTLS library support. 43 * (D)TLS support for RPK and PKCS11. 44 * Additional (D)TLS support for PSK (e.g. Identity Hints). 45 * PKI support consistent across all supported (D)TLS libraries. 46 * Support for disabling TCP for code reduction. 47 * More rigorous checking and appropriate rejection of inbound PDU 48 options. 49 * Additional unit tests. 50 * Reported bugs fixed. 51 * Example applications help reports on (D)TLS library capabilities 52 and versions. 53 * Documentation added and updated (Doxygen and man). 54 552019-11-05 Olaf Bergmann <bergmann@tzi.org> 56 57 Change summary for version 4.2.1: 58 59 * Builds now support silent rules 60 * Support building with TinyDTLS as a shared library 61 * Added in EPOLL support 62 * Added in support for constrained stacks 63 * Server sessions hashed for performance lookup 64 * coap_endpoint_t and coap_subscription_t made opaque to applications 65 * Documentation updated 66 672019-02-11 Olaf Bergmann <bergmann@tzi.org> 68 69 Change summary for version 4.2.0: 70 71 * DTLS support improvements (OpenSSL, GnuTLS, tinydtls) 72 * Pre-shared keys, X.509 certificates 73 * new session abstraction 74 * TCP and TLS support 75 * improved documentation; manual pages 76 * changes in internal PDU structure 77 * improved examples (DTLS usage, block-wise transfer) 78 * docker images for continuous integration 79 * support for Google OSS fuzzer 80 * MS Visual Studio project for Windows builds 81 822017-07-10 Olaf Bergmann <bergmann@tzi.org> 83 84 * DTLS support (OpenSSL, tinyDTLS) by Jean-Claude Michelou 85 * Win32 support by Jean-Claude Michelou 86 * New Session API by Jean-Claude Michelou 87 882016-02-16 Olaf Bergmann <bergmann@tzi.org> 89 90 * Fixed build for Contiki3 and LwIP 91 * .travis.yml: Enabled continuous integration for platforms 92 POSIX and Contiki 93 942015-03-11 Olaf Bergmann <bergmann@tzi.org> 95 96 * include/coap/resource.h: Replaced custom list structures by 97 utlist macros. 98 992015-03-09 Olaf Bergmann <bergmann@tzi.org> 100 101 * src/uri.c (coap_split_path): Fixed URI parser bug and 102 removed broken parse iterator. 103 1042015-03-05 Olaf Bergmann <bergmann@tzi.org> 105 106 * src/coap_time.c (coap_ticks): Changed POSIX implementation 107 to fixed point arithmetic and removed clock_offset. 108 1092015-02-21 Olaf Bergmann <bergmann@tzi.org> 110 111 * net.c (coap_send_confirmed): Use fixed point arithmetic 112 to calculate retransmission timeout. 113 1142015-02-20 Olaf Bergmann <bergmann@tzi.org> 115 116 * coap_list.[hc]: Moved old list implementation into 117 sub-directory examples and replaced by linked lists 118 from utlist.h. As a result, the list must be sorted 119 explicitly with LL_SORT). 120 1212015-02-19 Olaf Bergmann <bergmann@tzi.org> 122 123 * net.c (coap_send_confirmed): Fixed retransmission timeout 124 calculation and renamed transmission parameters according to 125 Section 4.8 of RFC 7252. 126 1272015-02-17 Olaf Bergmann <bergmann@tzi.org> 128 129 * major rework to get Contiki and lwip running 130 * many fixed bugs and warnings 131 1322014-06-18 Olaf Bergmann <bergmann@tzi.org> 133 134 * mem.c (coap_malloc_type): New functions for allocating memory. 135 On POSIX systems, coap_malloc_type() and coap_free_type() are just 136 wrapper functions for malloc() and free(), while on Contiki and 137 LWIP distinct arrays are used for each type. 138 1392014-03-09 Olaf Bergmann <bergmann@tzi.org> 140 141 * net.c (coap_cancel): Removed 7.31 again and implemented new 142 method for cancelling observe relationships. 143 1442014-02-25 Olaf Bergmann <bergmann@tzi.org> 145 146 * net.c (coap_cancel): Handling of 7.31 responses to cancel 147 notifications (see Section 4.6 of draft-ietf-core-observe-12) 148 1492014-02-04 Olaf Bergmann <bergmann@tzi.org> 150 151 * resource.c (coap_print_link): This function now takes an offset 152 where printing starts. This is used for generating blocks on the 153 fly. 154 155 * net.c (wellknown_response): Added support for Block2 options 156 when generating a response for .well-known/core. 157 158 * block.h (coap_opt_block_num): Fixed handling of zero-length 159 options. COAP_OPT_BLOCK_LAST now returns NULL when the option 160 value's length is zero. 161 1622014-01-07 Olaf Bergmann <bergmann@tzi.org> 163 164 * resource.c (coap_print_link): Output partial resource 165 descriptions. The function now provides a sliding window over the 166 textual representation of the resource. Output starts at the given 167 offset and ends at the buffer's upper bound. The meaning of the 168 return value has changed to allow distinguishing whether or not 169 the resource description has been truncated at the buffer's upper 170 bound. 171 (print_wellknown): Support for the new coap_print_link(). An 172 additional parameter now is used to provide the offset into the 173 resource description. The meaning of the return value has been 174 adjusted accordingly. 175 1762013-12-23 Olaf Bergmann <bergmann@tzi.org> 177 178 * configure.in: merged with LWIP port from chrysn 179 <https://git.gitorious.org/coap-lwip/coap-lwip.git>. This 180 introduces new compiler flags WITH_POSIX and WITH_LWIP to 181 distinguish target platforms. 182 1832013-09-03 Olaf Bergmann <bergmann@tzi.org> 184 185 * option.h (coap_option_setb): increased size of option type 186 argument 187 188 * tests/test_error_response.c (t_init_error_response_tests): new 189 tests for error response generation 190 191 * tests/test_pdu.c (t_encode_pdu5): fixed number for option Accept 192 193 * net.c (coap_new_error_response): fixed option size calculation 194 1952013-07-04 Olaf Bergmann <bergmann@tzi.org> 196 197 * net.c (coap_new_context): register critical Accept option 198 199 * pdu.c: option codes for Accept and Size1 according to coap-18 200 2012013-02-01 Olaf Bergmann <bergmann@tzi.org> 202 203 * coap_time.h (coap_clock_init_impl): fix invalid preprocessor 204 directive. #warning is now only used for gcc only (close sf bug #15) 205 206 * net.c (wellknown_response): applied patch from chrysn to 207 fix bug in generation of .well-known/core representation 208 2092013-01-21 Olaf Bergmann <bergmann@tzi.org> 210 211 * option.h: renamed option field in coap_opt_iterator_t to 212 next_option to detect erroneous use in old code 213 2142013-01-18 Olaf Bergmann <bergmann@tzi.org> 215 216 * configure.in: new option --with-tests to enable unit tests 217 218 * tests/testdriver.c: unit tests for parser functions 219 220 * pdu.c (coap_pdu_parse): new PDU parser for Klaus-encoding 221 according to coap-13 222 223 * net.c (coap_read): call coap_pdu_parse() to check PDU integrity 224 225 * option.c: Klaus-encoding for coap-13, including new option 226 iterator interface 227 2282012-11-20 Olaf Bergmann <bergmann@tzi.org> 229 230 * net.c (next_option_safe): made option parsing more robust in 231 presence of option jumps 232 233 * pdu.h: new option codes from draft-ietf-core-coap-12 234 235 * option.c (coap_opt_setlength): new function to set option length 236 237 * uri.c (make_decoded_option): use coap_opt_setlength() instead of 238 obsolete macro COAP_OPT_SETLENGTH. 239 2402012-11-19 Olaf Bergmann <bergmann@tzi.org> 241 242 * uri.c (make_decoded_option): use coap_opt_encode() instead of writing 243 2442012-11-03 Olaf Bergmann <bergmann@tzi.org> 245 246 * net.c (coap_read): read new option encoding 247 2482012-11-01 Olaf Bergmann <bergmann@tzi.org> 249 250 * option.c (coap_opt_size, coap_opt_value, coap_opt_length): 251 several functions to access fields of options (possibly preceeded 252 by option jump) 253 2542012-10-25 Olaf Bergmann <bergmann@tzi.org> 255 256 * option.c (coap_opt_encode): new function for option encoding 257 with option jumps 258 2592012-03-23 Olaf Bergmann <bergmann@tzi.org> 260 261 * examples/client.c (clear_obs): clear observation relationship after 262 user-specified duration 263 2642012-03-21 Olaf Bergmann <bergmann@tzi.org> 265 266 * resource.c (print_wellknown): filtering by attributes 267 2682012-03-19 Olaf Bergmann <bergmann@tzi.org> 269 270 * pdu.c (coap_add_option): allow more than 15 options. 271 2722012-03-15 Olaf Bergmann <bergmann@tzi.org> 273 274 * examples/client.c (cmdline_uri): split path and query here to 275 make it easier to include these options in subsequent requests for 276 block transfer. 277 2782012-03-14 Olaf Bergmann <bergmann@tzi.org> 279 280 * examples/etsi_iot_01.c: Support for POST, PUT, DELETE on /test 281 2822012-03-13 Olaf Bergmann <bergmann@tzi.org> 283 284 * encode.c (coap_encode_var_bytes): more efficient coding for 0 285 2862012-03-11 Olaf Bergmann <bergmann@tzi.org> 287 288 * examples/etsi_iot_01.c: Test cases for 1st ETSI CoAP Plugtest, 289 March 24/25, 2012 in Paris, France. 290 2912012-03-10 Olaf Bergmann <bergmann@tzi.org> 292 293 * block.c: support for block transfer. 294 2952012-03-07 Olaf Bergmann <bergmann@tzi.org> 296 297 * examples/client.c (usage): new command line options 298 -B to set timeout after which the main loop is left. 299 -e to specify a payload (incompatible with -f) 300 (message_handler): bugfixes 301 302 * resource.h: (coap_method_handler_t): new API for method handlers. 303 304 305Copyright 2012 Olaf Bergmann, TZI 306Copying and distribution of this file, with or without modification, are 307permitted provided the copyright notice and this notice are preserved. 308