For more information about the breaking changes, please read our blog post: https://yagiz.co/release-of-ada-v4/
What's Changed
- fix: restore set_scheme as exported symbol and add ABI check CI by @anonrig in #1099
- (docs) update README by @CarlosEduR in #1101
- add kotlin to official clients by @anonrig in #1102
- Update web platform tests (url) by @anonrig in #1103
- fuzz: improve coverage with new serializers target and stronger invariant checks by @anonrig in #1104
- update ada-idna to 0.5.0 by @anonrig in #1105
- Update web platform tests (url) by @anonrig in #1107
- Update web platform tests (url) by @anonrig in #1108
- Fix undefined behavior in verify_dns_length for empty input by @metsw24-max in #1109
- Bump jidicula/clang-format-action from 4.16.0 to 4.18.0 by @dependabot[bot] in #1117
- Bump actions/setup-node from 6.2.0 to 6.3.0 by @dependabot[bot] in #1116
- Bump github/codeql-action from 4.32.4 to 4.35.1 by @dependabot[bot] in #1115
- Bump codecov/codecov-action from 5.4.3 to 6.0.0 by @dependabot[bot] in #1114
- Bump pygithub from 2.8.1 to 2.9.0 in /tools/release by @dependabot[bot] in #1113
- Bump actions/dependency-review-action from 4.8.3 to 4.9.0 by @dependabot[bot] in #1112
- optimize url::can_parse method by @anonrig in #1106
- Harden URL component offset updates by eliminating unsigned wraparound by @metsw24-max in #1123
- Enforce max input length to the Ada URL parser by @lemire in #1126
- Update web platform tests (url) by @anonrig in #1129
- Bump peter-evans/create-pull-request from 8.1.0 to 8.1.1 by @dependabot[bot] in #1134
- Bump actions/upload-artifact from 7.0.0 to 7.0.1 by @dependabot[bot] in #1135
- Bump uraimo/run-on-arch-action from 3.0.1 to 3.1.0 by @dependabot[bot] in #1133
- Bump github/codeql-action from 4.35.1 to 4.35.2 by @dependabot[bot] in #1132
- Bump pygithub from 2.9.0 to 2.9.1 in /tools/release by @dependabot[bot] in #1131
- Bump pytest from 9.0.2 to 9.0.3 in /tools/release by @dependabot[bot] in #1128
- incomplete IDNA Bidi validation allowing invalid LTR labels with disallowed trailing code points by @jmestwa-coder in #1136
- Fix set_protocol slow-path return consistency by @metsw24-max in #1139
- fix clang-tidy issues by @anonrig in #1140
- updating idna to 0.5.2 by @lemire in #1141
- fix(docs): remove bazel docs by @simonla in #1143
- Fix URLPattern tokenizer to prevent DoS on malformed UTF-8 by @metsw24-max in #1125
- Bump actions/setup-node from 6.3.0 to 6.4.0 by @dependabot[bot] in #1130
- enforce bidi first-character rule in is_label_valid by @metsw24-max in #1145
- Clarify borrowed ada_string lifetime and add owned host accessor by @rootvector2 in #1091
- update idna to version 0.5.4 by @lemire in #1147
- emit nullopt for unmatched groups in std_regex_provider::regex_search by @metsw24-max in #1148
- syncing idna to 0.5.5 by @lemire in #1149
- Bump peaceiris/actions-gh-pages from 4.0.0 to 4.1.0 by @dependabot[bot] in #1151
- Bump github/codeql-action from 4.35.2 to 4.36.0 by @dependabot[bot] in #1152
- Bump mymindstorm/setup-emsdk from 14 to 16 by @dependabot[bot] in #1153
- Remove the Nim wrapper from the README by @xTrayambak in #1155
- Sync url and urlpattern test data from web-platform-tests. by @watilde in #1158
- Bump actions/checkout from 6.0.2 to 7.0.0 by @dependabot[bot] in #1162
- Bump github/codeql-action/autobuild from 4.36.0 to 4.36.2 by @dependabot[bot] in #1160
- Bump codecov/codecov-action from 6.0.0 to 7.0.0 by @dependabot[bot] in #1159
- Bump actions/dependency-review-action from 4.9.0 to 5.0.0 by @dependabot[bot] in #1154
- ci: build Windows MSVC with Visual Studio 2026 and CMake 4.2 by @anonrig in #1165
- Bump actions/setup-python from 6.2.0 to 6.3.0 by @dependabot[bot] in #1163
- keep explicit port 0 when set_protocol targets a non-special scheme by @Arawoof06 in #1166
- fix canonicalize_hostname fast path skipping ipv4 and idna by @Arawoof06 in #1167
- fix: normalized Windows drive letter must be exactly two code points by @spokodev in #1156
- fix: set empty host on a non-special URL without an authority by @spokodev in #1157
- normalize leading-zero ports in canonicalize_port by @Arawoof06 in #1168
- Bump pytest from 9.0.3 to 9.1.1 in /tools/release by @dependabot[bot] in #1161
- roll back set_host_or_hostname fully when host parse fails by @Arawoof06 in #1169
- keep query and fragment delimiter in canonicalize search and hash by @Arawoof06 in #1171
- Remove Stars section from README by @lemire in #1173
- update ada-idna to v0.6.0 by @anonrig in #1176
- Update web platform tests (url) by @anonrig in #1137
- percent-encode ? and # in url pattern canonicalize_pathname by @Arawoof06 in #1172
- fuzz: migrate ada_c harness to C++ amalgamation by @anonrig in #1177
- perf: speed up url_search_params form-urlencoded decoding by @anonrig in #1178
- perf: speed up absolute http(s) parse for url and url_aggregator by @anonrig in #1175
- delete dash-dot in set_host colon path when host has a port by @Arawoof06 in #1181
- update ada-idna: compress tables, safety, and perf by @anonrig in #1180
- perf: share and speed up IPv4/IPv6 host parsers by @anonrig in #1179
- let us give some directions to AI agents by @lemire in #1183
- Update web platform tests (url) by @anonrig in #1184
- bound hex ipv4 number by value not digit count in parse_ipv4_number by @Arawoof06 in #1185
- fix: avoid out-of-bounds read on empty input in is_ipv4 by @Arawoof06 in #1182
- fix no scheme state accepting any input containing a fragment by @Arawoof06 in #1186
- reject unterminated group in url pattern constructor string parser by @Arawoof06 in #1187
- report capture groups for empty input in regex_search by @Arawoof06 in #1188
- keep braces around a prefixed part in generate_pattern_string by @Arawoof06 in #1191
- treat file as a special scheme in url pattern protocol check by @Arawoof06 in #1190
- account for idna expansion in can_parse size shortcut by @Arawoof06 in #1189
- fix: enforce max input length on href_from_file and search params by @anonrig in #1193
- chore: release v4.0.0 by @github-actions[bot] in #1194
New Contributors
- @metsw24-max made their first contribution in #1109
- @jmestwa-coder made their first contribution in #1136
- @simonla made their first contribution in #1143
- @rootvector2 made their first contribution in #1091
- @Arawoof06 made their first contribution in #1166
- @spokodev made their first contribution in #1156
Full Changelog: v3.4.4...v4.0.0