Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update version to 0.9.1 #455

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/run-tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -241,7 +241,7 @@ jobs:
- name: Upload release files
uses: actions/upload-artifact@v4
with:
name: zcbor-release-$env:ZCBOR_VERSION
name: zcbor-release-${{ env.ZCBOR_VERSION }}
path: dist/*

release-test-3:
Expand Down
2 changes: 0 additions & 2 deletions MIGRATION_GUIDE.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
# zcbor v. 0.9.99

# zcbor v. 0.9.0

* `zcbor_simple_*()` functions have been removed to avoid confusion about their use.
Expand Down
18 changes: 18 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -324,6 +324,24 @@ E.g. `Foo = [name: tstr, age: uint]` is equivalent to `Foo = [tstr, uint]`.

See [pet.cddl](tests/cases/pet.cddl) for CDDL example code.

Unsupported CDDL features
-------------------------

Not all features outlined in the CDDL specs [RFC8610](https://datatracker.ietf.org/doc/html/rfc8610), [RFC9090](https://datatracker.ietf.org/doc/html/rfc9090), and [RFC9165](https://datatracker.ietf.org/doc/html/rfc9165) are supported by zcbor.
The following is a list of limitations and missing features:

* Generated code does not support unordered maps.
* Using `&()` to turn groups into choices (unions). `&()` is supported when used with `.bits`.
* Representation Types (`#x.y`), except for tags (`#6.y(foo)`) which are supported.
* Unwrapping (`~`)
* The control operators `.regexp`, `.ne`, `.default`, and `.within` from RFC8610.
* The control operators `.sdnv`, `.sdnvseq`, and `.oid` from RFC9090.
* The control operators `.plus`, `.cat`, `.det`, `.abnf`, `.abnfb`, and `.feature` from RFC9165.
* Generics (`foo<a, b>`).
* Using `:` for map keys.
* Cuts, either via `^` or implicitly via `:`.
* Most of the "Extended Diagnostic Notation" is unsupported.


Introduction to CBOR
====================
Expand Down
21 changes: 7 additions & 14 deletions RELEASE_NOTES.md
Original file line number Diff line number Diff line change
@@ -1,26 +1,19 @@
# zcbor v. 0.9.99
# zcbor v. 0.9.1 (2024-10-17)

Any new bugs, requests, or missing features should be reported as [Github issues](https://github.com/NordicSemiconductor/zcbor/issues).

## Improvements:

* README improvements:
* pypi_README.md: Add separate README for use in the pypi package
* README: Clarify what ZCBOR_STOP_ON_ERROR does
* RELEASE_NOTES.md: Move "Unsupported CDDL features" to the README

## Bugfixes:

## Unsupported CDDL features
Not all features outlined in the CDDL specs [RFC8610](https://datatracker.ietf.org/doc/html/rfc8610), [RFC9090](https://datatracker.ietf.org/doc/html/rfc9090), and [RFC9165](https://datatracker.ietf.org/doc/html/rfc9165) are supported by zcbor.
The following is a list of limitations and missing features:

* Generated code does not support unordered maps.
* Using `&()` to turn groups into choices (unions). `&()` is supported when used with `.bits`.
* Representation Types (`#x.y`), except for tags (`#6.y(foo)`) which are supported.
* Unwrapping (`~`)
* The control operators `.regexp`, `.ne`, `.default`, and `.within` from RFC8610.
* The control operators `.sdnv`, `.sdnvseq`, and `.oid` from RFC9090.
* The control operators `.plus`, `.cat`, `.det`, `.abnf`, `.abnfb`, and `.feature` from RFC9165.
* Generics (`foo<a, b>`).
* Using `:` for map keys.
* Cuts, either via `^` or implicitly via `:`.
* Most of the "Extended Diagnostic Notation" is unsupported.
This section has been moved to the README, and this heading will be removed in subsequent releases.


# zcbor v. 0.9.0 (2024-08-27)
Expand Down
2 changes: 1 addition & 1 deletion include/zcbor_common.h
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ extern "C" {

#define ZCBOR_VERSION_MAJOR 0
#define ZCBOR_VERSION_MINOR 9
#define ZCBOR_VERSION_BUGFIX 99
#define ZCBOR_VERSION_BUGFIX 1

/** The version string with dots and not prefix. */
#define ZCBOR_VERSION_STR ZCBOR_STRINGIFY(ZCBOR_VERSION_MAJOR) \
Expand Down
2 changes: 1 addition & 1 deletion samples/pet/include/pet_decode.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
*
* SPDX-License-Identifier: Apache-2.0
*
* Generated using zcbor version 0.9.99
* Generated using zcbor version 0.9.1
* https://github.com/NordicSemiconductor/zcbor
* Generated with a --default-max-qty of 3
*/
Expand Down
2 changes: 1 addition & 1 deletion samples/pet/include/pet_encode.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
*
* SPDX-License-Identifier: Apache-2.0
*
* Generated using zcbor version 0.9.99
* Generated using zcbor version 0.9.1
* https://github.com/NordicSemiconductor/zcbor
* Generated with a --default-max-qty of 3
*/
Expand Down
2 changes: 1 addition & 1 deletion samples/pet/include/pet_types.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
*
* SPDX-License-Identifier: Apache-2.0
*
* Generated using zcbor version 0.9.99
* Generated using zcbor version 0.9.1
* https://github.com/NordicSemiconductor/zcbor
* Generated with a --default-max-qty of 3
*/
Expand Down
2 changes: 1 addition & 1 deletion samples/pet/pet.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
#
# SPDX-License-Identifier: Apache-2.0
#
# Generated using zcbor version 0.9.99
# Generated using zcbor version 0.9.1
# https://github.com/NordicSemiconductor/zcbor
# Generated with a --default-max-qty of 3
#
Expand Down
2 changes: 1 addition & 1 deletion samples/pet/src/pet_decode.c
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
*
* SPDX-License-Identifier: Apache-2.0
*
* Generated using zcbor version 0.9.99
* Generated using zcbor version 0.9.1
* https://github.com/NordicSemiconductor/zcbor
* Generated with a --default-max-qty of 3
*/
Expand Down
2 changes: 1 addition & 1 deletion samples/pet/src/pet_encode.c
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
*
* SPDX-License-Identifier: Apache-2.0
*
* Generated using zcbor version 0.9.99
* Generated using zcbor version 0.9.1
* https://github.com/NordicSemiconductor/zcbor
* Generated with a --default-max-qty of 3
*/
Expand Down
18 changes: 11 additions & 7 deletions tests/scripts/test_versions.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@
from unittest import TestCase, main
from pathlib import Path
from subprocess import Popen, PIPE
from datetime import date
from datetime import date, timedelta
from re import escape

p_script_dir = Path(__file__).absolute().parents[0]
p_root = p_script_dir.parents[1]
Expand All @@ -30,20 +31,23 @@ def test_version_num(self):
"This test is meant to be run on a release branch on the form 'release/x.y.z'.")

version_number = current_branch.replace("release/", "")
version_number_no_bugfix = ".".join(version_number.split(".")[:-1])
self.assertRegex(
version_number, r'\d+\.\d+\.(?!99)\d+',
"Releases cannot have the x.y.99 development bugfix release number.")
self.assertEqual(
version_number, p_VERSION.read_text(encoding="utf-8"),
f"{p_VERSION} has not been updated to the correct version number.")
self.assertEqual(
tomorrow = date.today() + timedelta(days=1)
self.assertRegex(
p_release_notes.read_text(encoding="utf-8").splitlines()[0],
r"# zcbor v. " + version_number + f" ({date.today():%Y-%m-%d})",
f"{p_release_notes} has not been updated with the correct version number.")
self.assertEqual(
escape(r"# zcbor v. " + version_number)
+ fr" \(({date.today():%Y-%m-%d}|{tomorrow:%Y-%m-%d})\)",
f"{p_release_notes} has not been updated with the correct version number or date.")
self.assertRegex(
p_migration_guide.read_text(encoding="utf-8").splitlines()[0],
r"# zcbor v. " + version_number,
f"{p_migration_guide} has not been updated with the correct version number.")
escape(r"# zcbor v. " + version_number_no_bugfix) + r"\.\d",
f"{p_migration_guide} has not been updated with the correct minor/major version num.")

tags_stdout, _ = Popen(['git', 'tag'], stdout=PIPE).communicate()
tags = tags_stdout.decode("utf-8").strip().splitlines()
Expand Down
2 changes: 1 addition & 1 deletion zcbor/VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.9.99
0.9.1