Tags: devpro4/tinycbor
Tags
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 <[email protected]>
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
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 <[email protected]>
TinyCBOR release 0.4.1 This is a bug-fix release. There is no new functionality on top of v0.4. Bugs fixed: - intel#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 <[email protected]>
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 <[email protected]>
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: - intel#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
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: - intel#32: Build fails due to fd > 9 in shell redirection - intel#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
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 intel#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
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 <[email protected]>
PreviousNext