Skip to content

Update dependency pyfakefs to v6#1765

Open
k1h-renovate[bot] wants to merge 1 commit intodevfrom
renovate/pyfakefs-6.x
Open

Update dependency pyfakefs to v6#1765
k1h-renovate[bot] wants to merge 1 commit intodevfrom
renovate/pyfakefs-6.x

Conversation

@k1h-renovate
Copy link
Copy Markdown
Contributor

@k1h-renovate k1h-renovate Bot commented Feb 26, 2026

This PR contains the following updates:

Package Update Change
pyfakefs (changelog) major ==5.3.0==6.2.0

Warning

Some dependencies could not be looked up. Check the warning logs for more information.


Release Notes

pytest-dev/pyfakefs (pyfakefs)

v6.2.0

Compare Source

Changes the MRO for file wrappers.

Changes
  • fake file wrappers now derive from io.TextIOBase or io.BufferedIOBase,
    so that isinstance-checks for these classes succeed
    (see #​1307
    and #​484)
Fixes
  • route some pseudo-devices to the system instead of patching them; this ensures
    that os.urandom and related functions work correctly with PyPy
    (see #​1300)
  • fake file seek method did not return the location in the file
    (see #​1304)
  • make sure case sensitivity is correctly set for fake posix paths
    in hash(), Path.match and Path.full_match
    (see #​1308)
Infrastructure
  • use newest pytest for testing in CI

v6.1.6

Compare Source

Follow-up bugfix release for 6.1.5.

Fixes
  • os.path.realpath did not correctly handle some absolute paths under Windows
    (previous fix was incomplete, see #​1296)

v6.1.5

Compare Source

Minor bugfix release.

Fixes
  • os.path.realpath did not resolve symlinks under Windows
    (see #​1296)

v6.1.4

Compare Source

Fixes incompatibility with VCCode unittest runner.

Fixes
  • expanduser now correctly handles paths besides home and different separators
    (see #​1289)
  • avoid faking filesystem in VSCode unittest runner
    (see #​1285)

v6.1.3

Compare Source

Minor bugfix release.

Fixes
  • handle expanduser() and home() correctly in cross OS usage
    (see #​1289)

v6.1.2

Compare Source

Fixes a regression caused by the introduced weakrefs.

Fixes
  • do not use weakrefs for filesystem objects in fake modules
    (see #​1284)

v6.1.1

Compare Source

Fixes a packaging issue in latest version.

Fixes
  • fixed packaging issue: tests had not been added to sdist
    (see #​1278)

v6.1.0

Compare Source

Changes back-link references to weak references.

Changes
  • added more support for PyPy 3
  • Caution: many back-link references have been replaced by weak references;
    this may have unwanted consequences (crashes) for some untested workflows
Infrastructure
  • added PyPy 3.11 to CI, added PyPy builds for all OSes
  • use only pyproject.toml for dependencies, moved tox configuration into pyproject.toml
Fixes
  • fixed a problem accessing size from a FakeFileWrapper object
    (see #​1276)
  • fixed a problem with readable raising an error on a file object.
    (see #​1265)
  • avoid memory accumulation in consecutive tests by using weak references
    (see #​1267)

v6.0.0

Compare Source

Removes some deprecated functionality, removes support for Python < 3.10.

Breaking Changes
  • removed support for Python versions < 3.10; patch releases based on pyfakefs 5.10
    supporting older versions may be made on demand
  • removed support for patching legacy modules scandir and pathlib2
  • changed the default for FakeFilesystem.shuffle_listdir_results to True to reflect
    the real filesystem behavior
Changes
  • added some support for Python 3.15a3
Fixes
  • fixes a problem with Path type hints using the pipe symbol in wrapped functions
    inside an fs dependent fixture (see #​1242)
  • fixes problem with new coverage in Python 3.14 using the fake filesystem
    (see #​1245)
Documentation
  • added project information to documentation pages
Infrastructure
  • added CI tests for Python 3.15

v5.10.2

Compare Source

Fixes a problem with pathlib.glob in Python 3.14.

Fixes
  • fixed pathlib.glob() for Python 3.14 (see #​1239)

v5.10.1

Compare Source

Fixes a regression introduced in version 5.9.0.

Fixes
  • fixed a deadlock in shutil.copytree if copying using an shutil function as
    copy_function argument (see #​1235)

v5.10.0

Compare Source

Adds official support for Python 3.14. Last minor version before the 6.0 release.

Changes
  • the errno codes set in OSError have changed for some specific error conditions
    in Windows 11/Windows Server 2025; pyfakefs now matches this behavior
    instead of the previous behavior under Windows 10
  • added official support for Python 3.14
Enhancements
  • added support for os.readinto in Python 3.14
  • added support for pathlib.copy and pathlib.copy_into in Python 3.14
Fixes
  • fixes patching of Debian-specific tempfile in Python 3.13 (see #​1214)

v5.9.3

Compare Source

Fixes a utility method.

Changes
  • a warning is now issued if trying to create a nested fake filesystem with custom arguments
    (custom arguments are ignored in this case, as the existing fake filesystem is used)
Fixes
  • fixed fake_filesystem.add_package_metadata that had never worked correctly
    (see #​1205)
Infrastructure
  • updated the package build-system minimum version to setuptools v61.2 and higher

v5.9.2

Compare Source

Fixes interaction with pytest.

Fixes
  • fixed an interaction problem of fs with other pytest fixtures (see #​1200)
Infrastructure
  • fixed some warnings in tests (see #​1190)

v5.9.1

Compare Source

Fixes regression in packaging in version 5.9.0.

Fixes
  • fixed handling of added strict argument in Python 3.9.23
  • make sure test files are packaged (see #​1186)

v5.9.0

Compare Source

Adds support for an API change in latest Python patch releases.

Changes
  • the message from an OSError raised in the fake filesystem has no longer the postfix
    "in the fake filesystem" (see #​1159)
  • changed implementation of FakeShutilModule to prepare it for usage without the patcher
    (see #​1171)
Enhancements
  • added convenience function add_package_metadata to add the metadata of a given
    package to the fake filesystem (see #​1155)
Fixes
  • fixed handling of dynamic imports from code in the fake filesystem in Python > 3.11
    (see #​1121)
  • fixed workaround for recursion with pytest under Windows to ignore capitalization
    of pytest executable (see #​1096)
  • added missing mode property to fake file wrapper (see #​1162)
  • fixed instantiation of a standalone FakePathlibModule for Python >= 3.11
    (see #​1169)
  • added support for new value "ALLOW_MISSING" of strict argument in os.path.realpath
    (introduced in latest patch version of Python >= 3.10, see #​1180)
Infrastructure
  • adapt test for increased default buffer size in Python 3.14a6
  • replace session-scoped with module-scoped fixture in test,
    run pytest over all tests in docker containers
    (see #​1151)
  • remove setup.py and setup.cfg in favor of pyproject.toml

v5.8.0

Compare Source

Adds preliminary support for Python 3.14.

Changes
  • added some preliminary support for Python 3.14
  • change behavior of FakeFilesystem.get_object() to ignore permissions as it has been
    before version 5.4.0 (see #​1122)
Fixes
  • fixed a problem with flushing if writing over the buffer end
    (see #​1120)
  • fixed a regression that could break tests under Posix in Python 3.12
    (see #​1126)
  • fixed behavior for os.access for symlinks under Windows
  • fixed permission problem on querying file properties (see #​1122)
  • fixed patching in pytest setup phase for module and session-scoped fs fixtures
    (see #​1126)
Documentation
  • use a theme for documentation supporting dark mode

v5.7.4

Compare Source

Minor bugfix release.

Fixes
  • fixed a problem with module and session scoped fixtures in Python 3.13
    (see #​1101)
  • fixed handling of cwd if set to a pathlib.Path (see #​1108)
  • fixed documentation for cleanup handlers, added convenience handler reload_cleanup_handler
    (see #​1105)

v5.7.3

Compare Source

Fixes a regression in version 5.7.3.

Fixes
  • fixed a regression in version 5.7.2 that tempfile was not patched after pause/resume
    (POSIX only, see #​1098)
  • added workaround for a recursion occurring if using pytest under Windows and Python >= 3.12
    (see #​1096)
Infrastructure
  • run pytest-specific tests for all supported Python versions
  • pytest is only supported for versions >= 6.2.5, earlier version do not work in Python >= 3.10
    due to a pytest issue - adapted tests and documentation

v5.7.2

Compare Source

Fixes some problems with patching.

Fixes
  • added some support for loading fake modules in AUTO patch mode
    using importlib.import_module (see #​1079)
  • added some support to avoid patching debugger related modules
    (see #​1083)
Performance
  • avoid reloading tempfile in Posix systems
Infrastructure

v5.7.1

Compare Source

Fixes a regression in version 5.7.0 that broke patching fcntl.

Fixes
  • fixes a regression that caused unfaked fcntl calls to fail (see #​1074)

v5.7.0

Compare Source

Adds official Python 3.13 support, improves OS emulation behavior.

Changes
  • officially support Python 3.13
Enhancements
  • the additional_skip_names parameter now works with more modules (see #​1023)
  • added support for os.fchmod, allow file descriptor argument for os.chmod only for POSIX
    for Python < 3.13
Performance
  • avoid reloading glob in Python 3.13
Fixes
  • removing files while iterating over scandir results is now possible (see #​1051)
  • fake pathlib.PosixPath and pathlib.WindowsPath now behave more like in the real filesystem
    (see #​1053)
  • PurePosixPath reported Windows reserved names as reserved in Python >= 3.12
    (see #​1067)
  • PurePosixPath.joinpath() incorrectly handled paths with drives under Windows in Python >= 3.12
    (see #​1070)

v5.6.0

Compare Source

Adds preliminary Python 3.13 support.

Enhancements
  • added preliminary support for Python 3.13 (tested with beta2) (see #​1017)
  • added apply_umask argument to FakeFilesystem.create_dir to allow ignoring the umask (see #​1038)
Fixes
  • use real open calls for remaining pathlib functions so that it works nice with skippedmodules (see #​1012)
Infrastructure
  • Add pyupgrade as a pre-commit hook.

v5.5.0

Compare Source

Deprecates the usage of pathlib2 and scandir.

Changes
  • The usage of the pathlib2 and scandir modules in pyfakefs is now deprecated.
    They will now cause deprecation warnings if still used. Support for patching
    these modules will be removed in pyfakefs 6.0.
  • PureWindowsPath and PurePosixPath now use filesystem-independent path separators,
    and their path-parsing behaviors are now consistent regardless of runtime platform
    and/or faked filesystem customization (see #​1006).
Fixes
  • fixed handling of Windows pathlib paths under POSIX and vice verse (see #​1006)
  • correctly use real open calls in pathlib for skipped modules (see #​1012)

v5.4.1

Compare Source

Fixes a regression.

Fixes
  • fixed a regression from version 5.4.0 that incorrectly handled files opened twice via file descriptor
    (see #​997)

v5.4.0

Compare Source

Adds preliminary support for Python 3.14.

Changes
  • added some preliminary support for Python 3.14
  • change behavior of FakeFilesystem.get_object() to ignore permissions as it has been
    before version 5.4.0 (see #​1122)
Fixes
  • fixed a problem with flushing if writing over the buffer end
    (see #​1120)
  • fixed a regression that could break tests under Posix in Python 3.12
    (see #​1126)
  • fixed behavior for os.access for symlinks under Windows
  • fixed permission problem on querying file properties (see #​1122)
  • fixed patching in pytest setup phase for module and session-scoped fs fixtures
    (see #​1126)
Documentation
  • use a theme for documentation supporting dark mode

v5.3.5

Compare Source

Fixes a regression.

Fixes
  • Fixed a regression due to the changed behavior of the dynamic patcher cleanup (see #​939).
    The change is now by default only made if the django module is loaded, and the behavior can
    be changed using the new argument module_cleanup_mode.
Packaging
  • included tox.ini and a few more files into the source distribution (see #​937)

v5.3.4

Compare Source

Bugfix release.

Fixes
  • fixed handling of unhashable modules which cannot be cached (see #​923)
  • reload modules loaded by the dynamic patcher instead of removing them - sometimes they may
    not be reloaded automatically (see #​932)
  • added back argument use_dynamic_patch as a fallback for similar problems

v5.3.3: pyfakefs release version 5.3.3

Compare Source

This is a bugfix release.

v5.3.2

Compare Source

Bugfix release.

Fixes
  • fixed a problem with patching _io under Python 3.12 (see #​910)
  • fixed a problem with accessing the temp path if emulating Linux under Windows
    (see #​912)
  • fixed result of os.walk with a path-like top directory
    (see #​915)
  • properly fixed the problem that filesystem patching was still active in the pytest
    logreport phase (see #​904), the previous fix was incomplete

v5.3.1

Compare Source

Mostly a bugfix release.

Changes
  • changed behavior of add_real_directory to be able to map a real directory
    to an existing directory in the fake filesystem (see #​901)
Fixes
  • fixed the problem that filesystem patching was still active in the pytest
    logreport phase (see #​904)
  • restored compatibility with PyTorch 2.0 and above, as well as with other
    classes that have custom setattr methods (see #​905)

Configuration

📅 Schedule: (in timezone Europe/Stockholm)

  • Branch creation
    • At 06:00 PM through 11:59 PM and 12:00 AM through 05:59 AM, Monday through Friday (* 18-23,0-5 * * 1-5)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

@k1h-renovate k1h-renovate Bot requested a review from a team as a code owner February 26, 2026 01:14
@codecov
Copy link
Copy Markdown

codecov Bot commented Feb 26, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 92.95%. Comparing base (75dd6a2) to head (c657162).
⚠️ Report is 2 commits behind head on dev.

Additional details and impacted files
@@           Coverage Diff           @@
##              dev    #1765   +/-   ##
=======================================
  Coverage   92.95%   92.95%           
=======================================
  Files          30       30           
  Lines        5028     5028           
=======================================
  Hits         4674     4674           
  Misses        354      354           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@k1h-renovate k1h-renovate Bot force-pushed the renovate/pyfakefs-6.x branch 2 times, most recently from d3f4ed5 to 2b73975 Compare March 5, 2026 01:11
@k1h-renovate k1h-renovate Bot force-pushed the renovate/pyfakefs-6.x branch from 2b73975 to 5189420 Compare March 16, 2026 01:14
@i-oden i-oden added tests pytest python Pull requests that update Python code skip-changelog For release template labels Mar 17, 2026
@k1h-renovate k1h-renovate Bot force-pushed the renovate/pyfakefs-6.x branch from 5189420 to b77eb97 Compare March 19, 2026 01:16
@k1h-renovate k1h-renovate Bot force-pushed the renovate/pyfakefs-6.x branch from b77eb97 to c657162 Compare April 13, 2026 01:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

python Pull requests that update Python code skip-changelog For release template tests pytest

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant