From 78c5dec4e45b3881f552e59b05a76b4a6d0231a1 Mon Sep 17 00:00:00 2001 From: Bo Bayles Date: Tue, 24 Feb 2026 10:53:58 -0600 Subject: [PATCH 1/4] Upgrade cibuildwheel to 3.3.1 --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 07b93b1..95a526c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -39,7 +39,7 @@ jobs: uses: docker/setup-qemu-action@v3 with: platforms: all - - uses: pypa/cibuildwheel@v2.22.0 + - uses: pypa/cibuildwheel@v3.3.1 - uses: actions/upload-artifact@v4 with: name: artifact-wheel-${{ matrix.os }} From e61e6b0a307ffed015c1cef32ee3fafad204cac2 Mon Sep 17 00:00:00 2001 From: Bo Bayles Date: Tue, 24 Feb 2026 11:08:53 -0600 Subject: [PATCH 2/4] Drop pp310 wheels --- pyproject.toml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index f8a1804..8786a29 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -61,7 +61,6 @@ build = [ "cp312-*", "cp313-*", "cp314-*", - "pp310-*", ] manylinux-x86_64-image = "manylinux_2_28" manylinux-aarch64-image = "manylinux_2_28" @@ -76,8 +75,3 @@ before-build = "make clean" [tool.cibuildwheel.windows] archs = ["AMD64"] - -# https://github.com/pypy/pypy/issues/5027 -[[tool.cibuildwheel.overrides]] -select = "pp310-win_amd64" -environment = { SETUPTOOLS_USE_DISTUTILS="stdlib" } From 2635137d19a2a771855cf94941a5167e1889bcc0 Mon Sep 17 00:00:00 2001 From: Bo Bayles Date: Tue, 24 Feb 2026 11:09:24 -0600 Subject: [PATCH 3/4] Upgrade to ada 3.4.3 --- ada_url/ada.cpp | 8 +++++++- ada_url/ada.h | 23 +++++++++++++++-------- 2 files changed, 22 insertions(+), 9 deletions(-) diff --git a/ada_url/ada.cpp b/ada_url/ada.cpp index 732a524..6c2db6f 100644 --- a/ada_url/ada.cpp +++ b/ada_url/ada.cpp @@ -1,4 +1,4 @@ -/* auto-generated on 2026-01-30 13:29:04 -0500. Do not edit! */ +/* auto-generated on 2026-02-23 21:29:24 -0500. Do not edit! */ /* begin file src/ada.cpp */ #include "ada.h" /* begin file src/checkers.cpp */ @@ -14495,6 +14495,12 @@ bool url_aggregator::set_pathname(const std::string_view input) { if (get_pathname().starts_with("//") && !has_authority() && !has_dash_dot()) { buffer.insert(components.pathname_start, "/."); components.pathname_start += 2; + if (components.search_start != url_components::omitted) { + components.search_start += 2; + } + if (components.hash_start != url_components::omitted) { + components.hash_start += 2; + } } ADA_ASSERT_TRUE(validate()); return true; diff --git a/ada_url/ada.h b/ada_url/ada.h index 898c7dd..1210d7d 100644 --- a/ada_url/ada.h +++ b/ada_url/ada.h @@ -1,4 +1,4 @@ -/* auto-generated on 2026-01-30 13:29:04 -0500. Do not edit! */ +/* auto-generated on 2026-02-23 21:29:24 -0500. Do not edit! */ /* begin file include/ada.h */ /** * @file ada.h @@ -8091,6 +8091,12 @@ inline void url_aggregator::update_base_pathname(const std::string_view input) { // output. buffer.insert(components.pathname_start, "/."); components.pathname_start += 2; + if (components.search_start != url_components::omitted) { + components.search_start += 2; + } + if (components.hash_start != url_components::omitted) { + components.hash_start += 2; + } } uint32_t difference = replace_and_resize( @@ -9530,13 +9536,14 @@ url_pattern_component::create_component_match_result( auto result = url_pattern_component_result{.input = std::move(input), .groups = {}}; - // Optimization: Let's reserve the size. - result.groups.reserve(exec_result.size()); - // We explicitly start iterating from 0 even though the spec // says we should start from 1. This case is handled by the - // std_regex_provider. - for (size_t index = 0; index < exec_result.size(); index++) { + // std_regex_provider which removes the full match from index 0. + // Use min() to guard against potential mismatches between + // exec_result size and group_name_list size. + const size_t size = std::min(exec_result.size(), group_name_list.size()); + result.groups.reserve(size); + for (size_t index = 0; index < size; index++) { result.groups.emplace(group_name_list[index], std::move(exec_result[index])); } @@ -11221,14 +11228,14 @@ constructor_string_parser::parse(std::string_view input) { #ifndef ADA_ADA_VERSION_H #define ADA_ADA_VERSION_H -#define ADA_VERSION "3.4.2" +#define ADA_VERSION "3.4.3" namespace ada { enum { ADA_VERSION_MAJOR = 3, ADA_VERSION_MINOR = 4, - ADA_VERSION_REVISION = 2, + ADA_VERSION_REVISION = 3, }; } // namespace ada From 485208e3bdf05d91966a82c7794b0c2e41d08aa6 Mon Sep 17 00:00:00 2001 From: Bo Bayles Date: Tue, 24 Feb 2026 13:37:30 -0600 Subject: [PATCH 4/4] Bump to version 1.30.0 --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 8786a29..04fd6d6 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "ada-url" -version = "1.29.0" +version = "1.30.0" authors = [ {name = "Bo Bayles", email = "bo@bbayles.com"}, ]