v0.10.0
#70
Replies: 1 comment
|
After Overall to summarize, this release doesn't bring any new features other than event triggered frames, really it's only meant to keep the maintainability of the library up and it's just the beginning of upcoming changes that will make it more usable in scenarios such as code generation or communication. Up next is the refactoring of signal encoding according to changes in |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Added
LinVersionclass was added that allows better version handling than the previous floating pointvalues
LinEventTriggeredFrameobjectsChanged
LinFrameclass intoLinUnconditionalFrameFixed
Nonewhen event triggered frames were referencedDeprecated
parseLDF,parseLDFtoDict,parseCommentswere deprecated in favor of the same methods with asnake case signature
LDF::frame(x),LDF::signal(x),LDF::slave(x)were deprecated, they were replaced with propergetters but those contracts are slightly different
It's recommended to replace the deprecated functions as they will be removed in
1.0.0, most ofthem have drop in replacements.
Migration guide for 0.10.0
Imports and classes
A few modules were reorganized, this might cause certain
importstatements to be broken, importsthat only use the
ldfparserpackage are backwards compatiblePreviously
LinFramerepresented unconditional frames and was used to encode and decode frames,this was changed in order to support the other frame types later.
LinFramenow only containsthe most basic properties, name and identifier, while the rest has been transferred out into
LinUnconditionalFrameandLinEventTriggeredFrame. This change should only affect scripts thatdirectly reference the
LinFrameclass, when using queries through theLDFobjects the behavioris identical.
Dictionary object
protocol_versionandlanguage_versionwere changed to be of string type, the previous floatingpoint values were good for comparing versions but it's overall problematic due to precision issues,
if you still need floating point values then you must convert them in your scripts
LDF object
but everything else had to be accessed through the member fields. This is changed in
0.10.0inorder to allow a better deprecation process in the future.
_to mark them as internal, they should not be accesseddirectly
ldf.signalswas replaced with
ldf.get_signals()the behavior was changed, instead of returning
Nonethe new methods will raise aLookupErrorin the future there may be warnings enabled and possibly removed in later releases
Parsing
ldf.parseLDF(x)withldf.parse_ldf(x), signatures are slightly different but functionally identicalldf.parseLDFtoDict(x)withldf.parse_ldf_to_dict(x)This discussion was created from the release v0.10.0.
All reactions