-
-
Notifications
You must be signed in to change notification settings - Fork 561
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
Minimum supported version of construct specified #196
Minimum supported version of construct specified #196
Conversation
I assume we have to force pip to upgrade dependencies. |
1 similar comment
@syssi what about pinning to a specific version? As history shows, Construct can break compatibility with any version change. I think we should specify exact version in dependencies, not just only minimum version. |
If we use pinning all home assistant components must use the same version of construct. It will be hard for foreign libraries to introduce a new version and vice versa. |
I didn't thought about that. You're right. |
I think we can try to see if we can convince the construct maintainer to maintain a backwards compatible api between minor releases, but I think such a piece as protocol handling library should neither be pinned (as it will at some point cause failures, if enough users start to use the lib) nor change the public API that often. Maybe this leaves us porting this over another library, there is suitcase, and kaitai struct (which sound neat, as it will allow reusing the protocol definition also in other languages!), but I haven't tried those. One last option would be simply to wire the protocol as it is and do it all manually, I just thought it'd make more sense to have it in a more maintainable format in case the protocol changes. I think we should just merge this for the time being for the next release, and see how to deal with it at some later point. Comments? |
I've read Construct author's comment on the backward compatibility and I don't think that he can be easily convinced. |
Yeah indeed, I have also used it in multiple projects without real problems until recently and have liked it sofar. I'm not really sure we should start building compatibility layers for a protocol which changes much less often than the library we are using to parse it, that would be just too much effort that could be targeted elsewhere. |
No description provided.