Skip to content

Latest commit

 

History

History
281 lines (185 loc) · 12.2 KB

CHANGELOG.md

File metadata and controls

281 lines (185 loc) · 12.2 KB

Changelog

Bolded items in the log are breaking changes. Starting with v17, typical end users do not depend on SDT, their UI libraries do, at those libraries' compile time only. So, "breaking changes" are not necessarily breaking to end users anymore.

As an end user, the only breaking chages you care about in this log are renamings or codec changes.

v18.1.0 – May 2024

  • New: Support for Touch events (Thanks, @felher!)
  • Fix: fuchsia color spelling
  • Build: Bump versions incl. Scala.js to 1.16.0

v18.0.0 – Dec 2023

  • New: Output alias links in generated docs
  • New: Better doc link formatting in generator output
  • New: scroll-margin-top CSS property
  • New: currentcolor keyword for color props
  • New: anywhere keyword for overflow-wrap CSS property
  • New: crossorigin attribute (Thanks, @cyz1901!)
  • New: gap and column-gap

v17.1.0 – Jul 2023

  • Fix: xmlns SVG attribute should have no namespace (see Laminar#143)
  • New: tabIndex SVG attribute
  • New: selectStart and selectionChange events
  • Build: Bump Scala 3 to 3.3.0 LTS, Scala.js, etc.

v17.0.0 – Mar 2023

  • M7 milestone release promoted to final with no changes

v17.0.0-M7 – Feb 2023

  • API: Ability to customize key/name argument to builder methods
    • Switch default arg name from key to name.
    • You can override keyImplNameArgName on CanonicalGenerator to change default.
  • Naming: htmlTag -> htmlRootTag to avoid conflict with base def htmlTag implementation.

v17.0.0-M6 – Feb 2023

  • Fix: Move href, src, and formaction from reflected attributes to regular attributes (#95)
  • Naming: name -> nameAttr
  • Build: Version increment helper for local development

v17.0.0-M5 – Jan 2023

Fix: Escape html tags in scaladoc (Thanks, @armanbilge!)

v17.0.0-M4 – Jan 2023

  • New: Support Scala access modifiers for generated traits (Thanks, @armanbilge!)
  • Fix: Wait for file write to flush before returning
  • Fix: SVG xmlns attribute namespace

v17.0.0-M3 – Jan 2023

  • API: Bring back color keywords that were removed in 17.0.0-M1.

v17.0.0-M2 – Jan 2023

  • API: Return file object from def writeToFile (Thanks, @armanbilge!)

v17.0.0-M1 – Jan 2023

  • API: Complete refactor of the whole library to provide the types via code generation instead of via hardcoded traits. See the new README for details.

  • New: isolation and mixBlendMode style props

  • New: dialogTag HTML tag

  • Tag naming: html -> htmlTag, time -> timeTag, and many other tags now have a "Tag" suffix in their name by default.

    • Note that with the new code generation tools, you can undo / customize these changes for your library.

v0.16.0-RC2 – Jan 2022

  • Note: version 0.16.0 will NOT be released. This branch of development continues in 17.0.0-M1.
  • API: Remove canonical implementations of various builders, as well as concreate types like Tag, Element, HtmlAttr, Modifier, etc.
    • Moved them to test fixtures since there is essentially no benefit for otherwise incompatible UI libraries to share these exact types.
    • Library authors: copy-paste any of the removed code that you need into your own project.
  • API: Complete rework of CSS Styles
    • Library authors: as a migration guide, see example diff from Laminar referenced in #75
  • Naming: content style prop is renamed to contentCss to avoid using a common name
  • Naming: cssWait value for CSS cursor property renamed to waitCss for consistency.
    • (wait is an unrelated final method on Java objects, so we can't use that name)
  • Build: Bump to Scala 3 version to 3.1.0 and scala-js-dom to 2.1.0
  • New: download reflected attribute (thanks, @ioleo!)
  • New: labelAttr reflected attribute (for optgroup elements)
  • New: VendorPrefixes object with string constants

v0.15.1 – Nov 2021

  • New: Add inputMode reflected attribute (thanks, @Lasering!)

v0.15.0 – Nov 2021

  • Build: Upgrade scala-js-dom to 2.0.0 (thanks, @armanbilge!)
  • Fix: Typo in attribute name: feTurbulance -> feTurbulence (thanks, @deterdw!)

v0.14.3 – Apr 2021

  • Build: Publish for Scala 3.0.0-RC3
    • ETA May 2021: And Scala 3.0.0 now that it's released
  • Misc: Add svg namespace to SvgNamespaces (not used)

v0.14.2 – Apr 2021

  • Build: Publish for Scala 3.0.0-RC2
  • Fix: Specify correct namespace for xmlns SVG attribute

v0.14.1 – Mar 2021

  • Build: Use mapSourceURI option to point source maps to github (thanks, @ajablonski!).
    • This should make source maps usable, I think.
  • New: AsIsCodec.apply convenience method

v0.14.0 – Feb 2021

  • Build: Support Scala 3.0.0-RC1, bump Scala.js requirement to 1.5.0

v0.13.0 – Feb 2021

  • API: CSS Styles now have a single name instead of name (camelCased) and cssName (kebab-cased).
    • The new name is kebab-cased just like cssName before it.
    • To migrate, first make sure you're not using the style's old name, then convert usages of the old cssName to name, and adjust various style-related overriden methods and constructor calls to only accept one name param.
    • As far as I can tell, the camelCased version of CSS property names is not actually used in native JS APIs, so you should have no use for the old name.

v0.12.1 – Feb 2021

  • Build: Downgrade to Scala.js 1.1.0 to work around this issue.
  • Build: Temporarily drop Scala 3 (due to Scala.js downgrade)
  • These changes will be undone in a future version. There is no reason to upgrade to 0.12.1 unless you are facing the same bug.

v0.12.0 – Jan 2021

  • API: Remove EventProp#domName
    • Event names don't need lowercasing, which is what domName does. Event names are case sensitive, and this actually breaks custom Web Component events.
  • New: Add SVG <a> element, and href & target SVG attributes
    • Same as HTML <a> element, but for SVGs.
    • Breaking because this adds a type param to trait SvgTags
  • Build: Initial Scala 3.0.0-RC1-nightly support (thanks, @yurique!)

v0.11.0 – Jan 2021

  • New: CSS animation events (thanks, @nghuuphuoc!)
    • Breaking change: added type param to MiscellaneousEventProps.scala
  • New: CSS transition events (thanks, @ajaychandran!)
  • New: fullscreen events (thanks, @nghuuphuoc!)

v0.10.2 – Dec 2020

  • New: loadingAttr reflected attribute (for images)
  • Build: bump Scala and sbt versions

v0.10.1 – Aug 2020

  • New: slot reflected attribute (for Web Components)

v0.10.0 – Mar 2020

  • Build: this release is Scala.js 1.x only
  • Build: Upgrade to scala-js-dom 1.0.0
    • This version removes types that were previously deprecated
    • Removed a couple type params from GroupingTags and TableTags, see diff
  • Naming: id -> idAttr, min -> minAttr, max -> maxAttr, step -> stepAttr, offset -> offsetAttr, result -> resultAttr
  • Naming: link -> linkTag, param -> paramTag, map -> mapTag, object -> objectTag

v0.9.7 – Mar 2020

  • Build: Add Scala.js 1.0.0 support (thanks, @lolgab!)
    • This is the last release that supports Scala.js 0.6.x

v0.9.6 – Nov 2019

  • Fix: svg attribute typo: mak -> mask (thanks, @weihsiu!)

v0.9.5 – Aug 2019

v0.9.4 – Feb 2019

  • Fix: flexWrap.wrapReverse CSS name (thanks, @fdietze!)

v0.9.3 – Jan 2019

  • New: Pointer Events, TypedTargetPointerEvent (thanks, @Busti!)

v0.9.2 – Nov 2018

  • Fix: justifyContent.end

v0.9.1 – Oct 2018

  • New: Add DOMContentLoaded document event

v0.9 – Sep 2018

  • API: AriaAttrs now exposes attributes as members, without aria object
  • API: Move cls, className, rel, role, and styleAttr into new ComplexHtmlKeys and ComplexSvgKeys traits, allowing for more freedom to define these keys in non-standard ways. Use CanonicalComplexHtmlKeys and CanonicalComplexSvgKeys to retain v0.8.1 functionality
  • API: Remove textContent property. See discussion in #41 and #43
  • API: Remove classNames reflected attribute. You can define it locally or use the new ComplexHtmlKeys functionality to get the desired API

v0.8.1 – Sep 2018

  • Fix: span, fontSizeAdjust, listStyleImage.none should be lazy vals, not defs

v0.8 – Aug 2018

  • New: Add namespace param to SvgAttr
  • Naming: xlink -> xlinkRole to match native attribute name
  • Naming: Add Html to various traits that deal with HTML attributes

v0.7.1 – Jul 2018

  • Fix: autocomplete is now a string attribute (#33)

v0.7 – Apr 2018

  • API: Better separation of HTML/SVG tags and attributes
  • Naming: el -> element in Modifier.apply
  • Upgrade Scala.js and other build dependencies

v0.6 – Apr 2018

  • New: SVG Support (see README). Some type params now require types T <: dom.html.Element instead of T <: dom.Element.
  • API: Element no longer has tagName and void members, instead it now has one tag member
  • Naming: tagName -> name in Tag
  • API: Make Modifier.apply non-abstract to prevent SAM sugar

Includes SVG contributions from @doofin. Thanks!

v0.5 – Dec 2017

  • API: Introduce TypedTargetMouseEvent and TypedTargetFocusEvent
  • API: Change type params related to TypedTargetEvent in generic MouseEventProps and FormEventProps traits

v0.4.2 – Dec 2017

v0.4.1 – Nov 2017

  • New: Add missing onMouseLeave and onMouseEnter event props

Thanks, @mariusmuja!

v0.4 – Nov 2017

Summary: More precise event types, especially for input and form events

  • Docs: Explain the difficulty of properly typing input events in README
  • New: More specific types for FormEventProps, introduce TypedTargetEvent
  • New: More specific event types: DomFocusEvent, DomDragEvent, PageTransitionEvent, etc.
  • New: aggregated eventProp traits like GlobalEventProps
  • API: Protect builder methods like AttrBuilder.attr
  • API: Make Tag a class, remove Tag.build method
  • Fix: A bunch of Error & Window events had incorrect JS string names ("onerror" vs "error")
  • Naming: WindowEventProps -> WindowOnlyEventProps
  • Build: add Travis CI badge, improve build.sbt
  • Misc: Bring back cls and tpe attribute aliases

Includes contributions from @cornerman. Thanks!

v0.3 – Nov 2017

Summary: API and documentation improvements, support usage from Outwatch

  • New: Add Changelog and Contribution guide
  • New: Documentation and Design Goals sections in README, add detail to Scaladoc comments
  • New: Introduce Reflected Attributes
  • New: Introduce Codecs (replace BooleanAttr)
  • New: Implement Canonical Builders
  • New: Add CompileTest
  • New: Allow all listings to be joined in one bundle
  • New: Provide improved API for value, checked, selected attributes
  • Fix: Add, rename, reorganize & fix the types of many attributes / props / etc.
  • Fix: Properly mark void tags

v0.1, v0.1.1, v0.1.2, v0.1.3, v0.2, v0.2.1

Summary: Genesis. Archaeological adventurers, see git commit messages.