tiagosiebler / binance

Node.js & JavaScript SDK for Binance REST APIs & WebSockets, with TypeScript & browser support, integration tests, beautification & more.
MIT License
734 stars 265 forks source link

missing changelog #381

Closed dutu closed 6 months ago

dutu commented 6 months ago

Is there a changelog for this module? I coudn't find it.

tiagosiebler commented 6 months ago

@dutu not anymore. All changes are made via pull requests and I try to keep them descriptive of what changed, you can see a full history here: https://github.com/tiagosiebler/binance/pulls?q=is%3Apr+is%3Aclosed

Something more granular would be the commit history but that's likely too granular.

dutu commented 6 months ago

I see, It would be at least good to mark when the package version changes. Now it's difficult to figure out what changes were introduced and when. (Le't say I upgrade from "2.8.13" - it's not straightforward to figure out what PRs have meen merged since this version).

tiagosiebler commented 6 months ago

I see, It would be at least good to mark when the package version changes. Now it's difficult to figure out what changes were introduced and when. (Le't say I upgrade from "2.8.13" - it's not straightforward to figure out what PRs have meen merged since this version).

That's a very good point I seem to have neglected, thank you for that. Take another look at the closed pull requests link. I've done a quick edit to include version numbers in the PR title. If a PR does not have a version number in the title, the change was included in the next release (the next PR with a version number).

I'll make a better habit to ensure PRs include version numbers. Generally speaking, for most minor changes/fixes/improvements, these are made as patch releases (2.8.13 -> 2.8.14). If there are bigger changes, but they're still expected to be backwards compatible, I tend to make a minor release (2.8.13 -> 2.9.0).

For major changes that either could be or definitely are breaking changes to anyone using the SDK (and/or introduce a potentially different behaviour), I always make a major release (2.8.13 -> 3.0.0). That way this sets expectations on how careful any testing should be for anyone upgrading to the latest version and should avoid any surprises. It doesn't happen often, as I try to avoid breaking changes (and eventually bundle them all into one major release), but sometimes it does make sense to introduce bigger changes of this kind. Hopefully this helps.

If you haven't already, I also recommend joining the telegram community I made for like minded dev/traders: https://t.me/nodetraders

dutu commented 6 months ago

Thanks for the quick response and resolution!

I see you are adhering to Semantic Versioning which is great!

tiagosiebler commented 6 months ago

I see you are adhering to Semantic Versioning which is great!

Approximately 😅 patch releases occasionally see improvements (not just fixes), but usually nothing major and definitely nothing breaking