1.5.2
- Do not re-pick a known used (not-yet-returned) port when running stand alone without a portserver.
1.5.1
1.5.0
- Add portserver support to Windows using named pipes. To create or connect to a server, prefix the name of the server with
@ (e.g. @unittest-portserver).
1.4.0
- Use
async def instead of @asyncio.coroutine in order to support 3.10. - The portserver now checks for and rejects pid values that are out of range.
- Declare a minimum Python version of 3.6 in the package config.
- Rework
portserver_test.py to launch an actual portserver process instead of mocks.
1.3.9
- No portpicker or portserver code changes
- Fixed the portserver test on recent Python 3.x versions.
- Switched to setup.cfg based packaging.
- We no longer declare ourselves Python 2.7 or 3.3-3.5 compatible.
1.3.1
- Fix a race condition in
pick_unused_port() involving the free ports set.
1.3.0
- Adds an optional
portserver_address parameter to pick_unused_port() so that callers can specify their own regardless of os.environ. pick_unused_port() now raises NoFreePortFoundError when no available port could be found rather than spinning in a loop trying forever.- Fall back to
socket.AF_INET when socket.AF_UNIX support is not available to communicate with a portserver.
1.2.0
- Introduced
add_reserved_port() and return_port() APIs to allow ports to be recycled and allow users to bring ports of their own.
1.1.1
- Changed default port range to 15000-24999 to avoid ephemeral ports.
- Portserver bugfix.
1.1.0
- Renamed portpicker APIs to use PEP8 style function names in code and docs.
- Legacy CapWords API name compatibility is maintained (and explicitly tested).
1.0.1
- Code reindented to use 4 space indents and run through YAPF for consistent style.
- Not packaged for release.
1.0.0
- Original open source release.