1.1.0 (commit log)

  • Add 9 missing attributes to Attrs.values (justifyItems, overflowAnchor, and 7 SVG attributes)
  • Deprecate unary_- on Resolution as valid resolutions can't be negative
  • Do not emit unprefixed CSS declarations for features that only exist with vendor prefixes (eg. box-reflect)
  • Emit post-render warnings for @font-face
  • Fix :/: ratio operator in DSL which inverted numerator and denominator (eg. 4 :/: 3 produced 3/4 instead of 4/3)
  • Fix .important breaking vendor prefixing on value-prefixed attributes (eg. cursor.zoomIn.important)
  • Fix 0.0.px and -0.0.px on the JVM to generate "0"
  • Fix AttrCmp.conflicts failing to find transitive/chained conflicts (eg. between marginLeft, margin, and marginRight)
  • Fix CanIUse2.agentsForPlatform failing to match mobile browser names (eg. "Firefox Mobile", "Chrome Mobile", "IE Mobile", "Opera Mini", "Opera Mobile")
  • Fix CanIUse2 value prefixing: prevent substring matches without word boundaries (eg. in URLs) from suppressing vendor prefixing, and support multi-line values
  • Fix Cond.applyToStyle: update conditions on warnings, and merge colliding conditions using Compose
  • Fix fontLanguageOverride missing from aliases
  • Fix NaturalOrdering equating distinct strings with spaces or leading zeroes (which caused stylesheet conditions to collide and overwrite each other)
  • Fix normal literal missing from DSL and Literal aliases (eg. for gap(10.px, normal))
  • Fix placeSelf defining invalid CSS values leftAuto and rightNormal
  • Fix prefixed regex matching substrings without word boundaries (eg. url(logo-o-2.png)) suppressing vendor prefixing
  • Fix ScalatagsTextRenderer HTML-escaping CSS inside <style> tags
  • Fix StringRenderer and Css.keyframes defects:
    • Emit missing semicolons between multiple styles in a keyframe selector in formatTiny
    • Merge duplicate keyframe selectors in Css.keyframes instead of overwriting earlier frames
    • Invoke fmt.done() in StringRenderer.Raw
    • Quote font names containing spaces consistently in Attrs.fontFamily(ff) and prevent double-quoting in @font-face
  • Fix styleF("name") not supporting custom domains
  • Fix StyleLookup.boolean returning Some(null) instead of None for unpopulated boolean domains
  • Fix colour literals (eg. c"#fff")
    • Accept hsl hue of 360
    • Accept rgba with percentages
    • Consistent error messages with empty strings and numbers greater than Int.MaxValue
  • Fix composing addClassNames-only styles losing class names when composed into other styles, and avoid false duplicate classname warnings
  • Fix composite pseudo-class equality and ordering (eg. &.hover.focus == &.focus.hover)
  • Fix CSS string escaping in content.string (use 6-digit hex escapes, support surrogate pairs, and escape newlines/control characters)
  • Fix false conflicts between orthogonal CSS logical properties (eg. blockSize and inlineSize, or marginBlockStart and marginBlockEnd)
  • Fix invalid vendor value transforms on textAlign, resize, float, clear, and captionSide, and vendor-prefix width.available
  • Fix media query composition: add .or and .and on Media.Query (deprecating &), and merge nested media queries with and instead of ,
  • Fix microseconds and nanoseconds being rendered as 0ms
  • Fix registration warnings dropped for styles inside keyframes, unsafeChild, unsafeRoot, and StyleSheet.Standalone
  • Fix style composition (Compose): prevent premature exact-match removal from masking conflicts, eliminate self-conflicts within operands, and preserve declaration order
  • Fix thread-safety in Register.registerFontFace, internal.memo, and NameGen.nextShortPrefix
  • Fix wrong CanIUse subjects on overscrollBehavior (used overflowAnchor) and rowGap (used multicolumn)
  • In Scala.js, use PlatformJsEnv in Platform.env to detect browser platform instead of always using Env.empty
  • Multiple background-clip values must be comma-separated, not space-separated
  • Only consider the last 10 versions of each browser when determining vendor prefixes
  • Optimise Scala.js output size
  • Parse addClassName/addClassNames into distinct ClassNames, fixing DOMException in ScalatagsJsDom on space-separated or empty class names
  • Reject invalid percentage values for border, outline, and columnRule
  • Support modern rgb and hsl formats in colour literals (eg. rgb(255 0 0 / 0.5))
  • The ext-scalatags module is now available for Scala 3
  • Typos in CSS
    • interface should be interlace (in media scan)
    • sSmall should be xSmall (x-small)
    • attrStartsWith should use ^= instead of |=
    • fontVariantionSettings should be fontVariationSettings
  • Update caniuse data for CSS vendor-prefixing
  • Update default prod settings to avoid generating class name _ads as some ad-blockers replace it

  • Upgrades

    • Scala 2 -> 2.13.18
    • Scala 3 -> 3.3.9
    • ScalaJsDom -> 2.8.1
    • ScalaJsReact -> 2.1.4
    • Scalatags -> 0.13.1
    • UnivEq -> 2.1.0

results matching ""

    No results matching ""