Changelog for package rosmon_core
2.5.1 (2023-09-29)
- Fix state machine for multiple colored sections (Issue #178, PR #179)
Something like "e[33m First e[0m and e[32m second e[0m" would
lead to rosmon only outputting "First".
This also adds a corresponding test case.
- Contributors: Max Schwarz
2.5.0 (2023-07-10)
- Fix compilation with clang (Issue #176)
- Systemd-journal & syslog support (PR #172, issue #172)
Ability to log to the system journal instead of custom log files.
For syslog/journald logging you now have to specify --log=syslog. This
keeps us from breaking any old installations where users depend on
the logs appearing in /tmp.
Users who want to switch permanently to syslog/journald can do so through
an environment variable.
- Auto-increment-spawn-delay feature (PR #175)
- Add missing include to #include <boost/mpl/vector.hpp> (PR #174)
- Hide stdout log events if output=screen and UI is disabled (PR #171)
- Support importing args from included files (PR #169)
- rosparam: strip whitespace inside deg() and rad() expressions (Issue #163, PR #164)
- Contributors: Dan Ambrosio, Max Schwarz, Ramon Wijnands, Robin Vanhove, Tobias Fischer
2.4.0 (2021-08-02)
- Support YAML merge keys inside arrays (Issue #150, PR #153)
- Clear ONLCR o_flag on pty to avoid converting n into rn (PR #152)
- Inidicate when a node is actually Idle (e.g. stopped) (PR #144)
- Add missing dependency on libboost-python-dev (PR #149)
- Use a second PTY for stderr (Issue #147, PR #148)
- Provide number of restarts threshold per node via ROS-launch arguments (Issue #145, PR #146)
- Install tests (necessary for testing with colcon)
- Warning for type= attrs on <param> tags on Kinetic + whitespace fixes (Issue #138, PR #141)
- Use double precision for auto type parameters (PR #141)
- Monitor: do not leak stderr file descriptors
- Added option to prepend node name to stdout when using --disable-ui (Issue #139, PR #140)
- bytes_parser: add missing include (PR #137)
- Start all and stop all keybindings (Issue #127, PR #133)
- Display & search full name including namespace
- Follow symbolic links during file name suggestion (fixes completion with colcon)
- Fix problems identified with -Wfloat-conversion
- Respect leading slashes in rosparam YAML keys (Issue #130, PR #131)
- Contributors: Ferry Schoenmakers, Kutay YILMAZ, Max Schwarz, Romain Reignier, Steve Golton, Tim Clephas, mcfurry
2.3.2 (2020-05-29)
- rosmon_core: cmake: increase minimum version to address policy warnings
- rosmon_core: really fix search for boost_python for python 3
- Contributors: Max Schwarz
2.3.1 (2020-05-28)
- Fix build issues on Debian connected to Boost & Python 3
- Contributors: Max Schwarz
2.3.0 (2020-05-28)
- Optionally filter stdout (INFO/DEBUG, PR #119)
- Capture stderr separately and correctly do output=log (PR #119)
- Prevent infinite coredump aggregation & support systemd-coredump (PR #125)
- Support certain rosmon-* attributes on all scopes (fixes #116)
- ui: UI DrawStatus optimized to only refresh on events (PR #121)
- Adding fix for rosparam parsing to equivilate with undocumented behavior of roslaunch (PR #118)
- depend on python2/3 conditioned on ROS_PYTHON_VERSION (PR #123)
- Add YAML merge key parsing functionality (PR #117)
- test: unit tests for the warnings we trigger
- LaunchConfig warnings to stderr & make them captureable
- rosmon_core: Handle empty yaml file (PR #114)
- Improved support for nodes with terminal UI (PR #112)
- Fix Issue "Can not handle arguments with spaces" (PR #111)
- Option to obey output=XY tags (PR #109)
- fix a lot of whitespace issues introduced in #76
- Handle nesting with $(anon) subst correctly (PR #101)
- Contributors: Carl Colena, Kazuhiro Hiratsuka, Max Schwarz, marco-tranzatto
2.2.1 (2019-11-08)
- correctly terminate execvp() arguments (issue: #102, PR: #103).
Curiously, this bug has remained hidden until now.
- Contributors: Max Schwarz
2.2.0 (2019-10-29)
- ui: adjust "faded" crashed color
This makes the selected node more visible if it is a crashed one.
- terminal: new input system that hides known escape codes
The old system would pass through all escape codes and generate
additional SK_* events whenever a complete escape code was recognized.
The new system hides those events, but will yield incomplete escape codes
after a timeout (this is useful for supporting the escape key itself).
- ui: line wrap for node output
- node_monitor: Log manual start/stop actions
- colored log output from rosmon itself
- improved support for running under tmux and screen
- UI modernization (PR: #99) with new colors, redesigned status bar
- Interactive node search (PR: #97)
- Add restart count to ROS diagnostics (PR: #96)
- monitor: make updateStats() rate-independent (Issue: #95)
- Contributors: Max Schwarz, Tim Clephas
2.1.1 (2019-07-09)
- rosmon_core: add _shim to installed targets, issue #91
- Contributors: Max Schwarz
2.1.0 (2019-06-25)
- monitor: make fork() operation safe using external shim, PR #89
- launch: handle lowercase true/false in $(eval), PR #86
- launch: trim & simplify whitespace in subst contexts, PR #85
- monitor: remove exists check for /proc/.../stat, PR #82
- monitor: publish ROS diagnostics, PR #76
- ros_interface: handle namespaces correctly, PRs #78, #80
- launch: parse uppercase bool params, PR #79
- ui: muting/unmuting of individual nodes, PR #73
- cmake: add dependency for catkin_make builds, PR #75
- Contributors: Adrien BARRAL, Artur Miller, Cartoonman, Christian Jülg, David Walsh, Eric Fang, Max Schwarz
2.0.2 (2019-03-12)
- rosmon_core: add tinyxml dependency to package.xml
Fix for binary deb generation on ros_buildfarm.
- Contributors: Max Schwarz
2.0.1 (2019-03-12)
- rosmon_core: remove superfluous pluginlib dependency
(leftover from the rqt plugin)
- Contributors: Max Schwarz
2.0.0 (2019-03-11)
- split into separate packages for core, GUI, messages, PR #72
- depend on external rosfmt package, PR #63
- wait for roscore if not already running, issue #61, PR #62
- check for param file errors correctly, issue #66, PR #68
- add --flush-stdout option, PR #69
- Contributors: Max Schwarz, Romain Reignier
1.0.10 (2018-10-29)
- main: exit gracefully on SIGTERM and SIGHUP as well (issue #59, PR #60)
- launch: allow <arg default="XY"> in <include> tags (issue #57, PR #58)
roslaunch allows this, so we should as well. Since it seems a bit
confusing, we issue a warning when this happens.
In these cases, <arg value="XY"> should be applicable and is much clearer.
- Contributors: Max Schwarz
1.0.9 (2018-09-20)
- Fix race condition in integration test (issue #42, PR #54)
- Clean namespace names properly to fix double slashes (issue #49, PR #53)
- Respect ROS_NAMESPACE for nested launches (issue #46, PR #51)
- gui: Sort Memory column correctly (issue #48, PR #50)
- Try to find an executable file for nodes (issue #45, PR #47)
- Add --stop-timeout option and launch file attribute (PR #37)
- Handle params with leading slashes inside nodes (PR #40)
- Add --no-start option (PR #39)
- gui: Fix index bug in showContextMenu (PR #38)
- Contributors: Max Schwarz, Nikos Skalkotos, Romain Reignier
1.0.8 (2018-08-07)
- main: Add option for flushing the logfile
Add --flush option that will flush the logfile after each entry.
- Merge pull request #35
More complete support for rosparam features
- Merge pull request #34
YAML quoted strings
- launch: rosparam: support binary data
- launch: rosparam: correctly handle explicit YAML type tags
- launch: support rosparam angle computations
- launch: always map YAML quoted values to string params
These always get mapped to str by python's yaml.load, which is used by
roslaunch, so we do the same here.
- Contributors: Max Schwarz, Nikos Skalkotos
1.0.7 (2018-05-27)
- Support Python 3 & select appropriate Python version.
This fixes a mismatch on Debian Jessie, where rospack is linked against
Python 2.7 and we would link against Python 3.4.
- launch: substitution_python: support Python 3
- Contributors: Max Schwarz
1.0.6 (2018-05-26)
- test/xml: replace more multiline string Catch captures
Sorry, somehow these slipped through - and I didn't have a good way of
testing these locally without the buildfarm. I'm testing with gcc 4.8
on trusty now, which seems to have matching behavior.
- Contributors: Max Schwarz
1.0.5 (2018-05-25)
- test/xml: avoid multiline Catch captures in exception tests
These trigger some weird bug between g++ 5.4 and ccache, which is used
in the ROS buildfarm. [...]
This should fix compilation on the build farm.
- Contributors: Max Schwarz
1.0.4 (2018-05-24)
- Merge pull request #30 from xqms/feature/global_remap
Support <remap> in other scopes than <node>. Fixes #28.
- Merge pull request #29 from xqms/feature/fmt
Port all string formatting to fmt
- update README.md, refer to ROS wiki
Otherwise we duplicate the information.
- launch: keep pointer to current element in ParseContext
This is in preparation for a refactoring of the error handling code. This
way, we don't have to explicitly pass line number information around - we
can instead pull it from the ParseContext when the error is generated.
- Merge pull request #27 from xqms/feature/spec_tests
roslaunch/XML spec unit tests
- launch: launch_config: error on <include clear_params="true" />
Even the roslaunch/XML spec says this is "extremely dangerous". We will
explicitly not support that one for now.
- launch: substitution_python: fix type deduction
py::extract actually includes automatic conversion, so it is not
appropriate for checking the returned object type. Use Python API instead.
- launch: handle <node clear_params="true"> attribute
- launch: launch_config: add support for <node cwd="..." />
- launch: launch_config: node uniqueness check should consider namespaces
- launch: substitution_python: report python exceptions more completely
- launch: launch_config: error if node name is not unique
- launch: launch_config: accept True/False as boolean values as well
We are lenient here and accept the pythonic forms "True" and "False"
as well, since roslaunch seems to do the same. Even the roslaunch/XML
spec mentions True/False in the examples, even though they are not
valid options for if/unless and other boolean attributes...
http://wiki.ros.org/roslaunch/XML/rosparam
- launch_config: add check for invalid <param> combinations
- xml: param: test robustness against malformed tags
- launch: launch_config: propagate exceptions from lazy param threads
.. to main thread.
- launch: launch_config: check if <param> commands exit normally
- launch_config: handle binfile
- launch: handle type "yaml" parameters (new in roslaunch since Lunar)
This is actually a bit complicated, since this breaks a previous assumption
we made: Our lazy evaluation of parameters depend on a 1:1 mapping of
parameter names to jobs - this is not the case with YAML parameters, since
one YAML file can turn into multiple params on the parameter server.
So we handle YAML parameters separately from "ordinary" parameters, i.e.
here our lazy evaluation does not prevent multiple loadings of the same
parameters.
- cmake: basic rostest depends on rosmon target
This makes sure that "make run_tests" also (re-)builds rosmon.
- launch: larger refactoring of param parsing
Simplifies the forced type logic and applies it to "command" and "textfile"
results as well.
- launch: split off as shared library and offer string parsing interface
Preparation for more specific unit tests on roslaunch XML loading.
- CMakeLists.txt: option to create clang source-based coverage builds
- Contributors: Max Schwarz, Matthias Nieuwenhuisen
1.0.3 (2018-05-05)
- launch_config: ignore empty YAML data in <rosparam> tags
See #12 for discussion as to why this is necessary.
TL;DR: roslaunch does it.
Co-authored-by: Lucas Coelho Figueiredo <lucascoelhof@gmail.com>
- launch_config: simplify whitespace inside ParseContext::evaluate()
This should fix problems with whitespace such as #1,
#16, #22.
- ui: calculate node name padding correctly on 32 bit architectures
Fixes #19.
- add LICENSE file
- address clang-tidy warnings
- launch_config: handle relative params with tilde + validate names
This also prints a more informative error message on malformed parameter
names.
- launch_config: support pass_all_args
- Contributors: Max Schwarz
1.0.2 (2018-04-24)
- node_monitor: don't collect core dumps from launch-prefixed nodes
- node_monitor: fix error message on failed execvp()
Previously, the error message was not printed to the screen, as log() is
not useful in the child process. Rather, use the intended communication
channel (stdout/stderr) to print log messages.
- Contributors: Max Schwarz
1.0.1 (2018-04-13)
- Fix compilation issues on Ubuntu Artful and Debian Stretch.
- Contributors: Max Schwarz
1.0.0 (2018-04-13)
- Initial release
- Contributors: David Schwarz, Gabriel Arjones, Kartik Mohta, Max Schwarz, Philipp Allgeuer