elm-community / typed-svg

Typed SVG library written for Elm
BSD 3-Clause "New" or "Revised" License
59 stars 16 forks source link

BREAKING CHANGE! Hex color conversion is incorrect now... #19

Closed madasebrof closed 6 years ago

madasebrof commented 6 years ago

D'oh!

this: TypedSvg.Attributes.fill <| Fill <| Color.rgba 255 255 255 0.0 used to spit out this: fill="rgba(255, 255, 255, 0)" (which is correct - I need a transparent fill, not no fill)

Now, it generates: fill="#ffffff" (incorrect--now makse a solid white box).

I was wracking my brains to see if I'd changed a CSS file or something!

madasebrof commented 6 years ago

For now, just changed my elm-package.json to:

"elm-community/typed-svg": "2.0.0 <= v <= 2.0.0",

This is the first time an elm library change has blown up our app!

I would suggest that, in keeping with the spirit of the elm packaging system, if you make a breaking change to a library, up the version number to 3.0.0.

It may seem like a minor change (e.g. "only one line of code") but it is a breaking change for anyone using the library, e.g. SVG fills no longer supporting transparency is a big deal.

ps at the same time, thanks for making this package! It's great!

😄

rupertlssmith commented 6 years ago

Sorry about that, I did not think it was a breaking change just going by the automatically enforced API rules, but I should have considered that more deeply. I think the best course of action would be to revert the change, push out a 2.0.2 release (which matches 2.0.0), and then carry the patch forward as a potential one for 3.0.0.

Note that rgba(255, 255, 255, 0) is not valid SVG 1.1, but seems to be an accepted by most browsers as it is valid CSS. I will re-open the issue (or create a new ticket) to discuss the best solution for handling Color.rgba with transparency.

rupertlssmith commented 6 years ago

Reverted the patch.

madasebrof commented 6 years ago

Awesome, thanks!!!