-
Notifications
You must be signed in to change notification settings - Fork 13.3k
Remove SoftwareSerial as submodule #6530
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
I'm not a SoftwareSerial user, but I've been observing this vicariously. As I understand things:
So, if I understand things, it seems to me that the best way forward, allowing for SW serial updates on their own timeframe, would be for us to decouple SW serial from the core by removing the submodule from the 8266 core. Users will then be required to install it from the lib manager or their own git clone, on their own time, and at whatever latest version makes sense for them. In a nutshell
Does that sum up things and sound reasonable? I think SoftwareSerial a valuable project and want to make sure it's able to move at its own pace, with minimum friction on both side. |
That's not quite correct. Initially, swserial was implemented and maintained in a separate repo, but was packaged as part of the core during our release process. That created several problems, including the fact that the lib was missing when latest git was installed. My understanding is that it was originally packaged with our core, despite its being external to it, because it is considered too important for users. I believe it was @igrr who explained that to me, precisely because I asked about it when I installed latest git for the first time ages ago. I don't think it's a good idea to break it off from our submodules. I think it's likely that mismatches between releases will happen, which will cause more harm than good. There is another good reason to have it as a submodule, and that is precisely to allow binding our core to a specific commit in swserial. When an issue is found in our core's swserial it can get fixed in the swserial repo, then our submodule is updated to point to the fixed commit. What doesn't make much sense to me, at least from our core's pov, is to have independent versioned releases of swserial. I think that can confuse users. I think it should be either aligned versioning, like we donwith our toolchain, lwip2, etc, or none at all. |
Alright, to paraphrase my countrymen: somebody has to cut the cake. The swserial lib will remain as a submodule for now, the reasons for that are those stated above. If there are any further questions or comments, please look me up on gitter and we'll discuss directly. Closing. |
This is a proposal.
A quick fix can be added here to remove EspSoftwareSerial as a submodule and instead rely on a specific stable version of it, available for users through the arduino library manager, not downloaded by default except in CI and release process (<= questionnable too)
This is also proposed because EspSoftwareSerial release process seems to be recurrently slowed down by this repository state or status.
More insights:
and probably others.
The text was updated successfully, but these errors were encountered: