1
0
mirror of https://github.com/fafhrd91/actix-web synced 2024-11-23 16:21:06 +01:00
actix-web/actix-router/CHANGES.md
LoveSy c10f05a867
Add unicode feature to switch between regex and regex-lite crates as a trade-off between full unicode support and binary size (#3291)
* - Add `unicode` feature to switch between `regex` and `regex-lite`

as a trade-off between full unicode support and binary size.

* Update CHANGES.md

* Update CHANGES.md

* refactor: move regexset code selection to own module

* docs: add docs within RegexSet module

* chore: restore manifests

* test: ensure all actix-router codepaths are tested

---------

Co-authored-by: Rob Ede <robjtede@icloud.com>
2024-03-03 15:50:16 +00:00

9.9 KiB

Changes

Unreleased

  • Add unicode crate feature (on-by-default) to switch between regex and regex-lite as a trade-off between full unicode support and binary size.
  • Minimum supported Rust version (MSRV) is now 1.72.

0.5.2

  • Minimum supported Rust version (MSRV) is now 1.68 due to transitive time dependency.

0.5.1

  • Correct typo in error string for i32 deserialization. #2876
  • Minimum supported Rust version (MSRV) is now 1.59 due to transitive time dependency.

0.5.0

Added

  • Add Path::as_str. #2590
  • Add ResourceDef::set_name. #373
  • Add RouterBuilder::push. #2612
  • Implement IntoPatterns for bytestring::ByteString. #372
  • Introduce ResourceDef::join. #380
  • Introduce ResourceDef::pattern_iter to get an iterator over all patterns in a multi-pattern resource. #373
  • Resource is now implemented for &mut Path<_> and RefMut<Path<_>>. #2568
  • Support build_resource_path on multi-pattern resources. #2356
  • Support multi-pattern prefixes and joins. #2356

Changed

  • Change signature of ResourceDef::capture_match_info_fn to remove user_data parameter. #2612
  • Deprecate Path::path. #2590
  • Disallow prefix routes with tail segments. #379
  • Enforce path separators on dynamic prefixes. #378
  • Minimum supported Rust version (MSRV) is now 1.54.
  • Prefix segments now always end with with a segment delimiter or end-of-input. #2355
  • Prefix segments with trailing slashes define a trailing empty segment. #2355
  • Quoter::requote now returns Option<Vec<u8>>. #2613
  • Re-work IntoPatterns trait, adding a Patterns enum. #372
  • Rename Path::{len => segment_count} to be more descriptive of its purpose. #370
  • Rename ResourceDef::{is_prefix_match => find_match}. #373
  • Rename ResourceDef::{match_path => capture_match_info}. #373
  • Rename ResourceDef::{match_path_checked => capture_match_info_fn}. #373
  • Rename ResourceDef::{resource_path => resource_path_from_iter}. #371
  • Rename ResourceDef::{resource_path_named => resource_path_from_map}. #371
  • Rename Router::{*_checked => *_fn}. #373
  • Replace Option<U> with U in Router API. #2612
  • Resource trait now uses an associated type, Path, instead of a generic parameter. #2568
  • ResourceDef::pattern now returns the first pattern in multi-pattern resources. #2356
  • ResourceDef::resource_path_from_iter now takes an IntoIterator. #373
  • Return type of ResourceDef::name is now Option<&str>. #373
  • Return type of ResourceDef::pattern is now Option<&str>. #373

Fixed

  • Fix ResourceDef's PartialEq implementation. #373
  • Fix segment interpolation leaving Path in unintended state after matching. #368
  • Improve malformed path error message. #384
  • PathDeserializer now decodes all percent encoded characters in dynamic segments. #2566
  • Relax bounds on Router::recognize* and ResourceDef::capture_match_info. #2612
  • Static patterns in multi-patterns are no longer interpreted as regex. #366

Removed

  • ResourceDef::name_mut. #373
  • Unused ResourceInfo. #2612
0.5.0 Pre-Releases

0.5.0-rc.3

  • Remove unused ResourceInfo. #2612
  • Add RouterBuilder::push. #2612
  • Change signature of ResourceDef::capture_match_info_fn to remove user_data parameter. #2612
  • Replace Option<U> with U in Router API. #2612
  • Relax bounds on Router::recognize* and ResourceDef::capture_match_info. #2612
  • Quoter::requote now returns Option<Vec<u8>>. #2613

0.5.0-rc.2

  • Add Path::as_str. #2590
  • Deprecate Path::path. #2590

0.5.0-rc.1

  • Resource trait now have an associated type, Path, instead of the generic parameter. #2568
  • Resource is now implemented for &mut Path<_> and RefMut<Path<_>>. #2568

0.5.0-beta.4

  • PathDeserializer now decodes all percent encoded characters in dynamic segments. #2566
  • Minimum supported Rust version (MSRV) is now 1.54.

0.5.0-beta.3

  • Minimum supported Rust version (MSRV) is now 1.52.

0.5.0-beta.2

  • Introduce ResourceDef::join. #380
  • Disallow prefix routes with tail segments. #379
  • Enforce path separators on dynamic prefixes. #378
  • Improve malformed path error message. #384
  • Prefix segments now always end with with a segment delimiter or end-of-input. #2355
  • Prefix segments with trailing slashes define a trailing empty segment. #2355
  • Support multi-pattern prefixes and joins. #2356
  • ResourceDef::pattern now returns the first pattern in multi-pattern resources. #2356
  • Support build_resource_path on multi-pattern resources. #2356
  • Minimum supported Rust version (MSRV) is now 1.51.

0.5.0-beta.1

  • Fix a bug in multi-patterns where static patterns are interpreted as regex. #366
  • Introduce ResourceDef::pattern_iter to get an iterator over all patterns in a multi-pattern resource. #373
  • Fix segment interpolation leaving Path in unintended state after matching. #368
  • Fix ResourceDef PartialEq implementation. #373
  • Re-work IntoPatterns trait, adding a Patterns enum. #372
  • Implement IntoPatterns for bytestring::ByteString. #372
  • Rename Path::{len => segment_count} to be more descriptive of it's purpose. #370
  • Rename ResourceDef::{resource_path => resource_path_from_iter}. #371
  • ResourceDef::resource_path_from_iter now takes an IntoIterator. #373
  • Rename ResourceDef::{resource_path_named => resource_path_from_map}. #371
  • Rename ResourceDef::{is_prefix_match => find_match}. #373
  • Rename ResourceDef::{match_path => capture_match_info}. #373
  • Rename ResourceDef::{match_path_checked => capture_match_info_fn}. #373
  • Remove ResourceDef::name_mut and introduce ResourceDef::set_name. #373
  • Rename Router::{*_checked => *_fn}. #373
  • Return type of ResourceDef::name is now Option<&str>. #373
  • Return type of ResourceDef::pattern is now Option<&str>. #373

0.4.0

  • When matching path parameters, %25 is now kept in the percent-encoded form; no longer decoded to %. #357
  • Path tail patterns now match new lines (\n) in request URL. #360
  • Fixed a safety bug where Path could return a malformed string after percent decoding. #359
  • Methods Path::{add, add_static} now take impl Into<Cow<'static, str>>. #345

0.3.0

0.2.7

  • Add Router::recognize_checked #247

0.2.6

  • Use bytestring version range compatible with Bytes v1.0. #246

0.2.5

  • Fix from_hex() method

0.2.4

  • Add ResourceDef::resource_path_named() path generation method

0.2.3

  • Add impl IntoPattern for &String

0.2.2

  • Use IntoPattern for RouterBuilder::path()

0.2.1

  • Add IntoPattern trait
  • Add multi-pattern resources

0.2.0

  • Update http to 0.2
  • Update regex to 1.3
  • Use bytestring instead of string

0.1.5

  • Remove debug prints

0.1.4

  • Fix checked resource match

0.1.3

  • Added support for remainder match (i.e "/path/{tail}*")

0.1.2

  • Export Quoter type
  • Allow to reset Path instance

0.1.1

  • Get dynamic segment by name instead of iterator.

0.1.0

  • Initial release