alexbol99 / flatten-js

Javascript library for 2d geometry
MIT License
551 stars 58 forks source link

breaking change between compatible semantic versioning releases 1.4.8 and 1.5.0 #169

Closed danielweck closed 6 months ago

danielweck commented 6 months ago

Hello, first of all thank you for this open source project, much appreciated :)

That being said, updating from v1.4.8 to v1.5.0 is an API breaking change due to the introduction of getters (for example Edge isSegment).

Because this library is a transitive dependency in my project, I only noticed the fatal bug during testing a specific feature at runtime (no compile-time errors).

Next time, would you mind following semantic versioning rules, otherwise I will have to force a fixed version to avoid future hard-to-detect breakage :)

Thank you!

https://github.com/alexbol99/flatten-js/compare/v1.4.8...v1.5.0#diff-90d4e4b029ddc84285ff7e80e5384abfe8b40171b14ce635fd2d56270004ca71

alexbol99 commented 6 months ago

Hello @danielweck ,

Thank you for your appreciation of my humble efforts. I apologize for making you troubles with unintentional breaking changes Actually I did not assume that someone use these functions (isSegment, isArc), they are not documented (although there are typed)

Best regards

danielweck commented 6 months ago

thank you for replying :) I use these functions in a few places, notably in my re-implementation of your polygon "offset" algorithm ;) I needed to test and tweak a few things, mostly learning the right way to handle CCW and CW inconsistencies, dealing with "holes" inside shapes, etc. ... nothing worth feeding back upstream into your original project.