What's Changed
* Remove class for UTC compat for Python 2 by daveisfera in https://github.com/globocom/m3u8/pull/338
* Use built-in ISO 8601 parse for Python 3.11 and later by daveisfera in https://github.com/globocom/m3u8/pull/336
* Run pyupgrade for 3.7 by daveisfera in https://github.com/globocom/m3u8/pull/339
* Upgrade actions to latest stable version by daveisfera in https://github.com/globocom/m3u8/pull/335
* Add 3.12 to the list of versions to test by daveisfera in https://github.com/globocom/m3u8/pull/334
* Pass timespec all the way down in dumps by daveisfera in https://github.com/globocom/m3u8/pull/345
* Ruff cleanup by daveisfera in https://github.com/globocom/m3u8/pull/337
* Run format with ruff by daveisfera in https://github.com/globocom/m3u8/pull/346
**Full Changelog**: https://github.com/globocom/m3u8/compare/3.6.0...4.0.0