Closed JKRhb closed 2 years ago
Regarding the question of breaking changes, I noticed that #293 actually introduces one minor API change: the global agents cannot be replaced directly anymore due to some apparent restrictions in typescript. I introduced two setter functions instead.
I would therefore suggest that all of the changes until #293 go into a last 0.x.x minor release while #293 introduces version 1.0.0. Do you think this sounds reasonable?
@JKRhb Did you mean to reference 293 for both versions or is there another pr you are talking about?
I don't really see any reason why we can't go to a version 1.0.0, I guess it depends on how strict we'd like to follow semver From the spec https://semver.org/#spec-item-4 Major version zero (0.y.z) is for initial development. Anything MAY change at any time. The public API SHOULD NOT be considered stable.
Are we considering that node-coap is truly in a stable state? I use it in production at my company and suggest it to customers using it as a template for training for coap and how it works.
@JKRhb Did you mean to reference 293 for both versions or is there another pr you are talking about?
Oh, sorry, I meant everything before #293 could go into a minor release while #293 itself would start 1.y.z. This way the (minor) API change could be separated from the non-breaking additions. If this approach makes sense I would open a PR to update the changelog and prepare a 0.26.0 release soon :) After that we could merge #293 and release 1.0.0.
I don't really see any reason why we can't go to a version 1.0.0, I guess it depends on how strict we'd like to follow semver From the spec https://semver.org/#spec-item-4 Major version zero (0.y.z) is for initial development. Anything MAY change at any time. The public API SHOULD NOT be considered stable.
Are we considering that node-coap is truly in a stable state? I use it in production at my company and suggest it to customers using it as a template for training for coap and how it works.
I also think by now it should be relatively stable. Something like DTLS is of course an important feature that is still missing at the moment as well as a implementations for a number of other RFCs but I assume that the general API won't change that much in the future. After the typescript migration there should also be an additional guarantee for stability at runtime further justifying the release of a 1.y.z version. So I guess we could go forward with this with a clear conscience :)
AH ok that sounds good to me!
I'll comment about the DTLS stuff in your other ticket you opened.
AH ok that sounds good to me!
Great :) I opened #307 to prepare for the release. @Apollon77 Could you also have a look and release the new version if the PR is okay for everyone?
Hey,
sorry for my absence, needed to spent a week to work after Amazon changes and this desttoyed some of my other plans. I finish one project and then I check all PRs and get back here.
Sorry for me blocking here :-(
Ingo
@Apollon77 No worries, things hadn't been fully ready yet anyway :) Hope the Amazon issue was manageable in the end :/
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs within the next 7 days. Please check if the issue is still relevant in the most current version of the adapter and tell us. Also check that all relevant details, logs and reproduction steps are included and update them if needed. Thank you for your contributions.
Ok, so I merge #307, then we publish 0.26.0 ... Then we merge #293 and do an 1.0.0 afterwards?! Right?
Ok, so I merge #307, then we publish 0.26.0 ... Then we merge #293 and do an 1.0.0 afterwards?! Right?
Yeah, sounds good :)
0.26.0 released ...
TS PR also merged, I opened one to update deps ... when we do 1.0? ;-))
should we also do 1.0 "now" or wait some days?
should we also do 1.0 "now" or wait some days?
Sorry for the late response! I think we could already go for a 1.0.0 release now... Or do you see anything that should be added first?
Ok, so to summarize ... we now remove changelog.md and move over to releases docs only right? Then we should do one last dependency check and pot update deps and then release 1.0 ... do you want then to create the release tag ... and I then release it?
do you want then to create the release tag ... and I then release it?
Sure, sounds good :) I opened #321 for the preparation of the new release. To ensure the 1.0.0
tag doesn't get lost on master
(which is one of the scenarios I thought about when I opened #318) maybe we can merge that PR with a merge commit?
Done
Done
Awesome :) I already created a release here on Github, could you publish the new version to npm?
npm release done,
btw for future : DO we also want to publish typescript files? ;-))
npm notice
npm notice 📦 coap@1.0.0
npm notice === Tarball Contents ===
npm notice 311B .eslintrc
npm notice 19.1kB dist/lib/agent.js
npm notice 2.5kB dist/lib/block.js
npm notice 3.7kB examples/blockwise_put.js
npm notice 855B examples/blockwise.js
npm notice 3.0kB dist/lib/cache.js
npm notice 363B examples/client_and_server.js
npm notice 165B examples/client.js
npm notice 1.0kB examples/delayed_response.js
npm notice 7.8kB dist/lib/helpers.js
npm notice 1.2kB dist/lib/incoming_message.js
npm notice 4.8kB dist/index.js
npm notice 988B examples/json.js
npm notice 3.3kB dist/lib/middlewares.js
npm notice 735B examples/multicast_client_server.js
npm notice 161B examples/observe_client.js
npm notice 2.0kB dist/lib/observe_read_stream.js
npm notice 449B examples/observe_server.js
npm notice 2.3kB dist/lib/observe_write_stream.js
npm notice 6.8kB dist/lib/option_converter.js
npm notice 3.1kB dist/lib/outgoing_message.js
npm notice 5.7kB dist/lib/parameters.js
npm notice 2.2kB examples/proxy.js
npm notice 554B examples/req_with_payload.js
npm notice 2.7kB dist/lib/retry_send.js
npm notice 3.4kB dist/lib/segmentation.js
npm notice 24.3kB dist/lib/server.js
npm notice 228B examples/server.js
npm notice 1.8kB dist/test.js
npm notice 1.9kB package.json
npm notice 452B tsconfig.json
npm notice 16.7kB dist/lib/agent.js.map
npm notice 2.3kB dist/lib/block.js.map
npm notice 2.3kB dist/lib/cache.js.map
npm notice 6.4kB dist/lib/helpers.js.map
npm notice 912B dist/lib/incoming_message.js.map
npm notice 2.6kB dist/index.js.map
npm notice 2.7kB dist/lib/middlewares.js.map
npm notice 1.6kB dist/lib/observe_read_stream.js.map
npm notice 2.1kB dist/lib/observe_write_stream.js.map
npm notice 5.9kB dist/lib/option_converter.js.map
npm notice 2.7kB dist/lib/outgoing_message.js.map
npm notice 2.5kB dist/lib/parameters.js.map
npm notice 2.4kB dist/lib/retry_send.js.map
npm notice 3.0kB dist/lib/segmentation.js.map
npm notice 18.7kB dist/lib/server.js.map
npm notice 1.2kB CONTRIBUTING.md
npm notice 1.2kB LICENSE.md
npm notice 25.1kB README.md
npm notice 1.4kB dist/lib/agent.d.ts
npm notice 18.6kB lib/agent.ts
npm notice 565B dist/lib/block.d.ts
npm notice 2.2kB lib/block.ts
npm notice 684B dist/lib/cache.d.ts
npm notice 2.8kB lib/cache.ts
npm notice 2.3kB dist/lib/helpers.d.ts
npm notice 7.2kB lib/helpers.ts
npm notice 706B dist/lib/incoming_message.d.ts
npm notice 1.5kB lib/incoming_message.ts
npm notice 1.2kB dist/index.d.ts
npm notice 3.3kB index.ts
npm notice 557B dist/lib/middlewares.d.ts
npm notice 3.1kB lib/middlewares.ts
npm notice 3.1kB models/models.d.ts
npm notice 523B dist/lib/observe_read_stream.d.ts
npm notice 1.9kB lib/observe_read_stream.ts
npm notice 803B dist/lib/observe_write_stream.d.ts
npm notice 2.6kB lib/observe_write_stream.ts
npm notice 721B dist/lib/option_converter.d.ts
npm notice 6.7kB lib/option_converter.ts
npm notice 1.3kB dist/lib/outgoing_message.d.ts
npm notice 3.7kB lib/outgoing_message.ts
npm notice 257B dist/lib/parameters.d.ts
npm notice 5.5kB lib/parameters.ts
npm notice 626B dist/lib/retry_send.d.ts
npm notice 2.9kB lib/retry_send.ts
npm notice 839B dist/lib/segmentation.d.ts
npm notice 3.4kB lib/segmentation.ts
npm notice 2.4kB dist/lib/server.d.ts
npm notice 25.2kB lib/server.ts
npm notice === Tarball Details ===
npm notice name: coap
npm notice version: 1.0.0
npm notice package size: 72.9 kB
npm notice unpacked size: 316.7 kB
npm notice shasum: 364b2530e2e3a9204afede46ae8729ca11287caf
npm notice integrity: sha512-oBgiz1uKYgczl[...]dTAA4sp90NImg==
npm notice total files: 80
npm notice
+ coap@1.0.0
npm release done,
🎉
btw for future : DO we also want to publish typescript files? ;-))
As there also source map files provided I think my intent by including them was to allow users of the library to jump to the original typescript source code. Not sure if that actually works already but if it does I think it is a bit nicer than jumping to a declaration file when trying to inspect the implementation of a function or class. But I think we should revisit this question when we release the next version :)
Then we can close here or?
Then we can close here or?
Yeah, I think so :)
1.0.1 done
1.0.1 done
Awesome, thank you!
Over the last few months there have been a number of changes that have been introduced to the project. Most of them have been refactoring or clean up but there are also a couple of new features (new methods and content-formats as well as preliminary Typescript support).
As the merge of #293 will probably only be able in about a week I was wondering if we should maybe already publish a new (minor) release or wait until #293 has been merged. I was also wondering if the Typescript release could be version 1.0.0 or if there are still important features missing that should be implemented first. As there haven't been any breaking API changes the TS release it could also be declared as another minor one.
What do you think, @Apollon77 and @invaderb?