Immobilus Changelog
===================
2.0.1
-----
* Remove Python 2 compatibility shim (`try/except import copy_reg`); use `import copyreg` directly
* Replace `assert` with explicit `TypeError` in `FakeDatetime.now()` for invalid `tz` argument
* `immobilus.start()` now always returns a `FakeDatetime` instead of the raw `time_to_freeze` value (which could be a string)
* Refactor pytest fixture to use `with immobilus(...): yield` instead of manual `start()`/`stop()` calls

2.0.0
-----
* Add thread safety and async context isolation using `ContextVar` for per-thread/context time freezing
* Refactor `datetime` handling to use unified `utcnow` helper; add tests for Python 3.12+ support; expand test matrix and drop legacy Python versions
* Improve type checking with `inspect` module; add error handling for unsupported object types
* Add `shift` method for time manipulation; remove deprecated `tick` method
* Add pytest plugin for automatic `immobilus` loading; remove runtime import order check
* Add `jump` method for precise time manipulation
* Add `tick` option to allow time to progress from frozen point
* Add pytest marker support for freezing time

1.5.1
-----
* Refresh dependencies and add support of Python 3.10-3.14

1.5.0
-----
* Drop support of Python <=3.4


1.4.2
-----

* Fix bug with usage of fake functions as class attributes
* Support of python 2.6 has been canceled, because python-datutil now is not supporting python 2.6

1.4
-----

Ability to decorate classes

1.3
-----

Now it works with coroutines

1.2
-----

Add docs to pypi

1.0
---

A new vision on how the tool should work. Thank you so much, @daybarr!


0.2.15
------

* Fix datetime.timestamp() behaviour on Py3
* Fix time.mktime() behaviour on Windows
* Add tests for windows


0.2.14
______

* Expose direct start & stop functions (@daybarr)
* bugfix: datetime.utcnow() and datetime.now() should return naive datetimes (@daybarr)


0.2.13
------

* bugfix: pass tz through to the original datetime.fromtimestamp when inactive. (@daybarr)


0.2.12
------

* bugfix: behaviour of isinstance() in Python3
