This project follows semantic versioning.
Types of changes:
- Added: New features.
- Changed: Changes in existing functionality.
- Deprecated: Soon-to-be removed features.
- Removed: Removed features.
- Fixed: Bug fixes.
- Infrastructure: Changes in build or deployment infrastructure.
- Documentation: Changes in documentation.
- Flexmock Pytest plugin entrypoint missing from
setup.py
.
- Add Python 3.12 and 3.13 support.
- Add tox.ini to sdist to make the downstream testing easier.
- Drop Python 3.6 and 3.7 support.
- Drop Pytest 5.x support.
- Fixed the pytest integration by switching from wrapping of the test runner to the pytest plugin system.
- Add PEP 561
py.typed
marker file.
- Remove documentation and test files from wheels build.
- Re-organize unit tests.
- Add a warning about the usage of
.new_instances()
method in the documentation.
- Fix subunit testrunner integration is broken.
- Fix: TeamCity (PyCharm) testrunner integration is broken.
- Run tests with testtools, subunit, TeamCity, and doctest testrunners using tox.
- Test flexmock API examples using doctest.
- Re-add Sphinx support for generating man pages.
- Fix 404 page not loading CSS and Javascript resources in documentation.
- Small fixes to documentation.
- Fix Zope testrunner integration is broken.
- Run tests with Zope testrunner using tox.
- Add Python 3.8, 3.9, 3.10, and 3.11 support.
- Add type annotations.
- BREAKING CHANGE: Flexmock needs to be imported explicitly using
from flexmock import flexmock
. The hack that allowed flexmock to be imported directly usingimport flexmock
did not work well with static analysis tools. - Many error messages have been improved.
- Undocumented methods
Expectation.reset
,Expectation.verify
, andExpectation.match_args
that were unintentionally left public are now private methods. - Undocumented attributes in
Mock
andExpectation
are now private. These attributes were never meant to be accessed directly.
- Drop Python 2.7, 3.4, 3.5 support.
- Drop Pytest 4.x support.
- Remove unittest2 and nose integrations. unittest2 and nose are not maintained anymore.
- BREAKING CHANGE: Removed support for calling
once
,twice
,never
, andmock
methods without parentheses. This allows code completion and static analysis to work with these methods.
- Fix
should_call
is broken if called on a fake object. - Fix
and_raise
allows invalid arguments for an exception.
- Run linters and tests using Github Actions.
- Add coverage reporting using Codecov.
- Add contribution documentation.
- Use Mkdocs instead of Sphinx to build the documentation.
- Fix AttributeError raised when mocking a proxied object.
- Fix flexmock not mocking methods properly on derived classes.
- Fix
with_args
not working built-in functions.
- Fix
with_args
not working built-in functions and methods. - Fix previous pytest
--durations
fix not working.
- Fix flexmock broken with Pytest 4 & 5.
- Fix new_instances method not working with Python 2.7.
- Fix multiple expectations for the same classmethod are not matched.
- Improve error message on unmatched method signature expectation.
- Fix using
should_call
passes wrongruntime_self
. - Fix pytest
--durations
flag when flexmock is installed.
- Add Python 3.6 and 3.7 support.
- Drop Python 2.6, 3.3, and Jython support.
- Don't hide exception when flexmock is used as context manager.
- Fix expectation reset for static methods on PyPy 2.
- Ensure original exception is not suppressed in pytest hook.
Looking for older changelog entries? See CHANGELOG file in git history.