Skip to content

Commit 1c135a9

Browse files
committed
Boost.URL 1.91 release notes
1 parent 4a59ac5 commit 1c135a9

1 file changed

Lines changed: 25 additions & 0 deletions

File tree

release-notes/boost_1_91_0.adoc

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -304,6 +304,31 @@ This addresses issues https://github.com/boostorg/optional/issues/132[#132] and
304304
** Added `uuid_from_string` to `boost/uuid/uuid_io.hpp`.
305305
** Added a dedicated `invalid_uuid` exception class, derived from `std::runtime_error` for backward compatibility.
306306

307+
* boost_phrase:library[URL,/libs/url/]:
308+
** Features:
309+
*** All parse functions are now `constexpr` under {cpp}20, enabling compile-time URL parsing and validation (boost_gh:pr[url,976]).
310+
*** Added `get_or` for query containers, returning a default value when a key is not present (boost_gh:pr[url,953]).
311+
*** Added standalone `decode` and `decoded_size` free functions (boost_gh:pr[url,952]).
312+
*** Added user-provided `RangeRule` support for `grammar::range`, allowing custom grammar rules (boost_gh:pr[url,950]).
313+
*** Specialized `std::ranges::enable_borrowed_range` for all view types (boost_gh:pr[url,966]).
314+
*** Added EBO and default construction for `token_rule_t` (boost_gh:pr[url,964]).
315+
*** Added natvis visualizers for segments (boost_gh:pr[url,962]).
316+
** Performance:
317+
*** Internal URL offsets changed from `size_t` to `uint32_t`, reducing object size on 64-bit platforms (boost_gh:pr[url,969]).
318+
** Fixes:
319+
*** `normalize_path` ambiguity from dot-dot cancellation (boost_gh:pr[url,986]).
320+
*** `parse_query` guard for empty `string_view` inputs (boost_gh:pr[url,949]).
321+
*** `params_iter_impl::decrement()` decoded size for values containing `=` (boost_gh:pr[url,978]).
322+
*** `decode_view::remove_prefix`/`remove_suffix` assertion (boost_gh:pr[url,978]).
323+
*** `decode_view` completeness for `pct_string_view::operator*()` (boost_gh:pr[url,963]).
324+
*** Example router is now move-only (boost_gh:pr[url,959]).
325+
*** GCC false-positive `-Wmaybe-uninitialized` in `tuple_rule` (boost_gh:pr[url,981]).
326+
*** Security review by Laurel Lye Systems Engineering: three rounds of assessment, 21 confirmed fixes, public interface boundary tests and fuzz tests added (boost_gh:pr[url,982], boost_gh:pr[url,988]).
327+
** Documentation:
328+
*** Added design rationale page (boost_gh:pr[url,987]).
329+
*** Documented plus scheme convention (boost_gh:pr[url,970]).
330+
*** Removed legacy QuickBook documentation.
331+
307332
* boost_phrase:library[Variant2,/libs/variant2/]:
308333
** `holds_alternative<T>` and `get<T>` have been relaxed to no longer require `T` to occur exactly once in the list of alternatives. It now must occur at least once.
309334

0 commit comments

Comments
 (0)