From 9f30439a9cd9cbb4103bd0c4882a48d9c85eb84d Mon Sep 17 00:00:00 2001 From: Kio Smallwood Date: Fri, 4 Jun 2021 13:23:06 +0100 Subject: [PATCH] Update README to reference new RFC 8949 --- README.rst | 16 +++++++++++----- docs/versionhistory.rst | 7 +++++++ tests/test_decoder.py | 2 +- 3 files changed, 19 insertions(+), 6 deletions(-) diff --git a/README.rst b/README.rst index b3689324..827aacad 100644 --- a/README.rst +++ b/README.rst @@ -1,6 +1,9 @@ -.. image:: https://travis-ci.com/agronholm/cbor2.svg?branch=master - :target: https://travis-ci.com/agronholm/cbor2 - :alt: Build Status +.. image:: https://github.com/agronholm/cbor2/actions/workflows/codeqa-test.yml/badge.svg + :target: https://github.com/agronholm/cbor2/actions/workflows/codeqa-test.yml + :alt: Testing Status +.. image:: https://github.com/agronholm/cbor2/actions/workflows/publish.yml/badge.svg + :target: https://github.com/agronholm/cbor2/actions/workflows/publish.yml + :alt: Publish Status .. image:: https://coveralls.io/repos/github/agronholm/cbor2/badge.svg?branch=master :target: https://coveralls.io/github/agronholm/cbor2?branch=master :alt: Code Coverage @@ -12,13 +15,14 @@ About ===== This library provides encoding and decoding for the Concise Binary Object Representation (CBOR) -(`RFC 7049`_) serialization format. `Read the docs `_ to learn more. +(`RFC 8949`_) serialization format. The specification is fully compatible with the original RFC 7049. +`Read the docs `_ to learn more. It is implemented in pure python with an optional C backend. On PyPy, cbor2 runs with almost identical performance to the C backend. -.. _RFC 7049: https://tools.ietf.org/html/rfc7049 +.. _RFC 8949: https://www.rfc-editor.org/rfc/rfc8949.html Features -------- @@ -27,6 +31,7 @@ Features * Support many `CBOR tags`_ with `stdlib objects`_. * Generic tag decoding. * `Shared value`_ references including cyclic references. +* `String references`_ compact encoding with repeated strings replaced with indices. * Optional C module backend tested on big- and little-endian architectures. * Extensible `tagged value handling`_ using ``tag_hook`` and ``object_hook`` on decode and ``default`` on encode. * Command-line diagnostic tool, converting CBOR file or stream to JSON ``python -m cbor2.tool`` @@ -36,6 +41,7 @@ Features .. _CBOR tags: https://www.iana.org/assignments/cbor-tags/cbor-tags.xhtml .. _stdlib objects: https://cbor2.readthedocs.io/en/latest/usage.html#tag-support .. _Shared value: http://cbor.schmorp.de/value-sharing +.. _String references: http://cbor.schmorp.de/stringref .. _tagged value handling: https://cbor2.readthedocs.io/en/latest/customizing.html#using-the-cbor-tags-for-custom-types Installation diff --git a/docs/versionhistory.rst b/docs/versionhistory.rst index 0974d006..660873e1 100644 --- a/docs/versionhistory.rst +++ b/docs/versionhistory.rst @@ -5,6 +5,13 @@ Version history This library adheres to `Semantic Versioning `_. +**5.4.0** (2021-06-04) + +- Fix various bounds checks in the C-backend (Sekenre) +- More testing of invalid/corrupted data (Sekenre) +- Support for `String References `_ (xurtis) +- Update Docs to refer to new RFC8949 + **5.3.0** (2021-05-18) - Removed support for Python < 3.6 diff --git a/tests/test_decoder.py b/tests/test_decoder.py index d3ac32b7..26d105f5 100644 --- a/tests/test_decoder.py +++ b/tests/test_decoder.py @@ -369,7 +369,7 @@ def test_bad_datetime(impl): def test_positive_bignum(impl): - # Example from RFC 7049 section 3.4.3. + # Example from RFC 8949 section 3.4.3. decoded = impl.loads(unhexlify('c249010000000000000000')) assert decoded == 18446744073709551616