Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-time-machine for 
openSUSE:Factory checked in at 2026-01-15 16:43:49
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-time-machine (Old)
 and      /work/SRC/openSUSE:Factory/.python-time-machine.new.1928 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-time-machine"

Thu Jan 15 16:43:49 2026 rev:19 rq:1327286 version:3.1.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-time-machine/python-time-machine.changes  
2024-11-01 21:00:47.725465015 +0100
+++ 
/work/SRC/openSUSE:Factory/.python-time-machine.new.1928/python-time-machine.changes
        2026-01-15 16:44:08.214996251 +0100
@@ -1,0 +2,63 @@
+Tue Dec  9 21:22:28 UTC 2025 - Matej Cepl <[email protected]>
+
+- 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.
+
+-------------------------------------------------------------------

Old:
----
  python-time-machine-2.16.0.tar.gz

New:
----
  python-time-machine-3.1.0.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-time-machine.spec ++++++
--- /var/tmp/diff_new_pack.Gr4JeS/_old  2026-01-15 16:44:08.807020906 +0100
+++ /var/tmp/diff_new_pack.Gr4JeS/_new  2026-01-15 16:44:08.815021239 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package python-time-machine
 #
-# Copyright (c) 2024 SUSE LLC
+# Copyright (c) 2025 SUSE LLC and contributors
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -16,13 +16,12 @@
 #
 
 
-%{?sle15_python_module_pythons}
 Name:           python-time-machine
-Group:          Development/Languages/Python
-Version:        2.16.0
+Version:        3.1.0
 Release:        0
 Summary:        Travel through time in your tests
 License:        MIT
+Group:          Development/Languages/Python
 URL:            https://github.com/adamchainz/time-machine
 # pypi packages don't contain the tests anymore since 2.2.0, see changelog
 Source:         
https://github.com/adamchainz/time-machine/archive/refs/tags/%{version}.tar.gz#/%{name}-%{version}.tar.gz
@@ -30,17 +29,19 @@
 BuildRequires:  %{python_module pip}
 BuildRequires:  %{python_module setuptools}
 BuildRequires:  %{python_module wheel}
+BuildRequires:  fdupes
+BuildRequires:  python-rpm-generators
 BuildRequires:  python-rpm-macros
+Requires:       python-python-dateutil
+Requires:       python-tokenize-rt
+Requires:       timezone
 # SECTION tests
 BuildRequires:  %{python_module backports.zoneinfo if %python-base < 3.9}
 BuildRequires:  %{python_module pytest}
 BuildRequires:  %{python_module python-dateutil}
+BuildRequires:  %{python_module tokenize-rt}
 BuildRequires:  timezone
 # /SECTION
-BuildRequires:  fdupes
-BuildRequires:  python-rpm-generators
-Requires:       python-python-dateutil
-Requires:       timezone
 %python_subpackages
 
 %description
@@ -55,7 +56,7 @@
 
 %install
 %pyproject_install
-%python_expand %fdupes %{buildroot}%{$python_sitelib}
+%python_expand %fdupes %{buildroot}%{$python_sitearch}
 
 %check
 %pytest_arch
@@ -65,5 +66,5 @@
 %license LICENSE
 %{python_sitearch}/time_machine
 %{python_sitearch}/_time_machine.*.so
-%{python_sitearch}/time_machine-%{version}.dist-info
+%{python_sitearch}/time_machine-%{version}*-info
 

++++++ python-time-machine-2.16.0.tar.gz -> python-time-machine-3.1.0.tar.gz 
++++++
++++ 7231 lines of diff (skipped)

Reply via email to