head	1.21;
access;
symbols
	pkgsrc-2026Q2:1.19.0.2
	pkgsrc-2026Q2-base:1.19
	pkgsrc-2026Q1:1.16.0.2
	pkgsrc-2026Q1-base:1.16
	pkgsrc-2025Q4:1.15.0.2
	pkgsrc-2025Q4-base:1.15
	pkgsrc-2025Q3:1.14.0.2
	pkgsrc-2025Q3-base:1.14
	pkgsrc-2025Q2:1.13.0.2
	pkgsrc-2025Q2-base:1.13
	pkgsrc-2025Q1:1.12.0.4
	pkgsrc-2025Q1-base:1.12
	pkgsrc-2024Q4:1.12.0.2
	pkgsrc-2024Q4-base:1.12
	pkgsrc-2024Q3:1.10.0.4
	pkgsrc-2024Q3-base:1.10
	pkgsrc-2024Q2:1.10.0.2
	pkgsrc-2024Q2-base:1.10
	pkgsrc-2024Q1:1.8.0.2
	pkgsrc-2024Q1-base:1.8
	pkgsrc-2023Q4:1.5.0.2
	pkgsrc-2023Q4-base:1.5
	pkgsrc-2023Q3:1.3.0.8
	pkgsrc-2023Q3-base:1.3
	pkgsrc-2023Q2:1.3.0.6
	pkgsrc-2023Q2-base:1.3
	pkgsrc-2023Q1:1.3.0.4
	pkgsrc-2023Q1-base:1.3
	pkgsrc-2022Q4:1.3.0.2
	pkgsrc-2022Q4-base:1.3;
locks; strict;
comment	@# @;


1.21
date	2026.08.11.05.42.12;	author adam;	state Exp;
branches;
next	1.20;
commitid	dPkFim3q4eu6ibRG;

1.20
date	2026.07.05.10.15.51;	author adam;	state Exp;
branches;
next	1.19;
commitid	72FNEGnJthqDZrMG;

1.19
date	2026.06.08.10.41.37;	author adam;	state Exp;
branches;
next	1.18;
commitid	hPvRnFvhV82n0ZIG;

1.18
date	2026.05.26.13.37.11;	author adam;	state Exp;
branches;
next	1.17;
commitid	4AIsIJHBq0HwokHG;

1.17
date	2026.04.15.08.52.01;	author adam;	state Exp;
branches;
next	1.16;
commitid	OmBoJYGMdflm82CG;

1.16
date	2026.01.05.14.13.19;	author adam;	state Exp;
branches;
next	1.15;
commitid	2qMSgHzJzVqT7dpG;

1.15
date	2025.11.12.14.12.06;	author adam;	state Exp;
branches;
next	1.14;
commitid	16TyvP8yYl28RgiG;

1.14
date	2025.08.22.04.56.21;	author adam;	state Exp;
branches;
next	1.13;
commitid	E5b0OUHDr0QSpG7G;

1.13
date	2025.04.12.09.50.45;	author adam;	state Exp;
branches;
next	1.12;
commitid	r8Wgjj4HroY0iKQF;

1.12
date	2024.11.11.07.28.03;	author wiz;	state Exp;
branches;
next	1.11;
commitid	1fBDq3LwS98NncxF;

1.11
date	2024.10.24.05.23.37;	author adam;	state Exp;
branches;
next	1.10;
commitid	RC3VxXC8HSq6hSuF;

1.10
date	2024.06.08.07.22.23;	author adam;	state Exp;
branches;
next	1.9;
commitid	cragTsDrEXqSm9dF;

1.9
date	2024.04.11.07.53.08;	author adam;	state Exp;
branches;
next	1.8;
commitid	yURf5AbuJjo0pH5F;

1.8
date	2024.02.20.04.38.22;	author adam;	state Exp;
branches;
next	1.7;
commitid	38RY8etuo7rOX7ZE;

1.7
date	2024.02.02.08.10.52;	author adam;	state Exp;
branches;
next	1.6;
commitid	mDhnaazjmZqBIPWE;

1.6
date	2024.01.23.18.27.50;	author adam;	state Exp;
branches;
next	1.5;
commitid	qTdhf1NLg3C9sBVE;

1.5
date	2023.11.08.14.09.43;	author adam;	state Exp;
branches;
next	1.4;
commitid	GmHOyH1T4Zh6tOLE;

1.4
date	2023.10.30.14.16.14;	author adam;	state Exp;
branches;
next	1.3;
commitid	F2gmsk4h5rkfNEKE;

1.3
date	2022.12.18.10.14.32;	author adam;	state Exp;
branches;
next	1.2;
commitid	xfEyG5B2QUS4C16E;

1.2
date	2022.11.28.18.08.10;	author adam;	state Exp;
branches;
next	1.1;
commitid	ZUN5PamfgyKqSu3E;

1.1
date	2022.10.08.13.19.52;	author adam;	state Exp;
branches;
next	;
commitid	fwsp5R5oAt3fVUWD;


desc
@@


1.21
log
@py-cbor2: updated to 6.1.4

6.1.4 (2026-08-01)

- Fixed :class:`frozendict` deriving its hash from its keys and its values as two independent
  sets, so that frozendicts holding the same keys and the same values all collided regardless of
  how the two were paired; since the decoder builds a frozendict for every map in an immutable
  position, a payload keyed by such maps decoded in quadratic time
- Fixed the encoder not registering :class:`bytearray` values in the string reference namespace,
  unlike :class:`bytes` and :class:`str`; since the decoder registers every byte string it reads, a
  single ``bytearray`` desynchronised the namespace and made subsequent string references resolve
  to the wrong value
- Fixed the decoder silently accepting an indefinite-length map whose break marker arrives after a
  key with no value, dropping that trailing key and returning a truncated map instead of rejecting
  the ill-formed input
- Fixed the decoder accepting a non-byte-string payload for a positive or negative bignum (tags 2
  and 3). ``int.from_bytes()`` also accepts an array (or a map, whose keys it iterates), so a tag
  wrapping one of those was coerced into an integer instead of being rejected as malformed
@
text
@# $NetBSD: Makefile,v 1.20 2026/07/05 10:15:51 adam Exp $

DISTNAME=	cbor2-6.1.4
PKGNAME=	${PYPKGPREFIX}-${DISTNAME}
CATEGORIES=	devel python
MASTER_SITES=	${MASTER_SITE_PYPI:=c/cbor2/}

MAINTAINER=	pkgsrc-users@@NetBSD.org
HOMEPAGE=	https://cbor2.readthedocs.org/
COMMENT=	CBOR (de)serializer with extensive tag support
LICENSE=	mit

TOOL_DEPENDS+=	${PYPKGPREFIX}-setuptools>=78:../../devel/py-setuptools
TOOL_DEPENDS+=	${PYPKGPREFIX}-setuptools-rust>=0:../../devel/py-setuptools-rust
TOOL_DEPENDS+=	${PYPKGPREFIX}-setuptools_scm>=6.4:../../devel/py-setuptools_scm
TEST_DEPENDS+=	${PYPKGPREFIX}-hypothesis>=0:../../devel/py-hypothesis
TEST_DEPENDS+=	${PYPKGPREFIX}-test-cov>=0:../../devel/py-test-cov

PY_RENAME_BINARIES=	cbor2

CARGO_WRKSRC=	${WRKSRC}/rust
.include "cargo-depends.mk"

.include "../../lang/python/wheel.mk"
.include "../../lang/rust/cargo.mk"
.include "../../mk/bsd.pkg.mk"
@


1.20
log
@py-cbor2: updated to 6.1.3

6.1.3 (2026-07-04)

- Fixed the decoder registering 6-byte strings in the string reference namespace at indices
  65536–4294967295 where the encoder does not, desynchronising the namespace and resolving later
  string references to the wrong value
- Fixed the IPv4/IPv6 network decoders (tags 52 and 54) silently truncating an address byte string
  that is longer than the address size instead of rejecting it as malformed
- Fixed quadratic decoding time for indefinite-length and large definite-length byte and text
  strings, caused by concatenating each chunk onto the accumulated result with ``+`` instead of
  building the result once
- Fixed ``datetime_as_timestamp`` encoding whole-second datetimes before 1970 or after 2106 as
  floats instead of integers, because the timestamp was narrowed through an unsigned 32-bit integer
- Fixed the encoder measuring text strings by code point count instead of UTF-8 byte length when
  deciding whether to add them to the string reference namespace, desynchronising it from the
  decoder (which counts bytes) and corrupting later string references for non-ASCII strings
- Fixed the decoder rejecting scoped IPv6 addresses (tag 54) with a ``CBORDecodeError`` reading
  ``invalid types in input array``; the encoder emits them as ``[address, null, zone id]`` but the
  decoder only handled the network and interface array forms, so a scoped
  :class:`~ipaddress.IPv6Address` could not be decoded back
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.19 2026/06/08 10:41:37 adam Exp $
d3 1
a3 1
DISTNAME=	cbor2-6.1.3
@


1.19
log
@py-cbor2: updated to 6.1.2

6.1.2

- Fixed incorrect tracking of string references for definite-length text strings of length greater
  than 65536
- Fixed ``cbor2.load()`` crash caused by incorrect handling
  of internal read buffer extension during stream deserialization.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.18 2026/05/26 13:37:11 adam Exp $
d3 1
a3 1
DISTNAME=	cbor2-6.1.2
@


1.18
log
@py-cbor2: updated to 6.1.1

**6.1.1** (2026-05-14)

- Fixed ``cbor2.load()`` returning corrupted data for payloads exceeding 4096 bytes

**6.1.0** (2026-05-12)

- Added the ``allow_duplicate_keys`` parameter to :class:`CBORDecoder`, :func:`load` and
  :func:`loads` (default: ``True``). When set to ``False``, a :exc:`CBORDecodeError` is raised
  upon encountering a duplicate key within the same map.
- Added support for decoding from any object supporting the buffer API (e.g. ``memoryview`` or
  ``bytearray``) in addition to ``bytes``
- Fixed compatibility issues with 32-bit systems
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.17 2026/04/15 08:52:01 adam Exp $
d3 1
a3 1
DISTNAME=	cbor2-6.1.1
@


1.17
log
@py-cbor2: updated to 5.9.0

5.9.0 (2026-03-22)

- Added the ``max_depth`` decoder parameter to limit the maximum allowed nesting level of
  containers, with a default value of 400 levels (CVE-2026-26209)
- Changed the default ``read_size`` from 4096 to 1 for backwards compatibility.
  The buffered reads introduced in 5.8.0 could cause issues when code needs to
  access the stream position after decoding. Users can opt-in to faster decoding
  by passing ``read_size=4096`` when they don't need to access the stream directly
  after decoding. Added a direct read path for ``read_size=1`` to avoid buffer
  management overhead.
- Fixed C encoder not respecting string referencing when encoding string-type datetimes (tag 0)
- Fixed a missed check for an exception in the C implementation of ``CBOREncoder.encode_shared()``
- Fixed two reference/memory leaks in the C extension's long string decoder
- Fixed C decoder ignoring the ``str_errors`` setting when decoding strings, and improved
  string decoding performance by using stack allocation for small strings and eliminating
  unnecessary conditionals. Benchmarks show 9-17% faster deserialization.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.16 2026/01/05 14:13:19 adam Exp $
d3 1
a3 1
DISTNAME=	cbor2-5.9.0
d14 1
d16 2
a17 2
TEST_DEPENDS+=	${PYPKGPREFIX}-hypothesis-[0-9]*:../../devel/py-hypothesis
TEST_DEPENDS+=	${PYPKGPREFIX}-test-cov-[0-9]*:../../devel/py-test-cov
d21 3
d25 1
@


1.16
log
@py-cbor2: updated to 5.8.0

5.8.0 (2025-12-30)

- Added readahead buffering to C decoder for improved performance.
  The decoder now uses a 4 KB buffer by default to reduce the number of read calls.
  Benchmarks show 20-140% performance improvements for decoding operations.
- Fixed Python decoder not preserving share index when decoding array items containing
  nested shareable tags, causing shared references to resolve to wrong objects
- Reset shared reference state at the start of each top-level encode/decode operation
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.15 2025/11/12 14:12:06 adam Exp $
d3 1
a3 1
DISTNAME=	cbor2-5.8.0
d18 1
a18 3
post-install:
	cd ${DESTDIR}${PREFIX}/bin && \
	${MV} cbor2 cbor2-${PYVERSSUFFIX} || ${TRUE}
@


1.15
log
@py-cbor2: updated to 5.7.1

5.7.1

- Improved performance on decoding large definite bytestrings
- Fixed a read(-1) vulnerability caused by boundary handling error
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.14 2025/08/22 04:56:21 adam Exp $
d3 1
a3 1
DISTNAME=	cbor2-5.7.1
@


1.14
log
@py-cbor2: updated to 5.7.0

5.7.0
- Added support for Python 3.14 (no free-threading support yet, sorry)
- Dropped support for Python 3.8
- Added support for encoding indefinite containers
- Added complex number support (tag 43000)
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.13 2025/04/12 09:50:45 adam Exp $
d3 1
a3 1
DISTNAME=	cbor2-5.7.0
@


1.13
log
@Fix PLIST after py-setuptools update; bump depends and revision
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.12 2024/11/11 07:28:03 wiz Exp $
d3 1
a3 1
DISTNAME=	cbor2-5.6.5
a4 1
PKGREVISION=	1
@


1.12
log
@py-*: remove unused tool dependency

py-setuptools includes the py-wheel functionality nowadays
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.11 2024/10/24 05:23:37 adam Exp $
d5 1
d14 1
a14 1
TOOL_DEPENDS+=	${PYPKGPREFIX}-setuptools>=61:../../devel/py-setuptools
@


1.11
log
@py-cbor2: updated to 5.6.5

5.6.5 (2024-10-09)

- Published binary wheels for Python 3.13
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.10 2024/06/08 07:22:23 adam Exp $
a14 1
TOOL_DEPENDS+=	${PYPKGPREFIX}-wheel-[0-9]*:../../devel/py-wheel
@


1.10
log
@py-cbor2: updated to 5.6.4

5.6.4 (2024-06-06)

Fixed compilation of C extension failing on GCC 14
Fixed compiler warnings when building C extension
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.9 2024/04/11 07:53:08 adam Exp $
d3 1
a3 1
DISTNAME=	cbor2-5.6.4
a18 2
PYTHON_VERSIONS_INCOMPATIBLE=	27

@


1.9
log
@py-cbor2: updated to 5.6.3

5.6.3
- Fixed decoding of epoch-based dates being affected by the local time zone in the C extension
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.8 2024/02/20 04:38:22 adam Exp $
d3 1
a3 1
DISTNAME=	cbor2-5.6.3
@


1.8
log
@py-cbor2: updated to 5.6.2

5.6.2

- Fixed ``__hash__()`` of the C version of the ``CBORTag`` type crashing when there's a recursive
  reference cycle
- Fixed type annotation for the file object in ``cbor2.dump()``, ``cbor2.load()``, ``CBOREncoder``
  and ``CBORDecoder`` to be ``IO[bytes]`` instead of ``BytesIO``
- Worked around a `CPython bug <https://github.com/python/cpython/issues/99612>`_ that caused
  a ``SystemError`` to be raised, or even a buffer overflow to occur when decoding a long text
  string that contained only ASCII characters
- Changed the return type annotations of ``cbor2.load()`` and ``cbor2.load()`` to return ``Any``
  instead of ``object`` so as not to force users to make type casts
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.7 2024/02/02 08:10:52 adam Exp $
d3 1
a3 1
DISTNAME=	cbor2-5.6.2
@


1.7
log
@py-cbor2: updated to 5.6.1

5.6.1

- Fixed use-after-free in the decoder's C version when prematurely encountering the end of stream
- Fixed the C version of the decoder improperly raising ``CBORDecodeEOF`` when decoding a text
  string longer than 65536 bytes
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.6 2024/01/23 18:27:50 adam Exp $
d3 1
a3 1
DISTNAME=	cbor2-5.6.1
@


1.6
log
@py-cbor2: updated to 5.6.0

5.6.0

- Added the ``cbor2`` command line tool (for ``pipx run cbor2``)
- Added support for native date encoding (bschoenmaeckers)
- Made the C extension mandatory when the environment variable ``CBOR2_BUILD_C_EXTENSION`` is set
  to ``1``.
- Fixed ``SystemError`` in the C extension when decoding a ``Fractional`` with a bad
  number of arguments or a non-tuple value
- Fixed ``SystemError`` in the C extension when the decoder object hook raises an
  exception
- Fixed a segmentation fault when decoding invalid unicode data
- Fixed infinite recursion when trying to hash a CBOR tag whose value points to the tag
  itself
- Fixed ``MemoryError`` when maliciously constructed bytestrings or string (declared to be absurdly
  large) are being decoded
- Fixed ``UnicodeDecodeError`` from failed parsing of a UTF-8 text string not being wrapped as
  ``CBORDecodeValueError``
- Fixed ``TypeError`` or ``ZeroDivisionError`` from a failed decoding of ``Fraction`` not being
  wrapped as ``CBORDecodeValueError``
- Fixed ``TypeError`` or ``ValueError`` from a failed decoding of ``UUID`` not being wrapped as
  ``CBORDecodeValueError``
- Fixed ``TypeError`` from a failed decoding of ``MIMEMessage`` not being wrapped as
  ``CBORDecodeValueError``
- Fixed ``OverflowError``, ``OSError`` or ``ValueError`` from a failed decoding of epoch-based
  ``datetime`` not being wrapped as ``CBORDecodeValueError``
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.5 2023/11/08 14:09:43 adam Exp $
d3 1
a3 1
DISTNAME=	cbor2-5.6.0
@


1.5
log
@py-cbor2: updated to 5.5.1

5.5.1
- Fixed ``CBORSimpleValue`` allowing the use of reserved values (24 to 31) which resulted in
  invalid byte sequences
- Fixed encoding of simple values from 20 to 23 producing the wrong byte sequences
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.4 2023/10/30 14:16:14 adam Exp $
d3 1
a3 1
DISTNAME=	cbor2-5.5.1
d21 4
@


1.4
log
@py-cbor2: updated to 5.5.0

5.5.0 (2023-10-21)

- The ``cbor2.encoder``, ``cbor2.decoder`` or ``cbor2.types`` modules were deprecated – import
  their contents directly from ``cbor2`` from now on. The old modules will be removed in the next
  major release.
- Added support for Python 3.12
- Added type annotations
- Dropped support for Python 3.7
- Fixed bug in the ``fp`` attribute of the built-in version of ``CBORDecoder`` and
  ``CBOREncoder`` where the getter returns an invalid pointer if the ``read`` method of
  the file was a built-in method
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.3 2022/12/18 10:14:32 adam Exp $
d3 1
a3 1
DISTNAME=	cbor2-5.5.0
@


1.3
log
@py-cbor2: updated to 5.4.6

5.4.6** (2022-12-07)
- Fix MemoryError when decoding Tags on 32bit architecture. (Sekenre)

**5.4.5** (2022-11-29)
- Added official Python 3.11 support (agronholm)
- Raise proper exception on invalid bignums (Øyvind Rønningstad)
- Make Tagged item usable as a map key (Niels Mündler)
- Eliminate potential memory leak in tag handling (Niels Mündler)
- Documentation tweaks
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.2 2022/11/28 18:08:10 adam Exp $
d3 1
a3 1
DISTNAME=	cbor2-5.4.6
d13 4
a16 2
TOOL_DEPENDS+=	${PYPKGPREFIX}-setuptools_scm>=1.7.0:../../devel/py-setuptools_scm
TEST_DEPENDS+=	${PYPKGPREFIX}-test-[0-9]*:../../devel/py-test
d21 1
a21 4
do-test:
	cd ${WRKSRC} && ${SETENV} ${TEST_ENV} pytest-${PYVERSSUFFIX} tests

.include "../../lang/python/egg.mk"
@


1.2
log
@py-cbor2: updated to 5.4.4

5.4.4
- Added official Python 3.11 support (agronholm)
- Raise proper exception on invalid bignums (Øyvind Rønningstad)
- Make Tagged item usable as a map key (Niels Mündler)
- Documentation tweaks (Adam Johnson)
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.1 2022/10/08 13:19:52 adam Exp $
d3 1
a3 1
DISTNAME=	cbor2-5.4.4
d13 1
a13 1
BUILD_DEPENDS+=	${PYPKGPREFIX}-setuptools_scm>=1.7.0:../../devel/py-setuptools_scm
@


1.1
log
@py-cbor2: ...and Makefile
@
text
@d1 1
a1 1
# $NetBSD$
d3 1
a3 1
DISTNAME=	cbor2-5.4.3
@

