Skip to content

Releases: git-afsantos/haros

HAROS v3.9.0

19 Feb 14:35
Compare
Choose a tag to compare

Changelog (from 3.8.0 to 3.9.0)

Changed

  • Fixed a bug that caused the init and viz commands to crash.
  • Fixed a bug that caused the CMake parser to crash when trying to read directories that do not exist.
  • Reworked the HAROS dashboard to replace unimplemented statistics with more relevant ones.
  • Added a summary panel to the Configuration model viewer in Viz.

HAROS v3.8.0

24 Nov 18:13
Compare
Choose a tag to compare

Changelog (from 3.7.0 to 3.8.0)

Added

  • --junit-xml-output option to full, analyse, export and parse commands to output JUnit XML reports.
  • Support to detect ROS2 workspaces.
  • Ability to exclude directories from the analysis by including a COLCON_IGNORE, AMENT_IGNORE or CATKIN_IGNORE file within.
  • Pure Python packages in ROS2 that do not have a CMakeLists.txt use Python files that contain a def main() function to identify nodes.
  • --minimal-output option to full, analyse and export commands, to export just the bare minimum files to view the HTML report.
  • Experimental support to parse Python nodes.
  • Setting in the ~/.haros/configs.yaml file to skip the analysis for certain files based on glob patterns.

HAROS v3.7.0

08 Sep 14:28
49e11fb
Compare
Choose a tag to compare

Changelog (from 3.6.0 to 3.7.0)

Added

  • Command parse, a convenience command to run model extraction without running plugin analysis.
  • A database of pre-parsed ROS nodes from select distribution packages.
  • A new issue reporting function for plugins, focusing on runtime (Configuration-related) issues.

Changed

  • Fixed and improved the way extraction hints are handled when merging possible candidates.
  • Exported JSON files now have proper indentation.

HAROS v.3.6.0

19 Aug 13:17
Compare
Choose a tag to compare

Changelog (from 3.5.6 to 3.6.0)

Added

  • Top-level --config option to pass a path to a custom configuration YAML file.

HAROS v.3.5.6

09 Aug 08:39
Compare
Choose a tag to compare

Changelog (from 3.5.5 to 3.5.6)

Changed

  • Fixed a bug that required arguments for the analyse -w PLUGIN and analyse -b PLUGIN commands to start with the haros_plugin_ prefix.
  • Improved error messages to distinguish between no plugins being found (at all) and finding no plugins that match user-provided names.

HAROS v3.5.5

25 Jun 16:25
Compare
Choose a tag to compare

Changelog (from 3.5.4 to 3.5.5)

Changed

  • Fixed a bug that caused a crash when analyse was called on a new HAROS home directory, without calling init before, and using the default YAML project file.

HAROS v3.5.4

24 Jun 16:58
Compare
Choose a tag to compare

Changelog (from 3.1.0 to 3.5.4)

Added

  • requirements.txt file.
  • ~/.haros/configs.yaml file can be used to ignore specific rules or tags.
  • C++ files can be annotated with // haros:ignore-line and // haros:ignore-next-line to exclude specific lines from analysis.
  • Python files can be annotated with # haros:ignore-line and # haros:ignore-next-line to exclude specific lines from analysis.
  • Support to extract image_transport::SubscriberFilter calls.
  • Support to extract message_filters::Subscriber calls.
  • Support to extract image_transport::Subscriber calls.
  • Support to extract image_transport::Publisher calls.
  • Added the --home option to the base haros command. This option receives a directory as argument, to use in place of the default $HOME/.haros data directory. It is useful, for instance, to have multiple settings profiles.
  • A new section in project files, nodes, where users can provide extraction hints for nodes outside of the scope of a particular configuration. This avoids duplication of hints across similar configurations.

Changed

  • Made the dependency on pyflwor optional (#38).
  • Replaced yaml.load with yaml.safe_load.
  • Added a monkey patch for pyflwor, so that it now works from a pip install.
  • Fixed the auto-generated ~/.haros/configs.yaml to include the new sections to ignore rules and tags.
  • Fixed bug in CMake parser where include_directories expected at least one argument.
  • Plugins are no longer cloned and installed by HAROS. Instead they are distributed and installed as a pip requirement.
  • The plugin discovery mechanism had to change, in order to comply with the point above. Plugins are now discovered by naming convention (package names starting with haros_plugin_).
  • Dependency on rosgraph is now optional.
  • Fixed a bug that prevented unresolved namespaces to match with valid extraction hints (e.g. /?/topic would not match with a topic hint).
  • The model extraction process should now be able to resolve typedefs.
  • Improved extraction accuracy for a specific case in C++ where primitives are called within a constructor and the NodeHandle is a default-initialized class member.
  • All commands (haros analyse, haros export, etc.) perform the necessary setup operations formerly performed with haros init.
  • haros init is no longer required before the first run of HAROS, and it is now used just to reset the ~/.haros directory (or any other given with --home) to a fresh state.
  • Fixed an issue where packages had to be included for analysis (with source available) for nodes belonging to such packages, appearing in a launch file, to appear in extracted models.
  • Fixed a bug where user-defined queries were being ignored.
  • Fixed a bug that caused the wrong default project file to be loaded when using the --home option.

HAROS v3.1.0

30 Jan 16:57
Compare
Choose a tag to compare

[3.1.0] - 2019-01-30

Added

  • HAROS can now detect workspaces built with catkin_make_isolated and catkin build.

Changed

  • Fixed some bugs when parsing CMake files.
  • Fixed a bug crashing first-time runs.

HAROS v3.0.2

09 Mar 08:16
Compare
Choose a tag to compare

This release features a complete rework of the metamodel HAROS uses to represent extracted data. It also features extraction of many additional things, such as runtime entities from the ROS Computation Graph (for C++ only).

Additionally, this release includes a graph visualisation for extracted models, a plugin interface to manipulate them, and a query engine to let users define custom queries over this data.

HAROS Version 2.1.0

04 Nov 23:49
Compare
Choose a tag to compare

[2.1.0] - 2017-11-04

Added

  • --headless option for viz and full to allow the server to run without opening a web browser.

[2.0.0] - 2017-11-04

Added

  • A reserved project name all. When running export -p all all available projects will be exported.
  • Dependency on PyLint.

Changed

  • -C base option has been renamed to -c or --cwd.
  • --repositories long option for analyse and full has been renamed to --use-repos.
  • -t/--target-dir option for analyse and full has been renamed to -d/--data-dir.
  • When -d is given, HAROS will try to load an existing analysis database from that directory. If there is one, new analysis reports will be added and stored on that database.
  • analyse -d DIR and export -v DIR will no longer delete the contents of DIR.
  • Changed the directory structure for exported results. For analyse -d DIR and export -v DIR, viz files go into DIR, with an additional projects directory for databases. For export DIR all results go directly into DIR/PROJECT.
  • The main haros module has been rewritten to be more modular and maintainable. It is completely backwards incompatible.

Removed

  • -a option that allowed a specific analysis database to be imported. See -d for more.