1# zcbor v. 0.9.0 2 3* `zcbor_simple_*()` functions have been removed to avoid confusion about their use. 4 They are still in the C file because they are used by other functions. 5 Instead, use the specific functions for the currently supported simple values, i.e. 6 `zcbor_bool_*()`, `zcbor_nil_*()`, and `zcbor_undefined_*()`. 7 If a removed variant is strictly needed, add your own forward declaration in your code. 8 9* Code generation naming: 10 11 * More C keywords are now capitalized to avoid naming collision. 12 You might have to capitalize some instances if your code was generated to have those names. 13 14 * A fix was made to the naming of bstr elements with a .size specifier, which might mean that these elements change name in your code when you regenerate. 15 16 17# zcbor v. 0.8.0 18 19(copied after the fact from [Zephyr 3.6.0 migration guide](https://github.com/zephyrproject-rtos/zephyr/blob/v3.6.0/doc/releases/migration-guide-3.6.rst)) 20 21* If you have zcbor-generated code that relies on the zcbor libraries through Zephyr, you must 22 regenerate the files using zcbor 0.8.1. Note that the names of generated types and members has 23 been overhauled, so the code using the generated code must likely be changed. 24 For example: 25 26 * Leading single underscores and all double underscores are largely gone, 27 * Names sometimes gain suffixes like ``_m`` or ``_l`` for disambiguation. 28 * All enum (choice) names have now gained a ``_c`` suffix, so the enum name no longer matches 29 the corresponding member name exactly (because this broke C++ namespace rules). 30 31* The function `zcbor_new_state`, `zcbor_new_decode_state` and the macro 32 `ZCBOR_STATE_D` have gained new parameters related to decoding of unordered maps. 33 Unless you are using that new functionality, these can all be set to NULL or 0. 34 35* The functions `zcbor_bstr_put_term` and `zcbor_tstr_put_term` have gained a new 36 parameter ``maxlen``, referring to the maximum length of the parameter ``str``. 37 This parameter is passed directly to `strnlen` under the hood. 38 39* The function `zcbor_tag_encode` has been renamed to `zcbor_tag_put`. 40 41* Printing has been changed significantly, e.g. `zcbor_print` is now called 42 `zcbor_log`, and `zcbor_trace` with no parameters is gone, and in its place are 43 `zcbor_trace_file` and `zcbor_trace`, both of which take a ``state`` parameter. 44