Change log for `time-hourglass` All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to the [Haskell Package Versioning Policy](https://pvp.haskell.org/). ## 0.3.0 - 2025-08-01 * Drop support for GHC < 8.6. * Add `Real` instance for `ElapsedSinceP`. * Add `Read` instances for `TimezoneOffset` and `Read t => LocalTime t`. * Export `fromRationalSecondsP`, `mkElapsedP`, and `fromRationalElapsedP`, to facilitate creation of `ElapsedP` values from precise amounts of seconds or numbers of seconds and nanoseconds. * Test added to test suite for `toRational :: ElapsedSinceP -> Rational` and `fromRationalElapsedP`. * Add `Format_DayYear3` for a day of the year padded to 3 characters, represented by @"JJJ"@. * Change the types of fields of `TimeFormatFct`: the parser and printer are in terms of `DateTime` and `TimezoneOffset` (rather than just `DateTime`). * In `localTimePrint` etc, implement `Format_TimezoneName` and `Format_Fct`. * In `localTimeParseE` etc, implement `Format_Month`, `Format_DayYear`, `Format_Day`, `Format_TimezoneName`, `Format_Tz_Offset` and `Format_Fct`. * Test added to test suite for `Format_Fct` parsing and printing. * In `localTimeParseE` etc, `Format_Spaces` now parses one or more space-like characters (as previously documented), rather than one space character (as previously implemented). * Export `MJDEpoch`, representing the Modified Julian Date (MJD) epoch. * Drop deprecated modules `Data.Hourglass.Compat`, `Data.Hourglass.Epoch`, `Data.Hourglass.Types` and `System.Hourglass`. Use modules `Time.Compat`, `Time.Epoch` and `Time.Types`. * Drop deprecated function `dateFromPOSIXEpoch`. Use `dataFromUnixEpoch`. * Drop deprecated function `dateFromTAIEpoch`. Use `dateFromMJDEpoch`. * Fix Haddock documentaton for `Format_Hours`, `Format_Minutes` and `Format_Seconds`; they all pad to 2 characters. * Fix Haddock documentaton for `Format_Millisecond`, `Format_MicroSecond` and `Format_NanoSecond`; they parse and print components only, and all pad to 3 characters. * Fix error message if a `Format_Text` parse fails. * Add Haddock documentation for the `String` instance of `TimeFormat`. ## 0.2.14 - 2025-07-24 * In test-suite and benchmark, depend on main library, drop dependency on package `hourglass`. ## 0.2.13 - 2025-07-23 * Drop support for GHC < 8.4. * Move library modules to directory `src` and benchmark module to directory `benchmarks`. * Move module `Example.Time.Compat` to directory `examples`. * Expose module `Time.Epoch` and deprecate equivalent module `Data.Hourglass.Epoch`. * Renamed non-exposed library modules under the `Time.*` hierarchy. * Use `LANGUAGE PackageImports` in module `Example.Time.Compat`, allowing `stack ghci examples/Example/Time/Compat.hs`. * Eliminate the use of CPP to vary source code for different operating systems. * Fix `other-modules` of `bench-hourglass` benchmark. * `bench-hourglass` benchmark depends on `tasty-bench`, drop dependency on `gauge`. * Improve Haddock and other documentation. * Export new `dateFromUnixEpoch` and deprecate identical `dateFromPOSIXEpoch` to name epoch consistently. * Export new `dateFromMJDEpoch` and deprecate identical `dateFromTAIEpoch` to fix the latter being a misnomer. ## 0.2.12 - 2025-07-21 * Rename `hourglass-0.2.12` package as `time-hourglass-0.2.12`. * Cabal file specifies `cabal-version: 1.12` (not `>= 1.10`). * Change maintainer field to `Mike Pilgrem `. * Add `bug-reports` field to Cabal file. * Reset `CHANGELOG.md`. * Update `README.md` badges. * In test-suite `test-hourglass` replace use of `parseTime` (removed from package `time-1.10`) with `parseTimeM True`.