Skip to content

v1.0.0

Choose a tag to compare

@seba2390 seba2390 released this 30 Sep 20:14
4d99e6a

[1.0.0] - 2026-09-30

First stable release. The public API is now covered by semantic versioning: breaking
changes will wait for 2.0. Three changes below are breaking; they clean up the API before
it is frozen.

Changed

  • Breaking: the report from get_execution_times_report() no longer starts with a
    blank line, and its header reads Total time: rather than Total calculation time:.
    log_execution_times() still starts the report on its own line.
  • Breaking: TimerContext.timer is now private (_timer). It exposed the internal
    registry, which is not part of the public API.
  • get_execution_times_report() no longer logs a warning when there are no timings; it
    returns "". log_execution_times() warns instead, on the logger it was given, so
    building an empty report no longer prints to stderr when logging is not configured.
  • The package is classified as Development Status :: 5 - Production/Stable.

Removed

  • Breaking: the flatten parameter of get_total_time(), which had no effect.

Documentation

  • README links to the changelog, contributing guide, benchmarks and license are absolute,
    so they work on PyPI.
  • Note that each counter= value is kept as a separate section until the timings are
    cleared.

Fixed

  • Exiting a section while an inner one is still active, typically because a paused
    generator holds a section open, no longer raises RuntimeError. The raise replaced any
    exception already propagating from the timed block and left the active stack corrupted
    for the rest of the thread. The timer now emits a RuntimeWarning, records the exited
    section, and discards the unfinished inner sections. Exiting a section that is no longer
    active does nothing, so closing the paused generator later no longer raises either.

Security

  • Workflows pin every action to a full commit SHA, with the release as a comment that
    Dependabot keeps current, and CI installs dependencies with uv sync --locked so a
    stale lockfile fails the build.