Skip to content

Upgrading crass 0.2 to 1

Unknown0.2.1 → 1.0.8Security5Changed1Fixed2Other2

Fetching 9 releases from GitHub…6 / 9
UnknownUpgrade verdict

DepDelta is still reading the notes for 3 of 9 releases, so breaking changes can't be ruled out yet.

  • DepDelta is still reading the release notes in this range, so it can't rule out breaking changes yet.
  • This page updates as the notes come in.
Top 3 of 5 that need code or config changes
Security5
Fixes a tokenizer bug where a ) after an escaped backslash in a bad URL did not terminate the token, letting CSS sanitizers pass through content browsers would apply.
Fixes a high-severity denial of service where a large numeric exponent consumed excessive CPU and memory before clamping.
High
Fixes stack exhaustion and memory use from deeply nested blocks or functions by adding a configurable maximum nesting depth.
:maximum_depthSystemStackError
Fixes stack exhaustion from long runs of adjacent comments by skipping discarded comments iteratively instead of recursively.
SystemStackError
Fixes a denial of service where many non-ASCII characters caused excessive CPU use during tokenization.

Generated by DepDelta from published Ruby source. Not mixed with prose notes.

  • removed: method Crass.string()
  • changed: method Parser.consume_declarations(_ = …) → method Parser.consume_declarations(_ = …, _ = …)
  • changed: method Tokenizer.consume_string(_) → method Tokenizer.consume_string(_ = …)
  • added: const Parser.DEFAULT_MAXIMUM_DEPTH
  • added: const Tokenizer.RE_QUOTED_URL_START
  • added: const Tokenizer.RE_WHITESPACE_ANCHORED
  • added: method Parser.discard_block(_)
  • added: method Parser.parse_component_value(_ = …)
  • added: method Parser.parse_component_values(_ = …)
  • added: method Parser.parse_declaration(_ = …)
  • added: method Parser.parse_declarations(_ = …, _ = …)
  • added: method Parser.parse_rule(_ = …)
  • added: method TokenScanner.peek()
  • added: method Tokenizer.consume_comments()
  • added: property Scanner.string: reader