-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
IDE wants to update to Version 6 beta #787
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Solution: add a .development file to v5's root. |
Hi, I understand that the update notification is annoying, but I don't have a better solution. People have been asking for new features, and the only way I could deliver them was through a different API. Breaking changes are a pain in the ass, so I want to bundle them in a big v5 to v6 transition. I want to make sure that all breaking changes are behind before inviting everyone to switch to the new API, hence the "beta" suffix. I understand that you would prefer that the beta would not be available through the library manager; but if I do that, nobody will provide any feedback on the new version. This feedback is crucial to understand how people use (or misuse) the library to see how I can improve their experience in the long run. I firmly believe in the virtues of "release early / release often" principle in producing the best possible software, and this is what is happening here. Curiously, the Arduino Library Manager requires library developers to respect semantic versioning (as I do) but ignores it completely when it comes to update notification. Indeed, we could expect that upgrading 5.13.2 to 6.2.3-beta should be flagged as rather risky and therefore should not be suggested as an automatic update. Hopefully, this feature will happen someday because all libraries are bound to evolve and to make some breaking changes too. That means that for a few months, you'll have to ignore the notification or disable it entirely. Another option is to uninstall ArduinoJson and download the single header distribution instead. This solution allows using different versions for multiple projects. Thank you for your understanding. Regards, |
I get what you're saying but I don't completely agree. Any user suitable for beta testing should have no problem doing a manual installation of this library, especially if you provide some instructions in the documentation.
That would defeat your use of Library Manager to get more beta testers.
This is something I've been thinking about for a while and had it on my "to-do" list to open a feature request. I've now done so: https://github.com/arduino/Arduino/issues/7837. I welcome any feedback on that proposal |
Benoit,
Thank you for your quick response. Also, please accept my compliments for
your excellent book "Mastering ArduinoJson".
I understand that you are trying to get feedback for the v6 betas but I
think you are sending a conflicting message. I sell a display kit that uses
ArduinoJson. The buyers of my kit do not know anything about ArduinoJson
and are unlikely to provide you with any feedback. I write the code using
v5.13.2, but I will have to instruct my users to download that version and
ignore the IDE messages to update. I would like to use v6 but you say
the API will change so I will have a big effort to satisfy unhappy
customers if I switch to v6.
I think that you should make developers aware of the v6 betas and ask them
for feedback without bothering casual users who are happy with v5.
Thanks,
Karl Berger
https://w4krl.com/iot-kits/#remote-display_assembly
*73 Karl W4KRL*
…On Sat, Jul 28, 2018 at 9:26 AM, per1234 ***@***.***> wrote:
I understand that you would prefer that the beta would not be available
through the library manager; but if I do that, nobody will provide any
feedback on the new version.
I get what you're saying but I don't completely agree. Any user suitable
for beta testing should have no problem doing a manual installation of this
library, especially if you provide some instructions in the documentation.
should be flagged as rather risky and therefore should not be suggested as
an automatic update.
That would defeat your use of Library Manager to get more beta testers.
ignores it completely when it comes to update notification. Indeed, we
could expect that upgrading 5.13.2 to 6.2.3-beta should be flagged as
rather risky and therefore should not be suggested as an automatic update.
Hopefully, this feature will happen someday because all libraries are bound
to evolve and to make some breaking changes too.
This is something I've been thinking about for a while and had it on my
"to-do" list to open a feature request. I've now done so:
arduino/Arduino#7837 <https://github.com/arduino/Arduino/issues/7837>. I
welcome any feedback on that proposal
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#787 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AE6S9Uw2eHW9CQZN6c9CHKhKLA9SPekqks5uLGZ3gaJpZM4VhDHA>
.
|
Hi Karl, Since you embed ArduinoJson as part of a kit, I recommend that you use the single header version and distribute it with the source code. Until Arduino IDE can properly handle versioned dependencies, we will always have this problem: old programs won't work with newer libraries. It's not just a matter of 5.13 to 6.2, because we could have a similar problem from 5.13 to 5.14. For example, what if I increase the size of the library and it doesn't fit in the MCU anymore? You don't care about the new features, all that you want is to build your project as last time. We cannot ask every developer to update their program each time a library is updated, that's too much risk for a very little benefit. That's why every package manager (npm, pip, Bundler, Gradle...) attach a version with each dependency. Right now, the only solution that I found is to embed the library code within the project code. This way, you are sure that your users compile the project with the same library as you. That suits your project very well, that's why I make this recommendation (it's only problematic for libraries that use ArduinoJson, because the user may end up with several versions compiled in the same binary). PS: Thank you for buying the book, it's very encouraging; I hope genuinely you like it. Regards, |
ArduinoJson 6 finally got out of beta; it's time to close this issue. |
Using the Arduino version 1.8.5 IDE with ArduinoJson 5.13.2. Windows 10 PC. The IDE continually pops up a notification that there are library updates available. It wants to install the latest 6.x beta.
Perhaps it would be better to keep the beta off the Arduino library system until released.
The text was updated successfully, but these errors were encountered: