Skip to content

v1.0.0

Choose a tag to compare

@danielmeint danielmeint released this 18 Jan 16:25
· 19 commits to main since this release
0e6ec41

What's New

This release brings nextdnsctl to production-ready status with major new features and improvements.

New Features

  • Parallel API requests - New --concurrency option (default: 5, max: 20) dramatically speeds up bulk operations
  • List command - View denylist/allowlist entries with nextdnsctl denylist list <profile>
  • Export command - Export lists to file with nextdnsctl denylist export <profile> <file>
  • Clear command - Remove all entries with nextdnsctl denylist clear <profile>
  • Dry-run mode - Preview changes before applying with --dry-run
  • Profile name resolution - Use profile names instead of IDs (e.g., "My Profile" instead of abc123)

Improvements

  • Comprehensive test suite with 45 tests
  • CI/CD with GitHub Actions (Python 3.10, 3.11, 3.12)
  • Full type hints and mypy compliance
  • Improved API error handling and retry logic
  • Refactored codebase for better maintainability

Breaking Changes

  • Minimum Python version raised from 3.6 to 3.10

Installation

pip install nextdnsctl

Or upgrade:

pip install --upgrade nextdnsctl

Quick Start

# Configure your API key
nextdnsctl auth

# List your profiles
nextdnsctl profile-list

# Add domains to denylist
nextdnsctl denylist add <profile> example.com

# Import from file (parallel by default)
nextdnsctl denylist import <profile> blocklist.txt

# Preview changes first
nextdnsctl --dry-run denylist import <profile> blocklist.txt

Full Changelog: v0.3.0...v1.0.0