-
v0.6.0
TinyCBOR release 0.6 TinyCBOR 0.6 contains many changes developed over the past four years, which have been included in Qt releases. Notable new API: - Support for encoding and decoding half-precision floating points (cbor_encode_float_as_half_float and cbor_value_get_half_float_as_float) which convert to and from a single-precision float to the correct 16-bit representation. - Ability to restart parsing (cbor_value_reparse) And some experimental API: - Parsing and encoding using delegated functions, not just a buffer (cbor_encoder_init_writer and cbor_parser_init_reader) - Parser support for iterating over string chunks The project maintainer would like to thank the following people for contributing to this release and to bugfixes in the 0.5 branch: Alexander Richardson Andreas Zisowsky Dan Church Dmitry Shachnev elie-elkhoury Fabrice Fontaine Hamilton Chapman Koen Zandberg Konstantin Yegupov Maciej Jurczak Mahavir Jain Mårten Nordheim Mathieu Michael Richardson Pedro Oliveira Ricardo Crudo Sergio Martins Shubham Patil Stewart Gebbie Svyatoslav Phirsov Signed-off-by: Thiago Macieira <thiago.macieira@intel.com>
-
v0.6-rc1
TinyCBOR v0.6 Release Candidate 1 This is a pre-release of TinyCBOR. It contains many changes developed over the past four years, which have been included in Qt releases. Notable new API: - Support for encoding and decoding half-precision floating points (cbor_encode_float_as_half_float and cbor_value_get_half_float_as_float) which convert to and from a single-precision float to the correct 16-bit representation. - Ability to restart parsing (cbor_value_reparse) And some experimental API: - Parsing and encoding using delegated functions, not just a buffer (cbor_encoder_init_writer and cbor_parser_init_reader) - Parser support for iterating over string chunks
-
v0.5.4
TinyCBOR release 0.5.3 This is a bugfix release. Important bugs fixed in this release: - Documentation clarification on the use of CborIndefiniteLength - Fixed a warning on discarding a const qualifier - Fixed a warning on checking macro values before checking they're defined - Fixed the indentation in the simplereader example - Improved the output of byte strings in the simplereader example to use "\x11" instead of plain hex dump - Made strings be printed in quotes by the simplereader example - Fixed the supported tag registry HTML documentation - Fixed building TinyCBOR with other C libraries than glibc on Linux - Fixed a build issue on big-endian machines - Fixed an issue synchronising the state of inner and outer containers when calling cbor_encoder_close_container - Fixed building of TinyCBOR with MSVC when /arch:AVX2 is used - Tightened memory allocation failure checks The project maintainer would like to thank the following people for contributing to this release: Alexander Richardson Dan Church Hamilton Chapman Maciej Jurczak Mahavir Jain Mathieu Michael Richardson Ricardo Crudo Shubham Patil Stewart Gebbie Svyatoslav Phirsov Signed-off-by: Thiago Macieira <thiago.macieira@intel.com>
-
v0.5.3
TinyCBOR release 0.5.3 This is a bugfix release. Important bugs fixed in this release: - Fixed off-by-one error in UTF-8 decoding (#137) - Fixed build error in json2cbor tool - Fixed off-by-one error causing buffer overflow in open_memstream (#140) - Fixed a possible macro expansion error (#141) - Fixed an out-of-bound access error when a stream ends in a string (#156) - Fixed a mistake in the documentation that suggested invalid code - Fixed validation of maps that have an unpaired key (#167) The project maintainer would like to thank the following people for contributing to this release: Fabrice Fontaine Pedro Oliveira Sergio Martins Svyatoslav Phirsov elie-elkhoury Signed-off-by: Thiago Macieira <thiago.macieira@intel.com>
-
v0.5.2
TinyCBOR release 0.5.2 This is a bugfix release. Important bugs fixed in this release: - Fixed the detection of the byte order with the INTEGRITY compiler - Fixed building with CBOR_NO_FLOATING_POINT and CBOR_NO_HALF_FLOAT_TYPE - Changed the type for all flags variables from int to uin32_t (for platforms where int isn't 32-bit) - Fixed some C89/C90 issues in the code: notably, TinyCBOR headers now do compile with such a compiler (provided <stdint.h> is present) - Fixed the freestanding (no FILE*) build - Made sure the shared library build of TinyCBOR links to the math library - #136 Fixed the installation of tinycbor-version.h header The maintainer would like to thank Koen Zandberg for contributions in this release. Signed-off-by: Thiago Macieira <thiago.macieira@intel.com>
-
v0.5.1
TinyCBOR release 0.5.1 This is a bugfix release. Important bugs fixed in this release: - Fixed a memory leak in the functions converting to JSON if fprintf failed - Fixed a crash in json2cbor if realloc() failed - Fixed a compile error on 32-bit (x86) Windows - Fixed the build with very old GCC (4.4) Signed-off-by: Thiago Macieira <thiago.macieira@intel.com>
-
v0.5.0
TinyCBOR release 0.5.0 TinyCBOR 0.5 contains numerous fixes and new API compared to 0.4. The main feature in this release is the CBOR Validation API, which can be used to perform a deeper validation of the contents than the simple syntax correctness that the main parser API provides. In particular, the API can be used to confirm that a given CBOR data type was encoded using either the Canonical Format (RFC 7049 section 3.9) and the Strict Mode (section 3.10). The API can also be used to confirm CBOR Text Strings carry properly-encoded UTF-8 text, a verification that the main parser does not perform. Starting in this release, the TINYCBOR_VERSION macro will be defined to the current version number. This release also has the possibility of building TinyCBOR as a shared library on Unix systems. It is automatically enabled on systems detected to use the ELF executable format. To disable it, pass BUILD_SHARED=0 to make; to enable it on other systems, pass BUILD_SHARED=1. To disable the static library, pass BUILD_STATIC=0 to make. Note that TinyCBOR does not guarantee binary compatibility across releases. Other relevant changes include: - The list of known tags includes the tags used for CBOR Object Signing and Encryption (COSE - RFC 8152). - The functions taking FILE* are now conditional on a hosted C environment. They are not declared for freestanding C environments. Note: the zero-copy string functions announced with the 0.5-beta1 release have been removed for further development. A new zery-copy string access API will be provided in the 0.6 release. The project maintainer would like to thank the following people for contributing to this release: Bertrand Roussel George Nash Erich Keane Fabrice Fontaine Vipul Rahane Signed-off-by: Thiago Macieira <thiago.macieira@intel.com>
-
v0.5-beta1
TinyCBOR release 0.5 (beta1) This is a beta release of TinyCBOR 0.5. Beta releases may have bugs and the API is still subject to change. TinyCBOR 0.5 contains numerous fixes and new API compared to 0.4. The main feature in this release is the CBOR Validation API, which can be used to perform a deeper validation of the contents than the simple syntax correctness that the main parser API provides. In particular, the API can be used to confirm that a given CBOR data type was encoded using either the Canonical Format (RFC 7049 section 3.9) and the Strict Mode (section 3.10). The API can also be used to confirm CBOR Text Strings carry properly-encoded UTF-8 text, a verification that the main parser does not perform. Starting in this release, the TINYCBOR_VERSION macro will be defined to the current version number. Other relevant changes include: - The list of known tags includes the tags used for CBOR Object Signing and Encryption (COSE - RFC 8152). - A new pair of functions cbor_value_get_{text,byte}_string_chunk can be used to obtain a direct pointer to the string data, without any memory allocation or memcpy (zero copy). - the functions taking FILE* are now conditional on a hosted C environment. They are not declared for freestanding C environments. The project maintainer would like to thank the following people for contributing to this release: Alex Radutskiy Bertrand Roussel Erich Keane Fabrice Fontaine Philippe Coval Vipul Rahane
-
v0.4.2
TinyCBOR release 0.4.2 This is a bugfix release. Important bugs fixed in this release: - Fixed builds against a static cJSON - Fixed MSVC builds - Fixed builds on freestanding C implementation (no FILE* API) - Fixed the return value of cbor_encoder_close_container when a previous OOM condition had been detected - Fixed the build in strict C89 mode (no C99 extensions) Signed-off-by: Thiago Macieira <thiago.macieira@intel.com>
-
v0.4.1
TinyCBOR release 0.4.1 This is a bug-fix release. There is no new functionality on top of v0.4. Bugs fixed: - #54 Failure to build with newest cJSON upstream - Stack corruption when memcpy doesn't use the same calling convention - Warnings with GCC -pedantic in cbor.h - a number of buildsystem bugs Signed-off-by: Thiago Macieira <thiago.macieira@intel.com>
-
v0.4
TinyCBOR release 0.4 This is a feature release of TinyCBOR. New API in this release: - cbor_encoder_get_buffer_size - cbor_encoder_get_extra_bytes_needed - cbor_value_is_half_float - cbor_value_is_float - cbor_value_is_double This release contains numerous bugfixes and simple fixes for warnings generated with some compilers, under certain conditions. The public API headers should now produce no warnings with Microsoft's compiler, even at level 4 warnings. Important: the anonymous union member of struct CborEncoder is no longer anonymous, to fix compatibility with C89 compilers. Code that accessed the members in that structure directly should instead use the API added for that purpose (cbor_encoder_get_buffer_size and cbor_encoder_get_extra_bytes_needed). Signed-off-by: Thiago Macieira <thiago.macieira@intel.com>
-
v0.3.2
TinyCBOR release v0.3.2 This is a bug-fix release. There is no new functionality on top of v0.3 or v0.3.1. This release fixes a build incompatibility with old GNU Make (< 0.4) and finally fixes stdint.h macros with Arduino. Bugs fixed: - #36: libtinycbor.a created as a directory on some buildsystem -- Changes: Fabrice Fontaine (1): Give a name to unnamed union in CborEncoder Thiago Macieira (1): Fix "make distcheck" when TMPDIR isn't set
-
v0.3.1
TinyCBOR release v0.3.1 This is a bug-fix release. There is no new functionality on top of v0.3. This release is meant to fix the build when using a Bourne shell that isn't Bash. Bugs fixed: - #32: Build fails due to fd > 9 in shell redirection - #34: Use of non-POSIX "echo -e" shell -- Changes: Fabrice Fontaine (1): Fix compilation error due to file descriptor Thiago Macieira (1): Use printf instead of echo -e in Makefile.configure
-
v0.2.1
Retroactively releasing TinyCBOR 0.2.1 This is an intermediate release of TinyCBOR v0.2 without the buildsystem updates that entered 0.3.
-
v0.3
TinyCBOR release 0.3 The major feature in version 0.3 is the completion of the TinyCBOR documentation. To generate it, run make docs The documentation is available online at https://01org.github.io/tinycbor/0.3 This release contains compile fixes for builds on Windows with Microsoft Visual Studio's compiler. It also moved the code calling malloc() to outside cborparser.c, so that file can be compiled on C Freestanding environments that do not have malloc() and free(). This release also completes the API that was declared in cbor.h but never implemented. New APIs in this release are: - cbor_encoder_get_buffer_size - cbor_encoder_get_extra_bytes_needed - cbor_value_calculate_string_length - cbor_value_get_int64_checked - cbor_value_get_int_checked -- Changes: David Antler (1): Add reference to header file for Windows. Mike Colagrosso (1): parser: Set the length to 0 on error in extract_length() Otavio Pontes (3): Fix compilation for systems without math.h header Remove from cborparser.c file the dependency on stdlib header Fix _BSD_SOURCE is deprecated warning Thiago Macieira (17): Fix #16: sizeof(struct {}) is not allowed in C++ Add missing #include Fix and test the functions getting the sizes of containers Finish open_memstream for older glibc without it Fix a parsing issue caused by pointer wraparounds Fix warnings printed by the Microsoft compiler at -W3 Fix a few more MSVC level 3 warnings Fix compilation when using a C compiler that doesn't understand "inline" Fix compilation in C89 mode: variables can't be declared in for stmt Convert C++/C99 style comments to C89 Update qmake build files Finish TinyCBOR documentation Add cbor_encoder_get_buffer_size and get_extra_bytes_needed Parsing: Add cbor_value_get_next_byte() CborValue: add missing convenience FP cbor_value_is_xxxx functions CborValue: fix mis-named cbor_value_is_{null,undefined} Parsing: implement the missing cbor_value_get_int{,64}_checked functions
-
v0.2
TinyCBOR release 0.2 The major feature in this release is the CBOR-to-JSON and JSON-to-CBOR conversion tools. Conversion from CBOR to JSON is done by passing the -j option to the existing cbordump tool, while the reverse conversion is done by the new json2cbor tool. Both tools accept the -M switch to annotate the JSON output and parse it so the orignal CBOR types are restored. This is specially useful for tagged objects and CBOR Byte Strings. A minor feature was the implementation of IEEE 754 half-float support. Another is the ability to check whether the number of items added to arrays and maps when encoding to CBOR was the expected value. And TinyCBOR got a buildsystem. So now you can simply type make && make install. New APIs in this release: - cbor_encode_negative_int - cbor_encode_text_stringz - cbor_encoder_close_container_checked - cbor_value_get_raw_integer - cbor_value_to_json_advance - cbor_value_to_json Signed-off-by: Thiago Macieira <thiago.macieira@intel.com>