0.14.4 - 2024-12-27
- Bump MSRV to
1.71.1.
0.14.3 - 2024-11-14
- Prioritize
!importantrules when computing element styles. #398
0.14.2 - 2024-11-11
- Bump MSRV to
1.70.
- Replace double quotes when merging styles. #392
0.14.1 - 2024-04-27
- Precedence of element styles over other styles. #364
0.14.0 - 2024-04-01
- Update
html5everto0.27. - Update
rayonto1.10.
0.13.0 - 2024-01-19
- A way to customize resolving remote stylesheets.
- Support for the
data-css-inline="keep"attribute to enforce keeping thestyletag.
- Replace
attohttpcwithreqwestto simplify implementing non-blocking stylesheet resolving in the future release.
- Lookups for previous / next siblings, affecting selectors like
nth-child. #324
- Avoid using binary search on attributes.
0.12.0 - 2023-12-28
- Display stylesheet location in network-related errors.
- Implement
std::error::Error::sourceforInlineError.
- Optimize serialization of attributes and text nodes.
0.11.2 - 2023-12-09
- Avoid iterating over non-Element nodes.
- Reuse caches for nth index selectors.
0.11.1 - 2023-12-04
- Update
indexmapto2.1. - Update
cssparserto0.31.2. - Update
selectorsto0.25. - Bump MSRV to
1.65.
- Replace double quotes in all property values.
- Avoid allocation when replacing double quotes in property values.
0.11.0 - 2023-09-26
- The
inline_style_tagsoption to control whether inlining from "style" tags should be performed. #253
- Reuse existing attributes when creating an element during parsing.
- Bump MSRV to
1.63.
0.10.5 - 2023-08-30
- Pre-allocate space during serialization.
- Optimized
classattribute handling: up to 25% faster for extensive class-dependent selectors. - Fast-path class check for shorter class attribute values.
- Use a Bloom filter to detect if an element has no given class.
- Avoid allocating a vector during selectors compilation.
- Use
FxHasherin more cases.
- Drop usage of
memchr. - Bump MSRV to
1.62.1.
0.10.4 - 2023-08-12
- Applying new styles only to the first matching tag during styles merging. #224
- Fix under-allocating storage for intermediate CSS styles.
- Perform CSS inlining as late as possible to avoid intermediate allocations. #220
0.10.3 - 2023-07-01
- Optimized HTML serialization for a performance boost of up to 25%.
0.10.2 - 2023-06-25
- Standardized the formatting of CSS declarations: now consistently using
:separator between properties and values.
- Various performance improvements.
0.10.1 - 2023-06-18
- Use a simpler way for HTML tree traversal.
- Avoid hashing in some cases.
0.10.0 - 2023-06-16
keep_link_tagsconfiguration option.
- Replace
remove_style_tagswithkeep_style_tags.
- SECURITY: Passing unescaped strings in attribute values introduced in #184. Previously, escaped values became unescaped on the serialization step.
- The
inline_style_tagsconfiguration option.
0.9.0 - 2023-06-10
- Serialize all HTML attributes without escaping. #184
- Replaced the
kuchikicrate with our custom-built HTML tree representation. #176
- 30-50% average performance improvement due switch to a custom-built HTML tree representation and serializer.
0.8.5 - 2022-11-10
--output-filename-prefixCLI option to control the output files prefix.- Support for the
file://URI scheme inbase_url. #171
- Return
1exit code if any of the input files were not processed successfully via CLI.
0.8.4 - 2022-11-02
data-css-inline="ignore"attribute to ignore CSS inlining. #10
0.8.3 - 2022-10-20
- Ignoring selectors' specificity when applying declarations from different qualified rules. #148
0.8.2 - 2022-07-21
- New
http&filefeatures which give a way to disable resolving external stylesheets and reduce the compiled artifacts size.
!importantrules not overriding inlined styles. #152
0.8.1 - 2022-04-01
- Not respecting specificity in case of inlining overlapping rules like
paddingandpadding-top. #142
- Pre-allocate more memory for output HTML to avoid resizing.
0.8.0 - 2022-01-09
- Separate
InlineError::MissingStyleSheeterror variant to improve debugging experience. #124
0.7.6 - 2022-01-08
- Invalid handling of double-quoted property values like in
font-family: "Open Sans". #129
- Use
std::fs::read_to_stringin CLI to avoid over/under allocating of the input buffer.
0.7.5 - 2021-07-24
- Panic on invalid URLs for remote stylesheets.
0.7.4 - 2021-07-06
- Update
rayonto1.5.
- Optimize loading of external files.
0.7.3 - 2021-06-24
- Avoid allocations in error formatting.
0.7.2 - 2021-06-22
- Incorrect override of exiting
styleattribute values. #113
- Use specialized
to_stringimplementation on&&str. - Use
ahash.
0.7.1 - 2021-06-10
- Ignored
styletags when the document contains multiple of them and theremove_style_tags: trueconfig option is used. #110
0.7.0 - 2021-06-09
- Ignored selectors specificity. #108
0.6.1 - 2020-12-07
- Compatibility with the new
cssparsercrate version.
- Avoid string allocations during converting
ParseErrortoInlineError.
0.6.0 - 2020-11-02
- Links to remote stylesheets are deduplicated now.
- Wrong inlined file prefixes handling in CLI. #89
- Use
Formatter.write_strinstead ofwrite!macro in theDisplaytrait implementation forInlineError. #85 - Use
Cowfor error messages. #87
0.5.0 - 2020-08-07
CSSInliner::options()that implements the Builder pattern. #71
- Restrict visibility of items in
parser.rs
- Avoid string allocation in
get_full_url
0.4.0 - 2020-07-13
- Switch from
openssltorustlsinattohttpcdependency. #49
- Use
codegen-units=1andlto=fat. - Reduce the number of allocations in CLI.
- Avoid CLI output formatting when it is not needed.
0.3.3 - 2020-07-07
- Pre-allocate the output vector.
- Minor improvement for creating new files via CLI.
- Reduce the average number of allocations during styles merge by a factor of 5.5x.
0.3.2 - 2020-06-27
- Remove debug symbols from the release build
- Reduce the number of
Stringallocations. - Avoid
BTreeMap::insertwhenstyleattribute already exists
0.3.1 - 2020-06-25
- Fix links in docs
0.3.0 - 2020-06-25
- Command Line Interface. #33
0.2.0 - 2020-06-25
CSSInlinerand customization options. #9- Option to remove "style" tags (
remove_style_tags). Disabled by default. #11 CSSInliner::compact()constructor for producing smaller HTML output.CSSInliner.inline_tothat writes the output to a generic writer. #24- Implement
ErrorforInlineError. - Loading external stylesheets. #8
- Option to control whether remote stylesheets should be loaded (
load_remote_stylesheets). Enabled by default.
- Improved error messages. #27
- Skip selectors that can't be parsed.
- Ignore
@mediaqueries since they can not be inlined. #7 - Panic in cases when styles are applied to the currently processed "link" tags.
- Improve performance for merging new styles in existing "style" attributes.
- Initial public release