Skip to content

Latest commit

 

History

History
57 lines (41 loc) · 2.11 KB

File metadata and controls

57 lines (41 loc) · 2.11 KB

Changelog

0.9.3 (2026-02-18)

  • Lower requires-python to >=3.8; add typing_extensions runtime dependency
  • Add from __future__ import annotations to io.py, helpers.py, and entry.py
  • Switch from typing import Self to from typing_extensions import Self in io.py
  • Use typing.Dict as base class in Directory (replaces dict[int, Entry], which is not subscriptable at runtime on Python 3.8)
  • Expand CI matrix to Python 3.8, 3.10, 3.12, 3.13; split lint and test jobs
  • Add tox.ini and make tox target for local multi-version testing

0.9.2 (2026-02-18)

  • Fix off-by-one in Entry.seek() at exact sector boundaries (<<=)
  • Remove cached_property re-export from cfb.helpers; use functools.cached_property directly
  • Drop from __future__ import annotations from helpers.py, entry.py, and io.py
  • Modernise test suite: centralise fixtures in conftest.py, split test files by topic, drop class-based grouping, add @pytest.mark.parametrize for sibling-ID cases

0.9.1 (2026-02-18)

  • Fix from_filetime crashing on out-of-range FILETIME values (pre-1970 dates, garbage timestamps); use timedelta arithmetic instead of datetime.fromtimestamp
  • from_filetime now returns None for zero ("not set") and unrepresentable values

0.9.0 (2026-02-18)

  • Drop Python 2 support; require Python ≥ 3.12
  • Remove six dependency
  • Replace setup.py with pyproject.toml
  • Add py.typed marker (PEP 561)
  • Add pathlib.Path support in CfbIO
  • Add context-manager support (with CfbIO(...) as doc:)
  • Migrate from nosetests to pytest
  • Add black, ruff, and mypy configuration
  • Add GitHub Actions CI (replaces Travis CI)
  • Add type annotations throughout
  • Move class definitions out of __init__.py files
  • Use relative imports throughout the package
  • Replace hand-rolled cached descriptor with functools.cached_property
  • Add pre-commit configuration
  • Add Makefile for common development tasks

0.8.3 (2013-11-13)

  • Wheel support

0.8.2 (2013-10-02)

  • Python 3 compatibility

0.8.1 (2013-10-02)

  • Code documented

0.8.0 (2013-10-01)

  • First public release