Skip to content

Releases: rmlibre/aiootp

aiootp — v0.23.15

09 Oct 19:37
v0.23.15
a08c144
Compare
Choose a tag to compare
aiootp — v0.23.15 Pre-release
Pre-release

Changes for version 0.23.15

Major Changes

  • build: update dependencies & add coverage to dev & test installs
  • build: add hypothesis dependency to dev & test installs
  • build: bump ruff version & fix new lint rule changes
  • build: add build dependency to dev installs
  • build: update metadata to show Python 3.13 support
  • ci: add hypothesis to GH actions workflow dependencies

Minor Changes

  • fix: capture KeyError & raise AttributeError instead [#8]
  • fix: use size instead of config_id to determine GUID key_size
  • feat: add 48-byte default permutation config objects
  • feat: add decisecond & centisecond clock configurations
  • ci: add Python '3.13.x' to GH actions
  • build: use dynamic table to specify the package readme
  • build: specify the coverage htmlcov directory
  • build: remove 'command_line' so coverage can run specific files
  • build: fix deprecation of unset pytest_asyncio fixture loop scope
  • build: add verify package flow to signing ceremony
  • docs: fix wrong typing annotation
  • docs: fix docstring typo & grammar
  • docs: fix grammar of error message
  • docs: fix (a)canonical_pack docstring format diagram
  • docs(readme): clean-up install & test instructions
  • test: prepare fixtures to refactor 'test_PackageSigner.py'
  • test: refactor 'test_PackageSigner.py' & cover all branches
  • test: cover input combinations for (a)test_timestamp
  • test: import hypothesis in 'conftest.py'
  • test: parametrize & fuzz 'test_gentools.py' to cover branches
  • test: continue refactor & coverage in 'test_PackageSigner.py'
  • test: configure pytest to display or error on warnings
  • refactor: remove unnecessary variable alias
  • refactor: specify input types as positive integers
  • refactor: unify, parametrize, & simplify PackageSigner test values
  • refactor: remove redundant step in test initialization
  • refactor: terminate 'pyproject.toml' container lines with commas

Full Changelog: v0.23.14...v0.23.15

aiootp — v0.23.14

12 Aug 19:54
v0.23.14
0158ac1
Compare
Choose a tag to compare
aiootp — v0.23.14 Pre-release
Pre-release

Changes for version 0.23.14

Major Changes

  • build: fix improperly packaged directory structure for wheel

Minor Changes

  • build: use standard SPDX string name for project license
  • build: move links to 'project.urls' table in 'pyproject.toml'

Full Changelog: v0.23.13...v0.23.14

aiootp — v0.23.13

11 Aug 19:26
v0.23.13
493ef2f
Compare
Choose a tag to compare
aiootp — v0.23.13 Pre-release
Pre-release

Changes for version 0.23.13

Major Changes

  • build: improve package signing with better logic & git file tree

Minor Changes

  • ci: attempt bash shell for Windows GH actions tarball tests
  • ci: attempt tar command for Windows GH actions tarball tests
  • build(package): swap author order for display purposes
  • build: attempt specifying python versions in wheel file

Full Changelog: v0.23.12...v0.23.13

aiootp — v0.23.12

11 Aug 08:28
v0.23.12
6b81671
Compare
Choose a tag to compare
aiootp — v0.23.12 Pre-release
Pre-release

Changes for version 0.23.12

Major Changes

  • fix(concurrency): use constant-time 'is done' logic for cipher streams
  • build: start transition to the new standard pyproject.toml
  • build: continue pyproject.toml updates for Ruff & manifest
  • style: apply Ruff rule A001 for module doctring placement

Minor Changes

  • ci: run PyPI tarball package tests in new GitHub actions
  • test: wait longer for concurrent thread to start running
  • refactor: make custom CipherStreamIsClosed exception
  • style: apply Ruff rule B008 exception only to rng.py module
  • style: remove Ruff rule UP015 exception since using pathlib
  • style: clean & sort MANIFEST.in with git ls-tree
  • refactor: prepare for pyproject.toml with new signing ceremony file

Full Changelog: v0.23.11...v0.23.12

aiootp — v0.23.11

10 Aug 05:16
v0.23.11
931e90a
Compare
Choose a tag to compare
aiootp — v0.23.11 Pre-release
Pre-release

Changes for version 0.23.11

Major Changes

  • fix(concurrency): block multiple calls to cipher stream finalization [#19]
  • fix(concurrency): complete all buffers before (a)finalize runs [#19]
  • style(lint): apply Ruff lint & format with more rules [#12]

Minor Changes

  • docs(ruff): improve grammar & structure of rule annotations
  • build(ignore): extend & alphabetize with explicit dirs
  • refactor: rename test init file to the standard 'conftest.py'
  • refactor(tests): use more descriptive names

Full Changelog: v0.23.10...v0.23.11

aiootp — v0.23.10

06 Jul 22:03
v0.23.10
2137324
Compare
Choose a tag to compare
aiootp — v0.23.10 Pre-release
Pre-release

Changes for version 0.23.10

Major Changes

  • fix(commons): deduplicate logic to keep behavior consistent [#14] by @rmlibre in #15
  • feat(commons): support tuples of types in typed_slots classes

Minor Changes

  • fix(concurrency): use timing-safe token comparisons & mask repr
  • fix(concurrency): rely on context manager boolean control flow
  • docs(coc): fix typos & rename first section
  • docs(perm): add missing operator in doc string examples
  • docs(cipher): fix salt misuse resistance calculations [#16] by @rmlibre in #17
  • docs(concurrency): fix typos & grammar in doc strings
  • perf(commons): separate & order inclusion checks
  • style(lint): turn on "ARG" flag & fix associated warnings

Full Changelog: v0.23.9...v0.23.10

aiootp — v0.23.9

04 Jul 13:36
v0.23.9
486762b
Compare
Choose a tag to compare
aiootp — v0.23.9 Pre-release
Pre-release

Changes for version 0.23.9

Major Changes

  • fix(commons): avoid silent add of __slots__ attrs to __dict__ by @rmlibre in #11
  • fix(lint): reformat & resolve discovered Ruff errors by @rmlibre in #12
  • fix(concurrency): prevent simultaneous data buffering by @rmlibre in #12
  • build(lint): require Ruff for test installation [#12]

Minor Changes

  • fix: allow str build numbers in signing ceremony
  • fix(db): raise intended error by loading missing import [#12]
  • fix(commons): remove duplicates prior to update
  • fix(commons): accept pair-iterable mapping in init
  • fix(commons): remove __all__ method causing recursion bugs
  • fix(concurrency): import missing name in guard clause line [#12]
  • ci(perf): run workflows on push & pull, but not on same event
  • docs: fix wrong or incomplete doc strings
  • docs: add links for bug & security issue reporting
  • docs(lint): incorporate Ruff demo & update badges [#12]
  • docs(bugfix): demonstrate avoiding slots/dict conflicts [#11]
  • docs(bugfix): clarify tests to show problematic assignments [#11]
  • docs(commons): add distinguishing facets of classes to doc strings
  • docs(typing): fix & add type hints
  • build(lint): add ruff.toml config file [#12]
  • test(cipher): demonstrate proper stream authentication
  • test(commons): ensure proper use avoids bug from PR [#11]
  • test(concurrency): add module for ConcurrencyGuard tests [#12]
  • perf(init): cache slots as sets for membership tests [#11]
  • revert: scrap discouraged quick-fix in favor of 3bd087b [#11]
  • refactor(exc): rely on common invalid length exception
  • style(lint): remove unused imports [#12]
  • style(lint): prevent reformat of problem statement [#12]
  • style(lint): prefer non-lambda function definitions [#12]
  • style(commons): add missing __slots__ declarations

Full Changelog: v0.23.8...v0.23.9

aiootp — v0.23.8

27 Jun 08:08
Compare
Choose a tag to compare
aiootp — v0.23.8 Pre-release
Pre-release

Changes for version 0.23.8

Major Changes

  • feat(api): support compliant public keys in KEX protocols [#7]
  • feat(typing): generalize Config type-checking as superclass [#9]

Minor Changes

  • fix(package): delete option likely breaking piwheels
  • fix(exc): stabilize exceptions & error-raising properties [#8]
  • fix(typing): ensure Protocol subclasses runtime checkable [#8]
  • ci(pypi): import & run on GH release
  • docs(cipher): describe a salt consistently
  • build(github): add bug report issue template
  • refactor(api): enforce positional or keyword only arguments
  • refactor(api): default ttl as None & update method signatures
  • refactor(commons): delegate (del/get)attr to (del/get)item

Full Changelog: v0.23.7...v0.23.8

aiootp — v0.23.7

21 Jun 20:58
Compare
Choose a tag to compare
aiootp — v0.23.7 Pre-release
Pre-release

Changes for version 0.23.7

Major Changes

  • fix(behavior): fix inconsistent Slots subclass frozen & mapping functionality
  • fix(api): resolve type unsafety of redundant params in KEX protocol inits [#5]

Minor Changes

  • chore(release): mark completed v0.23.x series versions with git tags
  • refactor(package): move FrozenInstance class to its own module
  • refactor(algorithm): remove hard-coded KDF in X25519 protocol methods [#4]
  • docs(database): provide more concurrency-safe & elegant usage examples
  • docs: fix & improve miscellaneous
  • test: fix & improve miscellaneous
  • style: fix & improve miscellaneous

Full Changelog: v0.23.6...v0.23.7