Ldfparser

Latest version: v0.26.0

Safety actively analyzes 723177 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 4 of 6

0.10.0

Imports and classes

- A few modules were reorganized, this might cause certain `import` statements to be broken, imports
that only use the `ldfparser` package are backwards compatible

- Previously `LinFrame` represented unconditional frames and was used to encode and decode frames,
this was changed in order to support the other frame types later. `LinFrame` now only contains
the most basic properties, name and identifier, while the rest has been transferred out into
`LinUnconditionalFrame` and `LinEventTriggeredFrame`. This change should only affect scripts that
directly reference the `LinFrame` class, when using queries through the `LDF` objects the behavior
is identical.

Dictionary object

- `protocol_version` and `language_version` were changed to be of string type, the previous floating
point 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

- Previously the LDF class contained only a few methods that allowed searching in the collections,
but everything else had to be accessed through the member fields. This is changed in `0.10.0` in
order to allow a better deprecation process in the future.
- All fields have been prefixed with `_` to mark them as internal, they should not be accessed
directly
- Getters were added, they are direct replacements of the old member fields, e.g.: `ldf.signals`
was replaced with `ldf.get_signals()`
- Lookup methods in the LDF are now more performant because they don't rely on linear search, however
the behavior was changed, instead of returning `None` the new methods will raise a `LookupError`
- Properties are used to keep compatibility with older versions where these fields are referenced,
in the future there may be warnings enabled and possibly removed in later releases

Parsing

- Replace `ldf.parseLDF(x)` with `ldf.parse_ldf(x)`, signatures are slightly different but functionally identical
- Replace `ldf.parseLDFtoDict(x)` with `ldf.parse_ldf_to_dict(x)`

0.9.1

Added

- Missing node attributes: Response Error, Fault State Signals and Configurable frames are now
linked to the `LinSlave` object ( 66 )

0.9.0

Fixed

- Fixed ASCII and BCD encoding types missing from the syntax ( 56 )
- Fixed `subscribed_to` variable on `LinSlave` containing the wrong objects ( 59 )
- Fixed whitespace not being allowed in the `Nodes` section before the colons ( 61 )
- Fixed parsing initial values of array type signals ( 62 )

0.8.0

Added

- Standard JSON schema for parsed LDFs

Fixed

- Missing encoders causing `KeyError` instead of `ValueError`

0.7.1

Fixed

- Frame encoder incorrectly encoding zero valued signals into their initial values ( 40 )

0.7.0

Added

- CLI interface for basic LDF tasks (33), entrypoint is added, documentation available in
the docs folder
- Frames are now linked to the publishing node

Changed

- Variant value now defaults to 0 instead of None

Fixed

- Signals incorrectly being appended to the published frame list

Page 4 of 6

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.