Leonidas-from-XIV / node-xml2js

XML to JavaScript object converter.
MIT License
4.88k stars 602 forks source link

New Version Release - Super Important #524

Closed knoxcard closed 5 years ago

knoxcard commented 5 years ago

When you publish a new version in package.json 0.4.20, everyone gets the updated repository, otherwise the project appears "abandoned". This is more so what @ajssd and I were trying to state here: https://github.com/Leonidas-from-XIV/node-xml2js/pull/496

Upon running npm update or yarn upgrade --latest. It will only go as far as your last version release, in this case: 0.4.19 (Aug 22, 2017 - over 2 years ago!) All those wonderful commits you've been pushing are not being pulled into local code bases until you update the release version in package.json.

This has nothing to do with dependency version upgrade bumps, it's all about pushing frequent version releases! Especially after a critical update, such as dropping support for node versions < 8.

coveralls commented 5 years ago

Coverage Status

Coverage remained the same at 97.633% when pulling 82c1fb828a8e0cfd6ebb676727de2f742bbc3fc5 on knoxcard:patch-2 into 5770685d17996706ab9b6fc63f7c177254861fec on Leonidas-from-XIV:master.

Leonidas-from-XIV commented 5 years ago

I think I did not bump it before for reasons, because bumping to the next version without releasing made little sense and it is not 100% clear what version the next release should have.

knoxcard commented 5 years ago

Gotchya, understood.

My two cents: Although, it's been two years, that looks "bad". Going forward, I'd strongly recommend waiting no longer than six months to update the version. Assuming you're already pushing commits here at least once a week or so, maybe even once a day. Don't worry about what the next release "should have", instead more so, "I've updated 50+ lines of code" or "I've made one major alteration to the Travis testing", time to update the version to "publish" it out to the world.

Did a yarn upgrade --latest just now and it didn't pull the commits from yesterday, although it will once the version is updated.

Sidenote: Just started using this library a few days ago to completely get rid of two other packages I was using for sitemap processing! Reducing the number of dependencies obviously making my platform faster, more secure and more maintainable.

Leonidas-from-XIV commented 5 years ago

Going forward, I'd strongly recommend waiting no longer than six months to update the version.

Look, I am doing this unpaid, supporting a platform I am not particularly interested in, with a low amount of contributors whose opinions I trust. Therefore I don't particularly care whether the fact it looks good or bad that I am not doing releases very often.

It seems to be helpful to people in the current state and I whenever I work on it I try to keep it being useful to people, but without implementing everything and the kitchen sink.

What you're suggesting is, no, I cannot go out and enjoy the sun, partake in other hobbies. I supposed to sit here and release a version at least every six months to keep someone happy because the numbers increase, despite it currently being in a perfectly* workable state. You state yourself that it was helpful to you, which I'm happy about. Did the fact that the current release claims Node 4 as minimal version make it any less useful? Are the low minimal versions of sax-js and xmlbuilder preventing you from implementing a feature. I am pretty sure they aren't.

I agree with you that I should make a release, if only to get @mckramer's useful and much-requested Promise API into the hands of users. I'll try to go through the existing PRs and look around what else can be incorporated and cut a release this weekend. But I would wish that you would value the time of other FOSS contributors more.

* perfectly is of course subjective, there are lots of improvements I would like to do in general to it (e.g. not have it written in CoffeeScript, the generated objects being less surprising and more faithful to the input XML) which amount to a serious amount of work I currently do not have time for.

knoxcard commented 5 years ago

It's hard to do this over the internet, lol. I modify/revise my sentences constantly to sound as politically correct as possible...my apologies for any misunderstand or misinterpretations.

"What you're suggesting is, no, I cannot go out and enjoy the sun, partake in other hobbies. I supposed to sit here and release a version at least every six months to keep someone happy because the numbers increase, despite it currently being in a perfectly* workable state"

Damn straight! (kidding), you're in demand! (not kidding) People can tell you what to do, but it's always your choice to comply :-). All I will or can do is suggest, never tell, that is just plain rude, especially when it comes to open source. That's why I always back up everything with as many valid reasons as possible too.

My major point was, recently you pushed and pulled quite a few commits, might as well change the version to publish it. No? If you had not committed those actions, no need to push a version change.

(My mindset - my assumption - my mistake) I couldn't imagine six months going by were not even one pull request, merge or commit is made to this library. If so, that's okay, nothing needs to be done. But if a considerable amount of work is done within that timeframe, why not push a version change? Yesterday I saw you merge quite a bit of changes, I just started using this library so I am unfamiliar with the update frequency, my apologies!

I know I am speaking for everyone else out there too when I say this, thanks a million bud for creating and sharing this valuable code! (5 million downloads a week speaks volumes, you know what you're doing!!)

Just bringing something to your attention, if a lot of work is done, you could change one line of code, or not. If no work is done, nothing needs to be done.

You are greatly appreciated Marek!

Leonidas-from-XIV commented 5 years ago

Anyway, a new release is out, 0.4.20 so I'm closing this PR.