Url-normalize

Latest version: v2.2.0

Safety actively analyzes 722460 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 3

2.2.0

Added

- New `default_domain` parameter to support absolute paths with domain names (22)

Fixed

- Handle URLs with missing slashes correctly (19)
- Fix decoding of reserved characters in URL paths (25)
- Fix Twitter hashtag encoding in query parameters (31)

Internal

- Update CI configuration to use uv from PATH

2.1.0

Added

- New command-line interface (`url-normalize`) with support for:
- Version information (`--version`, `-v`)
- Charset selection (`--charset`, `-c`)
- Default scheme override (`--default-scheme`, `-s`)
- Query parameter filtering (`--filter-params`, `-f`)
- Custom allowlist for query parameters (`--param-allowlist`, `-p`)

Fixed

- Do not encode equals sign in fragment (Fixes 36)

Internal

- Add GitHub Action to publish package to PyPI using uv

2.0.1

Fixed

- Reverted license format in pyproject.toml to maintain Python 3.8 compatibility with older setuptools versions

2.0.0

Added

- Query parameter filtering functionality
- Parameter allowlist feature for controlling accepted query parameters
- IDNA 2008 support via `idna` package

Changed

- **BREAKING:** Switch default scheme from 'http' to 'https'
- **BREAKING:** Migrated IDNA handling to use IDNA 2008 with UTS46 processing
- **BREAKING:** Updated minimum Python version to 3.8 (removed Python 2.7 support)
- **BREAKING:** Removed sort_query_params option as it was incorrect - query parameter order is semantically meaningful and cannot be changed
- Enhanced query normalization with parameter filtering support
- Updated URL cleanup to support new filtering features
- Changed host normalization to handle each domain label separately

Internal

- Refactored code organization for improved maintainability:
- Split url_normalize.py into separate function modules
- Moved each normalization function to its own file
- Reorganized constants to their relevant modules
- Maintained backward compatibility and test coverage
- Added pre-commit hooks for code quality and linting
- Dedicated CHANGELOG.md file
- Increased test coverage requirement to 100%
- Migrated from Travis CI to GitHub Actions for testing across multiple Python versions
- Moved pytest configuration from tox.ini to pyproject.toml
- Removed Travis CI configuration in favor of GitHub Actions
- Semantic versioning compliance
- Upgraded project structure to modern Python packaging standards using pyproject.toml

1.4.3

Added

- LICENSE file

1.4.2

Added

- Optional param `sort_query_params` (True by default)

Page 1 of 3

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.