mirror of
https://github.com/angular/angular
synced 2026-05-24 09:28:37 +00:00
This change brings Angular largely in line with how AngularJS previously serialized URLs. This is based on RFC 3986 and resolves issues such as the above #10280 where URLs could be parsed, re-serialized, then parsed again producing a different result on the second parsing. Adjustments to be aware of in this commit: * URI fragments will now serialize the same as query strings * In the URI path or segments (portion prior to query string and/or fragment), the plus sign (`+`) and ampersand (`&`) will appear decoded * In the URL path or segments, parentheses values (`(` and `)`) will now appear percent encoded as `%28` and `%29` respectively * In the URL path or segments, semicolons will be encoded in their percent encoding `%3B` NOTE: Parentheses and semicolons denoting auxillary routes or matrix params will still appear in their decoded form -- only parentheses and semicolons used as values in a segment or key/value pair for matrix params will be encoded. While these changes are not considered breaking because applications should be decoding URLs and key/value pairs, it is possible that some unit tests will break if comparing hard-coded URLs in tests since that hard coded string will represent the old encoding. Therefore we are releasing this fix in the upcoming Angular v6 rather than adding it to a patch for v5. Fixes: #10280 PR Close #22337 |
||
|---|---|---|
| .. | ||
| utils | ||
| apply_redirects.spec.ts | ||
| bootstrap.spec.ts | ||
| BUILD.bazel | ||
| config.spec.ts | ||
| create_router_state.spec.ts | ||
| create_url_tree.spec.ts | ||
| helpers.ts | ||
| integration.spec.ts | ||
| recognize.spec.ts | ||
| regression_integration.spec.ts | ||
| router.spec.ts | ||
| router_preloader.spec.ts | ||
| router_state.spec.ts | ||
| shared.spec.ts | ||
| spy_ng_module_factory_loader.spec.ts | ||
| url_serializer.spec.ts | ||
| url_tree.spec.ts | ||