head	1.5;
access;
symbols
	pkgsrc-2026Q3:1.4.0.4
	pkgsrc-2026Q3-base:1.4
	pkgsrc-2026Q2:1.4.0.2
	pkgsrc-2026Q2-base:1.4
	pkgsrc-2026Q1:1.3.0.6
	pkgsrc-2026Q1-base:1.3
	pkgsrc-2025Q4:1.3.0.4
	pkgsrc-2025Q4-base:1.3
	pkgsrc-2025Q3:1.3.0.2
	pkgsrc-2025Q3-base:1.3;
locks; strict;
comment	@# @;


1.5
date	2026.09.23.13.07.51;	author adam;	state Exp;
branches;
next	1.4;
commitid	5rQAko5k4ZLgnKWG;

1.4
date	2026.04.28.09.04.50;	author adam;	state Exp;
branches;
next	1.3;
commitid	JsGPQWWzv9iSMHDG;

1.3
date	2025.07.29.06.33.55;	author dkazankov;	state Exp;
branches;
next	1.2;
commitid	sMFLx1GZ5bXfJB4G;

1.2
date	2025.07.29.05.27.50;	author wiz;	state Exp;
branches;
next	1.1;
commitid	i9D845MG7UuwmB4G;

1.1
date	2025.07.28.21.25.49;	author dkazankov;	state Exp;
branches;
next	;
commitid	ptCum3mNrEWdHy4G;


desc
@@


1.5
log
@py-url-normalize: updated to 3.0.1

3.0.1

Fixed

Preserve invalid UTF-8 percent-encoded octets instead of replacing them with U+FFFD; valid UTF-8 still normalizes to NFC.
Preserve percent-encoded reserved characters in paths, keeping values such as a%2Fb distinct from a/b.
Preserve encoded plus signs (%2B) in query parameters and explicit empty values such as flag=.
Normalize Unicode and unsafe characters in URL credentials while preserving encoded delimiters; correctly separate credentials containing @@ from the host.
Correctly parse bracketed IPv6 hosts and ports, lowercase IPv6 addresses, and preserve zone identifier case.
Recognize long and custom URL schemes, protocol-relative URLs, and bare domains or localhost with numeric ports.
Remove leading whitespace and parser-ignored control characters before applying default domains and detecting URL schemes, preserving the intended destination.
Trim trailing authority whitespace without discarding trailing spaces or punctuation belonging to paths, query values, or fragments.
Convert hashbang fragments (#!) into a single escaped query parameter, preserving existing parameters and leaving ordinary fragments intact.
Match query parameter allowlists against normalized hosts and equivalent custom domain keys, including Unicode/Punycode aliases, case variants, and trailing dots. Exact canonical keys take precedence over aliases.
Decode IDNA host output as ASCII regardless of the charset argument.
Keep encoded backslashes and C0/C1 control characters encoded in url_humanize() output, and retain the normalized URL when a decoding candidate cannot be parsed.
Resolve query parameter allowlists once per URL to avoid repeated domain alias scans for each parameter.

Documentation

Correct normalization examples and clarify that parameter filtering uses allowlists, unknown domains have no default allowed parameters, and Unicode URL data uses UTF-8 percent encoding regardless of charset.

Internal

Enforce 100% statement coverage in the test suite and expand regression coverage for URL component handling.
@
text
@# $NetBSD: Makefile,v 1.4 2026/04/28 09:04:50 adam Exp $

DISTNAME=	url_normalize-3.0.1
PKGNAME=	${PYPKGPREFIX}-${DISTNAME:S/_/-/}
CATEGORIES=	www python
MASTER_SITES=	${MASTER_SITE_PYPI:=u/url_normalize/}

MAINTAINER=	dkazankov@@NetBSD.org
HOMEPAGE=	https://github.com/niksite/url-normalize
COMMENT=	URL normalization for Python
LICENSE=	mit

TOOL_DEPENDS+=	${PYPKGPREFIX}-setuptools>=78:../../devel/py-setuptools
DEPENDS+=	${PYPKGPREFIX}-idna>=3.3:../../www/py-idna
TEST_DEPENDS+=	${PYPKGPREFIX}-test-cov>=0:../../devel/py-test-cov
TEST_DEPENDS+=	${PYPKGPREFIX}-test_socket>=0:../../devel/py-test_socket

USE_LANGUAGES=	# none

PY_RENAME_BINARIES=	url-normalize

.include "../../lang/python/wheel.mk"
.include "../../mk/bsd.pkg.mk"
@


1.4
log
@py-url-normalize: updated to 3.0.0

3.0.0

Added

Add url_humanize() and url-normalize --humanize/-H to convert normalized URLs to readable display URLs while preserving normalization round trips

Changed

BREAKING: Updated minimum Python version to 3.10 to match currently supported Python versions.

Fixed

Stop passing the deprecated transitional argument to idna.encode()
Updated project license metadata to the current SPDX string format to resolve setuptools deprecation warnings
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.3 2025/07/29 06:33:55 dkazankov Exp $
d3 1
a3 1
DISTNAME=	url_normalize-3.0.0
d15 2
a16 2
TEST_DEPENDS+=	${PYPKGPREFIX}-test-cov-[0-9]*:../../devel/py-test-cov
TEST_DEPENDS+=	${PYPKGPREFIX}-test_socket-[0-9]*:../../devel/py-test_socket
@


1.3
log
@py-url-normalize: fix test dependency
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.2 2025/07/29 05:27:50 wiz Exp $
d3 1
a3 1
DISTNAME=	url_normalize-2.2.1
d13 1
a13 2
TOOL_DEPENDS+=	${PYPKGPREFIX}-setuptools>=42:../../devel/py-setuptools

a14 3

TEST_DEPENDS+=	${PYPKGPREFIX}-mypy-[0-9]*:../../lang/py-mypy
#TEST_DEPENDS+=	${PYPKGPREFIX}-pre-commit-[0-9]*:../../wip/py-pre-commit
a16 2
#TEST_DEPENDS+=	${PYPKGPREFIX}-test-[0-9]*:../../devel/py-test
TEST_DEPENDS+=	${PYPKGPREFIX}-ruff-[0-9]*:../../devel/py-ruff
d18 3
a20 3
post-install:
	cd ${DESTDIR}${PREFIX}/bin && \
	${MV} url-normalize url-normalize-${PYVERSSUFFIX} || ${TRUE}
@


1.2
log
@py-url-normalize: comment out non-existing or wip test dependencies
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.1 2025/07/28 21:25:49 dkazankov Exp $
d20 2
a21 2
#TEST_DEPENDS+=	${PYPKGPREFIX}-test-socket-[0-9]*:../../devel/py-test-socket
TEST_DEPENDS+=	${PYPKGPREFIX}-test-[0-9]*:../../devel/py-test
@


1.1
log
@www/py-url-normalize: add new package 2.2.1

Python library for standardizing and normalizing URLs with support
for internationalized domain names (IDN)
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.67 2025/06/22 17:41:13 wiz Exp $
d17 2
a18 2
TEST_DEPENDS+=	${PYPKGPREFIX}-mypy-[0-9]*:../../devel/py-mypy
TEST_DEPENDS+=	${PYPKGPREFIX}-pre-commit-[0-9]*:../../devel/py-pre-commit
d20 1
a20 1
TEST_DEPENDS+=	${PYPKGPREFIX}-test-socket-[0-9]*:../../devel/py-test-socket
@

