d67bd37e33
- Update to 3.1.0 - Optimize patching of uuid module. By avoiding using unittest.mock, this small overhead from starting time_machine.travel() has been reduced about 20x, from ~600ns to ~30ns by one benchmark. - Update to 3.0.0 - Remove mocking of time.monotonic() and time.monotonic_ns(). This mocking caused too many issues, such as causing freezes in asyncio event loops (Issue #387), preventing pytest-durations from timing tests correctly (Issue #505), and triggering timeouts in psycopg (Issue #509). The root cause here is that mocking the monotonic clock breaks its contract, allowing it to move backwards when it’s meant to only move forwards. As an alternative, use unittest.mock to mock the monotonic function for the specific tested modules that need it. That means that your code should import monotonic() or monotonic_ns() directly, so that your tests can mock it in those places only. - Parse str destinations with datetime.fromisoformat() first, before falling back to dateutil if installed. datetime.fromisoformat() can parse most valid ISO 8601 formats, with better performance and no extra dependencies. - Make the dependency on dateutil optional. - Rename the Coordinates class to Traveller, to match the recommended context manager variable name. - Drop Python 3.9 support. - Make the escape_hatch functions raise ValueError when called outside of time-travelling, rather than triggering segmentation faults. - Update to 2.19.0 - Add marker support to the pytest plugin. Decorate tests with @pytest.mark.time_machine(<destination>) to set time during a test, affecting function-level fixtures as well. - Add asynchronous context manager support to time_machine.travel(). You can now use async with time_machine.travel(...): in asynchronous code, per the documentation. - Import date and time functions once in the C extension. - This should improve speed a little bit, and avoid segmentation faults when the functions have been swapped out, such as when freezegun is in effect. (time-machine still won’t apply if freezegun is in effect.) - Update to 2.18.0 - Update the migration CLI to detect unittest classes based on whether they use self.assert* methods like self.assertEqual(). - Fix free-threaded Python warning: RuntimeWarning: The global interpreter lock (GIL) has been enabled... as seen on Python 3.13+. - Add support to travel() for datetime destinations with tzinfo set to datetime.UTC (datetime.timezone.utc). - Prevent segmentation faults in unlikely scenarios, such as if the time_machine module cannot be imported. - Make travel() fully unpatch date and time functions when travel ends. This may fix certain edge cases. - Update to 2.17.0 - Include wheels for Python 3.14. - Support free-threaded Python. - Add a new CLI for migrating code from freezegun to time-machine. - Install with pip install time-machine[cli] and run with python -m time_machine migrate. - Move the documentation to Read the Docs, and add a retro-futuristic logo.
Matej Cepl2026-01-14 20:22:59 +00:00
0ff1e6c741
- update to 2.16.0: * Drop Python 3.8 support. * Include wheels for Python 3.13.
Dirk Mueller2024-10-30 19:50:50 +00:00
2a0a81c187
Accepting request 1184081 from devel:languages:python
Ana Guerrero2024-07-03 18:29:44 +00:00
f8b840eaed
- update to 2.14.2: * Fix SystemError on Python 3.13 and Windows when starting time travelling.
Dirk Mueller2024-06-30 08:25:30 +00:00
18b0a115c1
Accepting request 1169322 from devel:languages:python
Ana Guerrero2024-04-23 16:54:51 +00:00
3ecd9935eb
- update to 2.14.1: * Fix segmentation fault when the first travel() call in a process uses a timedelta.
Dirk Mueller2024-04-20 08:02:06 +00:00
318c70927d
Accepting request 1157878 from devel:languages:python
Ana Guerrero2024-03-15 19:27:29 +00:00
0fa63279cc
- update to 2.14.0: * Fix utcfromtimestamp() warning on Python 3.12+. * Fix utcfromtimestamp() warning on Python 3.12+. * Fix class decorator for classmethod overrides. * Avoid calling deprecated uuid._load_system_functions() on Python 3.9+. * Avoid calling deprecated uuid._load_system_functions() on Python 3.9+. * Thanks to Nikita Sobolev for the ping in CPython Issue * Support Python 3.13 alpha 4. - Mock time.monotonic() and time.monotonic_ns().
Dirk Mueller2024-03-14 08:18:16 +00:00
fa08ba0702
Accepting request 1124381 from devel:languages:python
Ana Guerrero2023-11-10 11:28:52 +00:00
ec3fec7aae
Accepting request 1124365 from home:ecsos:python
Matej Cepl2023-11-09 09:30:23 +00:00
010896b20b
- update to version 2.8.1: - Actually build Python 3.11 wheels. - update to version 2.8.0: - Build Python 3.11 wheels. - update to version 2.7.1: - Fix usage of `ZoneInfo from the backports.zoneinfo package. This makes ZoneInfo` support work for Python < 3.9. - update to version 2.7.0: - Support Python 3.11 (no wheels yet, they will only be available when Python 3.11 is RC when the ABI is stable).
Sebastian Wagner2022-08-18 07:07:22 +00:00
9e5b5a2600
- update to version 2.6.0: * Drop Python 3.6 support. - update to version 2.5.0: * Add `time_machine.escape_hatch, which provides functions to bypass time-machine. Thanks to Matt Pegler for the feature request in Issue #206 <https://github.com/adamchainz/time-machine/issues/206>`__.
Dirk Mueller2022-01-11 09:43:44 +00:00
31c3ae00b1
- update to version 2.3.1: - Build universal2 wheels for Python 3.8 on macOS. - update to version 2.3.0: - Allow passing `tick to Coordinates.move_to() and the pytest fixture’s time_machine.move_to()`. This allows freezing or unfreezing of time when travelling.
Sebastian Wagner2021-07-30 08:26:21 +00:00
675ee40d51
- update to version 2.2.0: - Include type hints. - Convert C module to use PEP 489 multi-phase extension module initialization. This makes the module ready for Python sub-interpreters. - Release now includes a universal2 wheel for Python 3.9 on macOS, to work on Apple Silicon. - Stop distributing tests to reduce package size. Tests are not intended to be run outside of the tox setup in the repository. Repackagers can use GitHub's tarballs per tag.
Sebastian Wagner2021-07-03 13:24:34 +00:00
0a9048c7a8
- skip python2 to fix leap build - add missing group tag to fix leap build
Sebastian Wagner2021-05-29 07:51:21 +00:00
0392639000
Accepting request 895367 from home:sebix
Matej Cepl2021-05-26 21:23:58 +00:00