Trlc

Latest version: v1.2.2

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

Scan your dependencies

Page 1 of 4

1.2.3dev

1.2.2

* [API] Add callbacks to the
[Source_Manager](https://bmw-software-engineering.github.io/trlc/manual/infrastructure.html#trlc.trlc.Source_Manager)
to notify clients of the parse progress.

1.2.1

* [TRLC] New minor version release due to minor API changes and major
command-line changes.

* [TRLC] When using `--verify` you can now also specify a
[CVC5](https://github.com/cvc5/cvc5) executable using
`--use-cvc5-binary`. This allows you to use the `--verify` option on
platforms where there is no CVC5 PyPI package (i.e. Windows or more
recent versions of OSX).

* [TRLC] The [PyVCG](https://pypi.org/project/PyVCG) package is now required
on all platforms. The optional dependency is now
[CVC5](https://pypi.org/project/cvc5) instead.

* [TRLC] Remove the `--lint` option. Lint messages are now enabled by
default, and `.trlc` files are processed as well. Instead there is a
`--no-lint` option which turns off the extra warnings.

* [TRLC] Add the `--skip-trlc-files` option which disables processing
of `.trlc` files. Enabling this option is equivalent to the old
`--lint` mode.

* [TRLC] Add the `--error-on-warnings` option which generates a status
code of 1 if any warning is raised.

* [TRLC] We now always print a short summary, indicating how many
files were processed and how many messages were generated. The
`--show-file-list` option still exists and still prints the complete
list of files. This summary may be suppressed with the `--brief`
option.

* [API] The
[Source_Manager](https://bmw-software-engineering.github.io/trlc/manual/infrastructure.html#trlc.trlc.Source_Manager)
has new and different constructor flags, although it can still be
constructed with no parameters.

* [API] The
[Message_Handler](https://bmw-software-engineering.github.io/trlc/manual/errors.html#trlc.errors.Message_Handler)
now uses an enumeration instead of a string to signal message
severity/kind. For normal use this is transparent, but if you
subclass the message handler then you need to deal with this. The
category (for lint messages) is now also a separate parameter
instead of being baked into the message.

* [TRLC] Please note that if you parse messages in CI, the [regex has
changed
slightly](https://github.com/bmw-software-engineering/trlc/blob/main/documentation/TUTORIAL-CI.md#parsing-the-output).

* [TRLC] Fix an issue where `--skip-trlc-files` would incorrectly
register and parse the preamble of `.trlc` files.

* [TRLC] Fix a spurious space in the summary output.

* [TRLC] Fix support for Python 3.11. The package can now be installed
without issues.

* [TRLC] Fix issue in VCG where the matches function could be
generated more than once. This was only an issue in the debug output
and was not visible to users.

1.1.10

* [TRLC] Fix missing typechecks for numeric subtypes on value
assignments. It was possible to assign an integer to a decimal
component, or the other way around. This now correctly generates an
error.

* [TRLC, LRM] You can now also write `"""foo"""` string literals. Just
like the `'''` strings, these can contain newlines.

* [TRLC, LRM] User defined checks are now not allowed to contain a
newline. However you can now provide additional information that
_can_ contain a newline. For example:

trlc
checks Requirement {
top_level == true or derived_from != null,
error "linkage incorrect",
"""You must either link this requirement to other requirements
using the derived_from attribute, or you need to set
top_level to true."""
}


Would now produce something like this:


Requirement Potato {
^^^^^^ checks-5/foo.trlc:3: check error: linkage incorrect
| You must either link this requirement to other requirements
| using the derived_from attribute, or you need to set
| top_level to true.


For more details please
[refer to the LRM](https://bmw-software-engineering.github.io/trlc/lrm-2.9.html#bnf-check_declaration).

1.1.9

* [TRLC] Add support for Python 3.11. We now support Python 3.8 up to
and including 3.11.

* [TRLC] Add new option `--no-detailed-info` which supresses the
additional information the linter may add to a message, such as
counter-examples or reasoning.

* [TRLC] The tool is now much less likely to abort on parse errors,
instead we continue where it's possible to generate more errors in
other unrelated packages and declarations. This may occasionally
generate follow-on errors that look weird, however once you fix the
earlier errors things should work out.

* [TRLC] Add new option `--no-error-recovery` which restores the old
behaviour w.r.t. error handling. With this option, every error you
see is absolutely a real error which you need to fix; but of course
there could be more errors once you fix them.

* [LRM] Mark `.check` files as a deprecated feature. You should move
your checks into the corresponding `.rsl` file. The linter also
complains about these now.

1.1.8

* [TRLC] Hotfix for the CVC5 API issue: pinning PyVCG to 1.0.3, which
in turn pins CVC5 to 1.0.5 (the last known good version).

Page 1 of 4

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.