1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118
|
Changelog
=========
Unreleased
----------
- Nothing yet
v0.5.2
------
- Add ``JoinablePath.relative_to()`` and ``JoinablePath.is_relative_to()``.
v0.5.1
------
- Make ``vfsopen()`` try to call ``open()``, like it did before 0.5.0.
v0.5.0
------
- Add ``vfspath()``, which returns the virtual filesystem path as a string.
- Replace ``JoinablePath.__str__()`` abstract method with ``__vfspath__()``.
- Replace ``magic_open()`` with ``vfsopen()``. The new function takes the same
arguments.
- Replace ``ReadablePath.__open_rb__()`` abstract method with
``__open_reader__()``, and remove *buffering* argument.
- Replace ``WritablePath.__open_wb__()`` abstract method with
``__open_writer__()``, and remove *buffering* and add *mode* arguments.
v0.4.3
------
- Set correct ``__name__`` for ABCs and ``PathParser``.
v0.4.2
------
- Emit encoding warnings from ``magic_open()``, ``ReadablePath.read_text()``,
and ``WritablePath.write_text()`` at the correct stack level.
v0.4.1
------
- When ``magic_open()`` is called to open a path in binary mode, raise
``ValueError`` if any of the *encoding*, *errors* or *newline* arguments
are given.
- In ``ReadablePath.glob()``, raise ``ValueError`` when given an empty
pattern.
- In ``ReadablePath.glob()`` and ``JoinablePath.full_match()``, stop
accepting ``JoinablePath`` objects as patterns. Only strings are allowed.
- In ``ReadablePath.copy()`` and ``copy_into()``, stop accepting strings as
target paths. Only ``WritablePath`` objects are allowed.
v0.4.0
------
- Several months worth of upstream refactoring:
- Rename ``PurePathBase`` to ``JoinablePath``.
- Split ``PathBase`` into ``ReadablePath`` and ``WritablePath``.
- Replace ``stat()`` with ``info`` attribute and ``PathInfo`` protocol.
- Remove many nonessential methods.
- Add support for copying between path instances.
- Drop support for Python 3.7 and 3.8.
v0.3.1
------
- Add support for Python 3.7.
v0.3.0
------
- Rename ``PathModuleBase`` to ``ParserBase``, and ``PurePathBase.pathmod``
to ``PurePathBase.parser``.
- Add ``ParserBase.splitext()``.
- Add ``PurePathBase.full_match()``.
- Treat a single dot ("``.``") as a valid file extension.
- Revert ``match()`` back to 3.12 behaviour (no recursive wildcards).
- Replace ``PathBase.glob(follow_symlinks=...)`` with ``recurse_symlinks=...``.
- Suppress all ``OSError`` exceptions from ``PathBase.exists()`` and
``is_*()`` methods.
- Disallow passing ``bytes`` to initialisers.
- Improve walking and globbing performance.
- Expand test coverage.
- Clarify that we're using the PSF license.
v0.2.0
------
- Add ``PathModuleBase`` ABC to support path syntax customization.
- Add CI. Thank you Edgar Ramírez Mondragón!
- Return paths with trailing slashes if a glob pattern ends with a slash.
- Return both files and directory paths if a glob pattern ends with ``**``,
rather than directories only.
- Improve ``PathBase.resolve()`` performance by avoiding some path object
allocations.
- Remove ``PurePathBase.is_reserved()``.
- Remove automatic path normalization. Specifically, the ABCs no longer
convert alternate separators nor remove either dot or empty segments.
- Remove caching of the path drive, root, tail, and string.
- Remove deprecation warnings and audit events.
v0.1.1
------
- Improve globbing performance by avoiding re-initialising path objects.
- Add docs.
v0.1.0
------
- Initial release.
|