Releases: Diapolo10/iplib3
Release v0.2.4
[0.2.4] - 2023-09-18
Updated dependencies, added py.typed
, swapped linters to Ruff, fixed lint
issues, and removed support for Python 3.8 due to type hint changes.
Added
py.typed
is now present, lettingmypy
use the provided type hints- Added a workflow for Ruff
Changed
- Ruff replaces Pylint an Flake8 as linters
- Cleaned up the source code with Ruff
- Updated dpendencies
- Updated
Makefile
Removed
- Removed the old workflows for Pylint and Flake8
Release refs/tags/v0.2.3
[0.2.3] - 2023-02-09
Updated dependencies, stopped ignoring poetry.lock
, and upgraded workflows.
Added
- New workflows for code analysis and automatic dependency updates
- Automated GitHub releases
Changed
poetry.lock
is now included in the repository- Updated project metadata files for consistency
- Updated old workflows
Removed
- The old
deploy.yml
was removed in favour ofpypi_deploy.yml
[0.2.2] Dependency changes and Makefile
This release sees mostly background improvements in the form of a Makefile, but it also has some dependency changes.
Added
- Added a
Makefile
to make testing the codebase easier/more streamlined locally on Linux/Unix platforms - Added Tox as a development dependency
Changed
- Changed the
README.md
badge chain to a table with the badges split into categories - Updated localisation files
Removed
- Removed
pytest-runner
as a development dependency, as it's useless with Poetry
[0.2.1] Small bug fixes
A quick fix to resolve Snyk throwing errors due to the empty requirements.txt
file.
Changed
- Updated localisation files
Fixed
- Snyk throwing a fit on pull requests
- Missing coverage from
iplib3.address
Removed
requirements.txt
Build system overhaul, constants, and validators
This release focuses mostly on back-end changes, but there are a few additions
to functionality as well. Things have moved around, new unit tests have been
added, and the overall structure of the project is now more manageable. Most
importantly, however, the project has now been transitioned to use poetry
as
its build system and this transition has enabled many of the old config files
to be removed. The entire project now uses pyproject.toml
for all
configuration, from builds to unit tests. In addition, the GitHub Actions
workflow has been split into multiple workflows, it now uses Tox, and the
project is now additionally linted using flake8
; previously only pylint
was used.
Added
iplib3.constants
, a new sub-package used to store all of the constant
values used by the project.iplib3.subnet
, a new submodule housing new subnet objects. At this
stage they remain unused, though the code has been unit tested.iplib3.validators
, a new submodule for validator functions.
Changed
- Validator functions from
iplib3.address
andiplib3.subnet
have been
moved toiplib3.validators
to keep the codebase more maintainable. - Constants originally defined in
iplib3.address
andiplib3.subnet
have been moved toiplib3.constants
. - Some validators, including
port_validator
,ip_validator
,
ipv4_validator
,ipv6_validator
, andsubnet_validator
, have been
added to the public interface. Previously they were considered private. - Steps have been taken to reduce code duplication and complexity by creating
new, currently private helper functions. This will be a key point in
future development. iplib3.PureAddress
is no longer an abstract base class, as it caused
difficulties in unit testing. It has been reworked into a concrete class.- Updated localisation files
Deprecated
- The
requirements.txt
-file is no longer used for anything, it may be removed
in a future version. Then again, it has been kept empty so far as the library
currently lacks non-development dependencies.
Fixed
- Hundreds of linter errors
- Unit test coverage (previously ~70%, now 100%)
- Bugs related to equality testing of addresses
- Bugs related to initialisation and construction of
iplib3.IPAddress
Removed
setup.cfg
setup.py
- Scripts related to running tests (now handled by Makefile and/or Poetry)
Security
- Added Snyk integration to sniff out vulnerabilities
Minor updates
Merge pull request #17 from Diapolo10/nightly v0.1.5-2 Release
First public release
The first public release of iplib3
. Contains the base functionality of the library, meaning support for both IPv4 and IPv6, switching between them as well as integer and hex forms, and also supports port numbers.