Changelog#

[0.14.2] - 2024-02-21#

Changed#

  • raesl.excel.component has been updated to account for goal spec migration and goal specs that have no subclauses.

[0.14.1] - 2024-02-06#

Changed#

  • raesl.io.canopy.add_canopy_annotations has been updated for better rendering within the Canopy app.

[0.14.0] - 2024-02-01#

Added#

  • Generation of Excel with all active goal-requirements of a selected component.

[0.13.2] - 2023-12-06#

Fixed#

  • Docs generation for cases with “minimized” and “maximized” in design rules.

[0.13.1] - 2023-12-06#

Fixed#

  • Usage of bundles within a design rule results in a clear error (E228).

[0.13.0] - 2023-12-06#

Added#

  • To canopy annotations for showing all specifications interactively within the canopy app.

[0.12.5] - 2023-11-21#

Changed#

  • Updated dependencies.

[0.12.4] - 2023-08-08#

Added#

  • Pygments entrypoint for syntax highlighting.

[0.12.3] - 2023-07-04#

Fixed#

  • Solved the DeprecationWarning` of typing.io.IO and changed to typing.IO.

[0.12.2] - 2023-06-06#

Changed#

  • Updated Eisvogel Latex template.

[0.12.1] - 2023-02-06#

Fixed#

  • Field filtering for raeasl.plot.mdm.

[0.12.0] - 2022-10-26#

Added#

  • Added migration of design dependencies. That is, if a descendant of an ancestor i has a design dependency with a descendant of an ancestor j, then ancestors i and j have a design dependency as well. This rule has been implemented.

[0.11.1] - 2022-10-27#

Added#

  • A convenient ‘all’ extra to install all extras at once.

[0.11.0] - 2022-07-16#

Changed#

  • Changed RaESL to be published on PyPI!

  • New tasks, pipeline, tools, but no significant changes.

0.10.8#

  • Bug fix in Excel output generation.

  • Added variable sheet to Excel output generation.

0.10.7#

  • Bug fix regarding the selection of component goals when generating PDF output.

0.10.6#

  • Bug fix regarding the directionality of design dependencies between variables derived from relations.

0.10.5#

0.10.4#

  • Fix for ARM architectures. Set Chromium flags to Kaleido image export in docs generation.

0.10.3#

  • Attempt to fix Kaleido versioning issues.

0.10.2#

  • Guard the command-line a little better against missing dependencies.

  • Update to latest pygls for raesl server.

0.10.1#

  • Dependency updates.

0.10.0#

  • Added Excel generation functionality in the raesl.excel subpackage. Usage is described in `excel`_.

0.9.0#

  • Documentation tags as proposed in `LEP0008`_ have been implemented.

0.8.6#

  • Bug fix. Doc comments attached to variables are no longer duplicated in output.

0.8.5#

  • Bug fix regarding the handling of “minimum” and “maximum” in design specifications.

0.8.4#

  • Bug fix in raesl.plot related to the displayed node sequence after clustering of non-lead node kinds.

0.8.3#

  • Several changes to raesl.doc to improve readability of the generated outputs.

  • Added section toggle arguments to reasl.doc.convert to allow a user to exclude specific sections from the generated document. By default all sections are included.

0.8.2#

  • Minor fixups.

0.8.1#

  • Improved the handling of bundles when generating a PDF document. Bundles are unfolded below the main specification text rather than within the main specification text.

  • Added separate chapters for behavior specifications, needs, and design specifications that are not (in)directly related to components.

  • Added **metadata** kwargs to raesl.doc.convert such that one can add a subtitle, date, author and logo to the title page of the generated PDF document.

0.8.0#

  • Added a convenient method to access raesl doc’s functionality from a Python script over at raesl.doc.convert.

  • Several further fixups to the raesl.doc module.

0.7.3#

  • Add some backwards compatibility to the paths resolver so it handles lists as arguments, too. However, the recommended method is supplying multiple path arguments in an *args fashion.

0.7.2#

  • Bug fix regarding PDF document generation. Needs and design requirements that do not (indirectly) relate to components did not end up within the output document. Now they do.

0.7.1#

  • Modified the behavioral dependency derivation rules to detect logical dependencies between components and between function specifications. Path dependencies resulting from decomposing complex behavioral specifications into multiple smaller behavior specifications are now accounted for.

0.7.0#

  • Added a plotting module to generate figures tailored to the inspection of ESL specifications:

    • Matrix figures are made using Plotly and build on the foundations of ragraph.plot.mdm. For now, the only matrix figure is the raesl.plot.mdm, which is a Multi-Domain Matrix figure of (part of) an ESL spec.

    • Diagram figures are made using Graphviz and have some filtering in place to aid in inspecting the hierarchy, or reviewing the functional dependency network in various ways.

    • See Plotting and visualization for more information and examples.

0.6.0#

0.5.6#

  • Bugfixes and fixups.

0.5.5#

  • Bug fix. reasel.compile.instantiating.edge_building.EdgeFactory is made more efficient.

0.5.4#

  • Bug fix. Set background.pdf path to unix path.

0.5.3#

  • Bug fix. Specification of units, domains and enumerations is no longer allowed in bundle fields.

0.5.2#

  • Update of raesl.pygements.EslLexer. Missing keywords are added.

0.5.1#

  • Bug fix. Implemented an identifier uniques check. This check ensures that all identifiers of ESL elements within the scope of a component definition are unique.

0.5.0#

  • Removed ESL 1.0 compiler from package.

0.4.8#

  • Bux fix. Dotted names are allowed as subject of needs. Bundles are no longer allowed.

  • Bux fix. Breath first path finding method is corrected.

0.4.7#

  • Migration from Orca to Kaleido for static image generation (following Plotly’s migration.

0.4.6#

  • Bug fix. The derivation of traceability dependencies between function specifications has been fixed.

0.4.5#

  • Update of raesl.doc such that is uses raesl.compile rather than raesl.compiler.

0.4.4#

  • Bug fix regarding asymetric product DSMs when plotting functional dependencies and the decomposition three has a depth >= 3.

0.4.3#

  • Bug fix regarding DocComment handling when parsing multiple ESL files.

  • DocComments are no long split in individual words. The are now stored as a list of full lines.

0.4.2#

  • Bug fix regarding the usage of bundles in goal-, transformation-, and relation speficiations.

0.4.1#

  • Update E202 and E203 for missing/unknown specification elements.

    • E202 now covers actually missing elements of a given kind.

    • E203 now covers unknown elements of a given kind.

    • Naming the unknown/missing “thing” is optional.

0.4.0#

  • Added a language server module. The language server can be started using raesl serve to start it using STDIO (use this in production) or raesl serve -p <debug_port_number> (use this when debugging). Currently, you can use this by building and installing the VS Code extension.

  • Solved some cyclic imports that occurred when compiling the language server executable so we could ship it with the VS Code extension.

0.3.2#

  • Fixed type assignment of variables that are part of a bundle.

  • The function utils.get_esl_paths is modified to ignore folders starting with “.”.

  • All yield lines are removed from edge_buidling.py and replaced by self._add()`

0.3.1#

  • The compiler no longer yields a syntax error when dotted names are used within goal, transformation, design, behavior, and relation specifications. Dotted names are required when one wants to use only a sub-element of a bundle.

0.3.0#

  • Using raesl.compile.cli.run now returns an ragraph.graph.Graph object if a specification is compiled successfully. The returned Graph contains all specification elements (e.g. components, goals, transformations, etc) as ragraph. node.Node objects and all derived dependencies between them as ragraph.edge.Edge objects.

0.2.1#

0.2.0#

  • Added some new classes of the Language Server Protocol.

  • Usage of Diagnostics and Related Information to replace “Problems”.

  • Usage of centralized logging module to produce regular output.

  • Usage of click to manage verbosity level on CLI.

0.1.0#

  • Add new compiler in parallel to the old one. After a full re-integration we should move to 1.0.0.

  • The new compiler is “callable” using raesl compile, while the old one is put under raesl compiler (with r).

0.0.1#

  • Initial version from template.