Change Log🔗
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
3.0.2 - 2025-08-15🔗
Added🔗
- Support for Python 3.14, PyPy 3.11.
Changed🔗
- Updated
pillarto avoid issue with logs having no max size.
3.0.1 - 2025-08-15🔗
Fixed🔗
- Missing
datetimeimport in_versionaffecting the CLI #9
3.0.0 - 2025-07-11🔗
Tip
Version 3.0.0 represents a large incompatible refactor of nserver with version 2.0.0 considered a "misfire". If you have been using functionality from 2.0.0 or the development branch you should expect a large number of breaking changes.
Added🔗
- Add Python 3.13 support
- Generalised CLI interface for running applications; see
nserver --help.- Implemented in
nserver.cli.
- Implemented in
nserver.applicationclasses that focus on running a given server instance.- This lays the ground work for different ways of running servers in the future; e.g. using threads.
nserver.server.RawNameServerthat handlesRawMiddlewareincluding exception handling.
Removed🔗
- Drop Python 3.7 support
nserver.server.SubServerhas been removed.NameServerinstances can now be registered to otherNameServerinstances.
Changed🔗
- Refactored
nserver.server.NameServer- "Raw" functionality has been removed. This has been moved to the
nserver.server.RawNameServer. - "Transport" and other related "Application" functionality has been removed from
NameServerinstances. This has moved to thenserver.applicationclasses. NameServerinstances can now be registered to other instances. This replacesSubServerfunctionality that was in development.
- "Raw" functionality has been removed. This has been moved to the
- Refactoring of
nserver.serverandnserver.middlewareclasses. NameServernameargument / attribute is no longer used when creating the logger.
Fixed🔗
- Uncaught errors from dropped connections in
nserver.transport.TCPv4Transport#6
Development Changes🔗
- Development tooling has moved to
uv.- The tooling remains wrapped in
dev.sh. - This remove the requirement for
dockerin local development.
- The tooling remains wrapped in
- Test suite added to GitHub Actions.
- Added contributing guidelies.
2.0.0 - 2023-12-20🔗
- Implement Middleware
- This includes adding error handling middleware that facilitates error handling.
- Add
StaticRuleandZoneRule. - Refector
NameServer.ruleto use expandedsmart_make_rulefunction.- Although this change should not affect rules using this decorator from being called correctly, it may change the precise rule type being used. Specifically it may use
StaticRuleinstead ofWildcardStringRulefor strings with no substitutions.
- Although this change should not affect rules using this decorator from being called correctly, it may change the precise rule type being used. Specifically it may use
- Add Blueprints
- Include refactoring
NameServerinto a new shared basedScaffoldclass.
- Include refactoring
1.0.0 - 2023-11-03🔗
- Beta release