Releases: rmlibre/aiootp
Releases · rmlibre/aiootp
aiootp — v0.23.15
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
& raiseAttributeError
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
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
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
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
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
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
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
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
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