Skip to content

Bump whenever from 0.10.5 to 0.11.0 - #696

Merged
kellerza merged 1 commit into
mainfrom
dependabot/uv/whenever-0.11.0
Oct 10, 2026
Merged

kellerza merged 1 commit into
mainfrom
dependabot/uv/whenever-0.11.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Oct 6, 2026

Copy link
Copy Markdown
Contributor

Bumps whenever from 0.10.5 to 0.11.0.

Release notes

Sourced from whenever's releases.

0.11.0

This release is intended as a soft 1.0 release: it establishes the planned 1.0 API while retaining compatibility shims for newly deprecated interfaces. Unless significant issues arise, this API will become 1.0 after those deprecated interfaces are removed.

Getting the API right for 1.0 means breaking a few things first. Two changes you'll notice: the system time zone API, which now uses a PEP 661 sentinel, and a round of renames that gives the library one consistent vocabulary.

Thanks for bearing with the churn. This is the last of it: once 1.0 locks in, the API stays put, and releases bring only bug fixes and new features.

This release already brings plenty of the former. It irons out a long list of bugs, most of them in corners: daylight saving time transitions, unusual time zone files, the ends of the supported range, and inputs on which the two backends disagreed. The documentation got a thorough polish too, with a new glossary and a comparison with Arrow.

Breaking changes

  • The system time zone is now accepted everywhere a named time zone (i.e. tz=) is accepted, using the new SYSTEM_TZ sentinel (PEP 661). The methods specific to the system time zone are deprecated: to_system_tz(), assume_system_tz(), Date.today_in_system_tz(), ZonedDateTime.now_in_system_tz(), and ZonedDateTime.from_system_tz().

    ty, pyrefly and mypy 2.4 and later type-check SYSTEM_TZ.

    Rationale: one sentinel lets the regular time zone APIs cover the system time zone without duplicating every operation. It also makes call-time system time zone resolution explicit and takes advantage of the sentinel pattern recently standardized by PEP 661.

  • Several public names are clarified, and the old spellings are deprecated. See the migration table at the end of this entry.

    Rationale: the new names describe their concepts more precisely and use one vocabulary across the API. TZPATH was a module attribute that was loaded on access; its replacement, get_tzpath(), is explicit about this.

  • Removed APIs deprecated before 0.11: DateDelta, DateTimeDelta, the years(), months(), weeks(), and days() helpers, legacy standard library conversion methods, TimeDelta.in_*() convenience methods, Date.days_since() and Date.days_until(), deprecated Date operators, parse_strptime(), ZonedDateTime.start_of_day(), ignore_dst, and ImplicitlyIgnoringDST.

    See the 0.10.0 entry below for migration instructions.

  • Timestamp APIs are consolidated around a unit= argument. Instant.from_timestamp(..., unit=) and exact-time .timestamp(unit=) support seconds, milliseconds, microseconds, and nanoseconds. timestamp_millis(), timestamp_nanos(), and their matching Instant factories are deprecated, as are the timestamp factories on OffsetDateTime and ZonedDateTime: construct an Instant first, then call to_fixed_offset() or to_tz().

    Rationale: one unit-selectable API is easier to discover and extend, while Instant is the natural type for constructing an exact time from a timestamp.

  • Resolving a repeated or skipped local time without an explicit disambiguation= now emits ImplicitDisambiguationWarning. The "compatible" default still applies, so the result is unchanged, but a warning filter set to error now raises. Pass disambiguation="compatible" to silence the warning.

    Rationale: an unstated disambiguation silently picks one of two instants. A sensible default is fine, but the choice should be explicit.

  • Fixed-offset arguments passed as bare integers signifying hours are deprecated. Use TimeDelta or a factory like hours() instead.

    Rationale: the unit of a bare integer is implicit, which makes offset values easy to misread or misuse.

  • Patterns use H/HH for the 24-hour clock; h/hh are deprecated. Optional seconds go in brackets after mm: [:ss], [:ss.fff], [:ss.FFF], or [ss] without a separator. The SS spellings remain with deprecation warnings through 0.11. Patterns and parsed input strings are ASCII-only.

    Rationale: H/HH is the near-universal spelling for a 24-hour specifier, and brackets make optional seconds and their separator explicit. Where brackets may appear is set out in the pattern reference.

  • Unpickling a ZonedDateTime preserves its instant under the time zone rules of the loading environment. If those rules give a different offset, the local time follows and a PickleOffsetMismatchWarning is emitted.

    Rationale: time zone databases change, and unpickling can't take parameters, so preserving the instant is the sensible default. The warning ensures it doesn't pass silently.

  • Constructing a ZonedDateTime from a standard library datetime resolves its offset the way ISO parsing does: an offset that disagrees with the time zone rules raises InvalidOffsetError by default, and offset_mismatch= and disambiguation= resolve it.

  • Pattern offsets without seconds round an offset with seconds to the nearest minute, as Temporal does. Hour-only x/X patterns reject offsets that still have minutes after rounding.

  • An ItemizedDelta and an ItemizedDateDelta with the same components are equal: ItemizedDelta(days=3) == ItemizedDateDelta(days=3). strict_eq() takes only a delta of its own type, and raises TypeError for the other.

... (truncated)

Changelog

Sourced from whenever's changelog.

0.11.0 (2026-10-02)

This release is intended as a soft 1.0 release: it establishes the planned 1.0 API while retaining compatibility shims for newly deprecated interfaces. Unless significant issues arise, this API will become 1.0 after those deprecated interfaces are removed.

Getting the API right for 1.0 means breaking a few things first. Two changes you'll notice: the system time zone API, which now uses a PEP 661 sentinel, and a round of renames that gives the library one consistent vocabulary.

Thanks for bearing with the churn. This is the last of it: once 1.0 locks in, the API stays put, and releases bring only bug fixes and new features.

This release already brings plenty of the former. It irons out a long list of bugs, most of them in corners: daylight saving time transitions, unusual time zone files, the ends of the supported range, and inputs on which the two backends disagreed. The documentation got a thorough polish too, with a new glossary and a comparison with Arrow.

Breaking changes

  • The system time zone is now accepted everywhere a named time zone (i.e. tz=) is accepted, using the new SYSTEM_TZ sentinel (PEP 661). The methods specific to the system time zone are deprecated: to_system_tz(), assume_system_tz(), Date.today_in_system_tz(), ZonedDateTime.now_in_system_tz(), and ZonedDateTime.from_system_tz().

    ty, pyrefly and mypy 2.4 and later type-check SYSTEM_TZ.

    Rationale: one sentinel lets the regular time zone APIs cover the system time zone without duplicating every operation. It also makes call-time system time zone resolution explicit and takes advantage of the sentinel pattern recently standardized by PEP 661.

  • Several public names are clarified, and the old spellings are deprecated. See the migration table at the end of this entry.

    Rationale: the new names describe their concepts more precisely and use one vocabulary across the API. TZPATH was a module attribute that was loaded on access; its replacement, get_tzpath(), is explicit about this.

  • Removed APIs deprecated before 0.11: DateDelta, DateTimeDelta, the years(), months(), weeks(), and days() helpers, legacy standard

... (truncated)

Commits
  • 68e25be prepare release
  • 527bef7 small tweaks to pendulum page
  • f57f965 update changelog
  • a6e0503 update mypy so sentinel is supported
  • f1da8c0 update pendulum docs page
  • d266d07 remove unused imports from itemized date delta tests
  • 5f9f1c8 bump lockfile
  • 60e2061 simplify itemized delta add/subtract: deprecate relative_to, warn only on yea...
  • 4f295ba bump dev ddependencies
  • f6bb7f7 fix pure-Python tzpath init, TZif footer overlap, skipped-day rounding ties
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [whenever](https://github.com/ariebovenberg/whenever) from 0.10.5 to 0.11.0.
- [Release notes](https://github.com/ariebovenberg/whenever/releases)
- [Changelog](https://github.com/ariebovenberg/whenever/blob/main/CHANGELOG.md)
- [Commits](ariebovenberg/whenever@0.10.5...0.11.0)

---
updated-dependencies:
- dependency-name: whenever
  dependency-version: 0.11.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python:uv Pull requests that update python:uv code labels Oct 6, 2026
@kellerza
kellerza merged commit 0ad7710 into main Oct 10, 2026
17 checks passed
@dependabot
dependabot Bot deleted the dependabot/uv/whenever-0.11.0 branch October 10, 2026 15:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file python:uv Pull requests that update python:uv code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant