All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- API for host parsing
- Regression failures for web platform tests
- Accessor for default ports #135
- Added dependency to range-v3
- Fixes to
ascii_to_domain
with better (but not perfect) domain name validation
- API changes to host parsing and domain name accessors
- API changes to percent encoding
- Installation of targets when JSON is disabled
parse_host
to library interface
- Type of error code values used with tl::expected
- A number of parser errors
- Refactored internals and minor API functions to improve bloat, based on the results of running bloaty
skyr-url-config.cmake.in
correctly usesfind_package
- API of URL parsing and serialization functions
- Added tl::expected dependency to skyr-url-config.cmake.in
- Fixed header location for catch.hpp in unit tests
- Build scripts not consistently correctly setting compiler options
- Added clearer acknowledgements
- Refactored part of the implementation
- Added flag to control JSON dependency
- Improved division of dependencies
- Regression failures in the WPT suite
- A range type that allows iterating through elements of a path
- Some changes to the parser that avoids some copies
- A function to convert an encoded domain to Unicode
- Functions to convert a query string to and from a JSON object
- A lot more documentation
- Code style changes
- IPv4 and IPv6 address hostname accessors
- Simplified functions for percent encoding and decoding
url_record
has moved to skyr/core- Moved web platform tests out of this repository
- Fixed tests for https and file special schemes (#50)
- Version number because of failure when integrating with vcpkg
- Configuration script to allow the library to be used as a dependency with vcpkg
- Rewrote install steps
- Added .clang-tidy and applied changes
- Added support for GCC 7 on Linux
- Minor fix to the parser (#37)
- Updated the coverage of the web platform tests (#39)
- String literal operators throw exceptions now (#42)
- Minimum CMake version is 3.14
- Some build script bugs that were introduced in the last releases
- Filesystem conversions tests
- Upgraded build scripts
- URLs can be constructed using string literals, e.g.
auto url = "http://example.com"_url;
- Forced CMake to choose only C++17 standard library (i.e. no extensions)
- To build with LLVM libcxx, enable it explicitly using
cmake -DSkyr_BUILD_WITH_LLVM_LIBCXX=ON
- Added explicit copy assignment and move assignment operators
- The possibility to build the library with exceptions disabled
(
-fexception
) FindSkyr.cmake
, which allows the library to be used as a project dependency more easily- Examples and better documentation
- Uses vcpkg for dependencies
- Bugs when using
url_search_parameters
- Changed CMake scripts to make the library usable by downstream projects
- Reordered some of the internal headers
- Exposed Unicode functions in the public interface
- Fixed bug when setting the port from a string type
- Updated optional and expected to use v1.0 of each
- Changes to minor API to process percent encoding
- Fixed bug when using
url_search_parameters
- Fixes to
CMakeLists.txt
- Conversion functions between
skyr::url
andstd::filesystem::path
- Improved license attributions
- Minor API improvements
- Improved build and installation instructions in README.md
- A
skyr::url
class that implements a generic URL parser, compatible with the WhatWG URL specification - URL serialization and comparison
- Percent encoding and decoding functions
- IDNA and Punycode functions for domain name parsing