4.1.0:
- Documentation release. No runtime behaviour changed; the only edits to
executable code replaced two...bodies on the abstract
LockBase.acquire/LockBase.releasestubs with docstrings. - Every module, class, function, private helper and dunder method in the
package now carries a Google-style docstring.ruff's pydocstyle rules
are enabled forportalocker/with no exemptions - Added seven narrative guides: quickstart, lock types, platform behaviour,
Redis locks, thecombineCLI, troubleshooting, and a 3.x to 4.0.0
migration guide. The API reference moved underdocs/api/and a
changelog page was added docs/platforms.rstdocuments the advisory-versus-mandatory
distinction,flockversuslockf, msvcrt versus pywin32, and the
networked-filesystem caveats that cause most locking confusiondocs/cli.rstdocuments the combiner's ASCII-only requirement on
portalocker/*.py,README.rstandLICENSE, which was previously
only discoverable by reading__main__.py- Doctests now run for
docs/*.rstandREADME.rstas well as the
package, so every documented example is executed on each supported
platform and interpreter. No# doctest: +SKIPremains anywhere - Fixed the README telling readers to unlock a filehandle it had already
closed, which raisedValueError: I/O operation on closed file - Fixed the README demonstrating
BoundedSemaphorewithout aname,
which the library itself deprecates in favour ofNamedBoundedSemaphore - Removed the obsolete Python 2 installation section from the README