Releases: MattyB95/Jabberjay
Releases · MattyB95/Jabberjay
Jabberjay v0.0.10
Immutable
release. Only release title and notes can be modified.
Added
py.typedmarker — PEP 561 marker file added tosrc/Jabberjay/; downstream
type-checkers (mypy, pyright, ty) now recognise Jabberjay's inline type hintsjustfileWindows support —set windows-shelldirective added so alljust
recipes work natively in PowerShell;cleanandcoveragesplit into[unix]/
[windows]platform variants;versionreplaced with a cross-platform Python
one-liner usingtomllibtests/conftest.py— forces the non-interactive Agg matplotlib backend before
any test runs, preventingTclErrorfailures caused by the uv-managed Python
distribution not bundling Tk- Dependency vulnerability scanning —
uv auditstep added to the lint job in
ci.yml; scans the lockfile against the PyPI advisory database on every push and PR
Changed
- Pre-commit tool versions aligned with dev dependencies —
ruffbumped
v0.11.2 → v0.15.10andblackbumped25.1.0 → 26.3.1in
.pre-commit-config.yamlto match the versions resolved inuv.lock typinned — dev dependency updated from bare"ty"to"ty>=0.0.30"for
reproducible installsblacktarget-version extended —"py314"added to[tool.black]to match
the Python 3.14 entry in the CI test matrix- CI caching enabled —
cache: trueadded to allastral-sh/setup-uvsteps
acrossci.ymlanddocs.yml; coverage artifact retention set to 30 days - Docs changelog removed —
docs/changelog.mddeleted;CHANGELOG.mdat the
repository root is now the single source of truth; the MkDocs navigation entry
has been removed accordingly label_normalizer.pytype hint tightened —raw_scoresparameter type
narrowed fromlist[dict[str, object]]tolist[dict[str, str | float]]
Fixed
TestASTPredictclass name typo — corrected fromTestASTPRedictin
tests/test_models.pytest_buffer_closed_on_errortest isolation —plt.subplotsnow patched in
the error-path test so the assertion targets thefinally-blockbuf.close()call
rather than being short-circuited by a TkAggTclErrorfrom real matplotlib
Jabberjay v0.0.9
Immutable
release. Only release title and notes can be modified.
Changed
- Python 3.10 support dropped — minimum Python version raised to 3.11
(requires-python = ">=3.11"); Python 3.10 classifier removed, CI test
matrix updated to["3.11", "3.12", "3.13", "3.14"], and documentation
updated accordingly; follows numpy's requirement of Python >= 3.11 - Dependency constraints updated to lower bounds — all runtime dependencies
(huggingface-hub,joblib,librosa,loguru,matplotlib,numpy,
pillow,PyYAML,scikit-learn,soundfile,torch,torchaudio,
transformers) now specify>=minimum-version constraints, giving library
users flexibility to resolve their own dependency graphs;uv.lockcontinues
to provide reproducible installs for development and CI
Security
- Pygments updated to 2.20.0 (
uv.lock) — resolves
CVE-2026-4539 /
GHSA-5239-wwwm-4pmq,
a ReDoS vulnerability inAdlLexeraffecting Pygments < 2.20.0
(Dependabot alert #3);
Pygments is a dev/docs dependency via MkDocs and has no impact on the runtime
library
Jabberjay v0.0.8.post2
Immutable
release. Only release title and notes can be modified.
Fixed
- Zenodo concept DOI corrected again — updated to
10.5281/zenodo.19056977
acrossCITATION.cff,README.md, and both changelogs
Jabberjay v0.0.8.post1
Immutable
release. Only release title and notes can be modified.
Fixed
- Zenodo DOI corrected — all references updated from
10.5281/zenodo.19056978
to the correct concept DOI10.5281/zenodo.19057457acrossCITATION.cff,
README.md, and both changelogs
Jabberjay v0.0.8
Immutable
release. Only release title and notes can be modified.
Added
- Zenodo integration — repository is now archived on Zenodo; concept DOI
(10.5281/zenodo.19056978) added toCITATION.cff, README badge row, and
BibTeX entry in the README citation section .zenodo.json— explicit Zenodo record metadata (creator ORCID,
affiliation, keywords, related identifiers for PyPI and docs) so archived
records are consistent and complete- Pre-commit hooks expanded — added
trailing-whitespace,end-of-file-fixer,
check-merge-conflict,check-added-large-files,check-yaml,check-json,
check-toml, anddetect-private-keyfrompre-commit-hooks; added
scripts/sync_version.pylocal hook to keepCITATION.cffand README BibTeX
version in sync withpyproject.tomlautomatically on every commit
Fixed
RawNet2/run.py— YAML config loading now raises a descriptive
RuntimeErrorinstead of a rawOSError/YAMLErrorif the bundled config
file is missing or malformedUtilities/label_normalizer.py— removed redundantfloat(str(...))
double conversion; score is cast directly withfloat()
Jabberjay v0.0.7
Immutable
release. Only release title and notes can be modified.
Added
CITATION.cff— machine-readable citation metadata for academic use;
GitHub surfaces this as a "Cite this repository" button; compatible with
Zenodo, Zotero, and other reference managers- Sample rate validation —
detect()now raisesValueErrorimmediately
for zero or negative sample rates when a pre-loaded audio tuple is passed,
preventing silent failures in downstream model inference - Test coverage for new behaviour — 7 new tests covering sample rate
validation,BytesIObuffer cleanup on both success and error paths,
figure cleanup on error paths, andClassical.predict()bonafide/spoof paths
Changed
- Dependency minimum versions pinned — all runtime dependencies now carry
lower-bound constraints (torch>=2.0,transformers>=4.30,
huggingface-hub>=0.20,librosa>=0.10, etc.) to prevent silent
incompatibilities on fresh installs - Contact and copyright updated — maintainer email changed to
Matthew.Boakes@Gmail.comacrossCODE_OF_CONDUCT.md,SECURITY.md, and
pyproject.toml;LICENSEupdated to2024-2026 Matthew Boakes and The Alan Turing Institute CONTRIBUTING.mdmodel template corrected — examplerun.pynow uses
cast()+normalize_pipeline_scores()(matching real handlers) and the
handler example uses_result_from_scores()instead of building
DetectionResultmanually; label normaliser variable names corrected to
_BONAFIDE_SUBSTR/_SPOOF_SUBSTR/_BONAFIDE_EXACT/_SPOOF_EXACT
Fixed
VIT/utility.py—BytesIObuffer is now always closed in the
finallyblock, preventing a resource leak ifImage.open()or
img.load()raisesClassical/run.py— renamedmodelvariable tomodel_pathto
accurately reflect thatdownload_pretrained_model()returns a file path,
not a model object_result_from_scores()— parameter type restored to
list[PredictionScore], keeping the type contract consistent end-to-end
from model handlers through toDetectionResult.scores
Jabberjay v0.0.6
Immutable
release. Only release title and notes can be modified.
Added
- Documentation site — MkDocs + Material for MkDocs, hosted on GitHub Pages at
https://mattyb95.github.io/Jabberjay; includes Getting Started, Models, CLI,
and API Reference pages (auto-generated from docstrings via mkdocstrings) - GitHub Release automation (
release.yml) — creates a tagged release with
changelog notes automatically on every push tomain - CodeQL security scanning (
codeql.yml) — static analysis on push/PR and
on a weekly schedule
Changed
- Updated GitHub Actions:
actions/checkoutv4→v6,astral-sh/setup-uvv5→v7,
actions/upload-artifactv4→v7 (via Dependabot) - Dependabot PRs now target the
developbranch
v0.0.5
Immutable
release. Only release title and notes can be modified.
v0.0.4
- Added ASVspoof5 Models 🤖
- Updated README
- Removed torch.load() warning for RawNet2
- Requirements Update
Full Changelog: v0.0.3...v0.0.4
Initial Release
Initial Release