## 2.9.0.20260124 (2026-01-24)

[python-dateutil] Add missing annotation to 'tag' in rebuild.py ([#15196](https://github.com/python/typeshed/pull/15196))

## 2.9.0.20251115 (2025-11-15)

[python-dateutil] Add missing parameter annotations ([#14996](https://github.com/python/typeshed/pull/14996))

## 2.9.0.20251108 (2025-11-08)

[python-dateutil] add some missing parameter types ([#14992](https://github.com/python/typeshed/pull/14992))

## 2.9.0.20251008 (2025-10-08)

python-dateutil: add overload to rrulestr ([#14815](https://github.com/python/typeshed/pull/14815))

## 2.9.0.20250822 (2025-08-22)

Add __slots__ to third-party packages using stubdefaulter ([#14619](https://github.com/python/typeshed/pull/14619))

## 2.9.0.20250809 (2025-08-09)

Mark stub-only private symbols as `@type_check_only` in third-party stubs ([#14545](https://github.com/python/typeshed/pull/14545))

## 2.9.0.20250708 (2025-07-08)

[python-dateutil] Add missing stubs ([#14326](https://github.com/python/typeshed/pull/14326))

## 2.9.0.20250516 (2025-05-16)

Replace `Incomplete | None = None` in third party stubs ([#14063](https://github.com/python/typeshed/pull/14063))

## 2.9.0.20241206 (2024-12-06)

Use union instead of overloads in dateutil ([#13184](https://github.com/python/typeshed/pull/13184))

## 2.9.0.20241003 (2024-10-03)

dateutil: Enable failing test ([#11612](https://github.com/python/typeshed/pull/11612))

## 2.9.0.20240906 (2024-09-06)

[python-dateutil] Add `dateutil.parser.UnknownTimezoneWarning`. ([#12620](https://github.com/python/typeshed/pull/12620))

## 2.9.0.20240821 (2024-08-21)

Fix types for python-dateutil's relativedelta ([#12561](https://github.com/python/typeshed/pull/12561))

## 2.9.0.20240316 (2024-03-16)

python-dateutil: respect inheritance on relativedelta.__rsub__ ([#11462](https://github.com/python/typeshed/pull/11462)) ([#11463](https://github.com/python/typeshed/pull/11463))

## 2.9.0.20240315 (2024-03-15)

[stubsabot] Bump python-dateutil to 2.9.* ([#11518](https://github.com/python/typeshed/pull/11518))

Co-authored-by: stubsabot <>

## 2.8.19.20240311 (2024-03-11)

Use PEP 570 syntax in third party stubs ([#11554](https://github.com/python/typeshed/pull/11554))

## 2.8.19.20240106 (2024-01-06)

Update typing_extensions imports in third-party stubs ([#11245](https://github.com/python/typeshed/pull/11245))

## 2.8.19.14 (2023-07-20)

Add an upstream_repository field to METADATA.toml ([#10487](https://github.com/python/typeshed/pull/10487))

Closes: #10478

## 2.8.19.13 (2023-05-10)

Add `partial_stub` metadata field ([#10157](https://github.com/python/typeshed/pull/10157))

## 2.8.19.12 (2023-04-04)

Various improvements to `dateutil.rrule` stubs ([#10009](https://github.com/python/typeshed/pull/10009))

## 2.8.19.11 (2023-03-27)

Add default values for third-party stubs beginning with 'P' ([#9957](https://github.com/python/typeshed/pull/9957))

## 2.8.19.10 (2023-03-01)

Add rrule.__iter__ return type ([#9828](https://github.com/python/typeshed/pull/9828))

## 2.8.19.9 (2023-02-27)

Re-export `dateutil._common.weekday` from `dateutil.relativedelta` ([#9819](https://github.com/python/typeshed/pull/9819))

## 2.8.19.8 (2023-02-21)

Stubtest settings: change `ignore_missing_stub` default to `false` ([#9779](https://github.com/python/typeshed/pull/9779))

If you're reading about this commit from an autogenerated changelog entry, this should have no user-visible impact on how the stubs are interpreted by a type checker; it's just an internal change to how typeshed's tests work.

## 2.8.19.7 (2023-02-15)

Use `typing_extensions.Self` instead of `_typeshed.Self` ([#9702](https://github.com/python/typeshed/pull/9702))

## 2.8.19.6 (2023-01-18)

Replace `Any` with `Incomplete` in many places ([#9558](https://github.com/python/typeshed/pull/9558))

## 2.8.19.5 (2022-12-18)

`python-dateutil`: Add `zoneinfo` submodule ([#9381](https://github.com/python/typeshed/pull/9381))

## 2.8.19.4 (2022-11-16)

Add exact `**kwargs` types to `dateutil.parser.parse` ([#9212](https://github.com/python/typeshed/pull/9212))

Closes #9122

## 2.8.19.3 (2022-11-08)

Fix and allow classes with missing metaclasses ([#9136](https://github.com/python/typeshed/pull/9136))

## 2.8.19.2 (2022-10-17)

`dateutil`: Add comment explaining the use of `ABCMeta` ([#8911](https://github.com/python/typeshed/pull/8911))

## 2.8.19.1 (2022-10-17)

`datetime.tzinfo` is abstract ([#8908](https://github.com/python/typeshed/pull/8908))

## 2.8.19 (2022-07-19)

Third-party stubs: enforce CamelCase for type alias names ([#8256](https://github.com/python/typeshed/pull/8256))

Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>

## 2.8.18 (2022-06-22)

Improve several `__hash__` methods ([#8128](https://github.com/python/typeshed/pull/8128))

## 2.8.17 (2022-05-27)

dateutil: Add dateutil.rrule.weekdays ([#7968](https://github.com/python/typeshed/pull/7968))

Closes: #7946

## 2.8.16 (2022-05-19)

Add return type for `dateutil.rrule._rrulestr.__call__`. ([#7868](https://github.com/python/typeshed/pull/7868))

## 2.8.15 (2022-05-07)

Import generics from standard modules in all third-party stubs ([#7791](https://github.com/python/typeshed/pull/7791))

## 2.8.14 (2022-04-27)

dateutil.tz.tz: Replace IO with protocols ([#7717](https://github.com/python/typeshed/pull/7717))

## 2.8.13 (2022-04-27)

Drop Python 2 support from python-dateutil ([#7715](https://github.com/python/typeshed/pull/7715))

## 2.8.12 (2022-04-20)

Use `TypeAlias` for type aliases where possible, part II ([#7667](https://github.com/python/typeshed/pull/7667))

## 2.8.11 (2022-04-16)

Use `TypeAlias` where possible for type aliases ([#7630](https://github.com/python/typeshed/pull/7630))

## 2.8.10 (2022-03-16)

Use PEP 604 syntax wherever possible ([#7493](https://github.com/python/typeshed/pull/7493))

## 2.8.9 (2022-01-31)

Upgrade black version ([#7089](https://github.com/python/typeshed/pull/7089))

## 2.8.8 (2022-01-20)

Remove nearly all `__str__` and `__repr__` methods from typeshed ([#6968](https://github.com/python/typeshed/pull/6968))

## 2.8.7 (2022-01-17)

Use `_typeshed.Self` in Python 2, too ([#6932](https://github.com/python/typeshed/pull/6932))

## 2.8.6 (2022-01-10)

Always use `_typeshed.Self`, where applicable ([#6880](https://github.com/python/typeshed/pull/6880))

* Always use `_typeshed.Self`, where applicable

* Revert changes to `google-cloud-ndb` (ambiguous)

* Remove empty line added by script

* Revert changes to `stubs/python-dateutil/dateutil/relativedelta.pyi`

* Manually add a few more that the script missed

* Improve `filelock` annotation

Source code here: https://github.com/tox-dev/py-filelock/blob/79ec7b2826e33b982fe83b057f359448b9d966ba/src/filelock/_api.py#L207

* Improve `opentracing/scope` annotation

Source code here: https://github.com/opentracing/opentracing-python/blob/3e1d357a348269ef54d67f761302fab93dbfc0f7/opentracing/scope.py#L71

* Improve `redis/client` stub

Source code here: https://github.com/redis/redis-py/blob/15f315a496c3267c8cbcc6d6d9c6005ea4d4a4d5/redis/client.py#L1217

* Improve `redis/lock` annotation

Source code here: https://github.com/redis/redis-py/blob/15f315a496c3267c8cbcc6d6d9c6005ea4d4a4d5/redis/lock.py#L155

* Improve `requests/models` annotation

Source code here: https://github.com/psf/requests/blob/d718e753834b84018014a23d663369ac27d1ab9c/requests/models.py#L653

## 2.8.4 (2021-12-25)

python-datetutil: WEEKDAYS and MONTHS can have arbitrary length tuples ([#6689](https://github.com/python/typeshed/pull/6689))

## 2.8.3 (2021-11-23)

Add tz{utc,offset}.fromutc() ([#6360](https://github.com/python/typeshed/pull/6360))

## 2.8.2 (2021-10-15)

Use lowercase tuple where possible ([#6170](https://github.com/python/typeshed/pull/6170))

## 2.8.1 (2021-10-12)

Add star to all non-0.1 versions ([#6146](https://github.com/python/typeshed/pull/6146))

Annotate rruleset.rrule(rrule) argument ([#6149](https://github.com/python/typeshed/pull/6149))

## 2.8.0 (2021-09-02)

dateutil.parser: Complete the isoparser module ([#5983](https://github.com/python/typeshed/pull/5983))

