News

We are starting to phase out support for RSB 0.10

Added by J. Moringen almost 6 years ago

RSB 0.12 has been released. As a consequence, we are now starting to phase out support for RSB 0.10. Changes between releases can be found in the RSB manual.

As a first step, we have disabled the Jenkins jobs associated to the 0.10 release. For now, artifacts remain available for download, but no new builds will be performed. In case of no objections, we will remove these jobs entirely at some point.

Note that, with some exceptions, unsupported legacy releases remain buildable using the cognitive interaction toolkit infrastructure.

RSB 0.12 has been released

Added by J. Wienke almost 6 years ago

We are happy to announce the release of version 0.12 of the RSB middleware.

Notes

  • The Common Lisp Tools now use a sub-command-based commandline syntax like git, svn and other modern commandline tools. The previous symbolic-link-based invocation will continue to work for a transition period. Please adapt your usage to the new syntax.
  • The C++ implementation has been adapted to use Boost.Signals2 instead of the deprecated version 1. This removes several compilation warnings on modern systems but also slightly changes the (rarely used) external API for participant hooks.

Changes

The following changes are included in this release:

Specification

  • A "display name" field has been added to the introspection protocol and a corresponding configuration option introspection.displayname has been added. Users can specify this configuration property for individual processes (e.g. via environment variables) to provide a custom name for the process, which is then e.g. shown by the introspection tool.

All languages

  • Spread connections are now shared between informers, which reduces the number of open connections to the spread daemon.

C++

  • The implementation now uses Boost.Signals2 instead of the deprecated version 1. This changes the external API for participant hooks, which is rarely used externally. In case you have used these hooks, you need to migrate to the new signals namespaces and type names.
  • LocalServer::Callback implementations to reuse existing functions or methods have been added.
  • Several methods and types that have long been deprecated have been removed.

Java

  • Several minor issues in the socket transport implementation have been fixed.

Common Lisp

  • The rsb:with-listener, rsb:with-reader, rsb:with-informer, rsb.patterns.request-reply:with-local-server and rsb.patterns.request-reply:with-remote-server macros have been replaced by rsb:with-active-participant and rsb:with-participant.
  • Similarly, the rsb:make-listener, rsb:make-reader, rsb:make-informer, rsb.patterns.request-reply:make-local-server and rsb.patterns.request-reply:make-remote-server functions have been replaced by rsb:make-participant.

Common Lisp Tools

  • All tools now use sub-command-based commandline syntax like git, svn and other modern commandline tools. The previous symbolic-link-based invocation will continue to work for a transition period. Example of the new syntax: rsb-toolscl0.12 logger --style monitor socket:
  • A new experimental web tool which serves information about an RSB system via HTTP has been added.

RSBag

  • The commandline interface has been adapted to sub-commands as well.

For a more detailed list of fixed bugs, added features and other enhancements, see https://code.cor-lab.org/versions/42.

Obtaining and Installing RSB

In the process, about 30 issues have been created and subsequently resolved.

This RSB release is available in the following forms:
  • Source archives
  • Pre-compiled self-installing archives or executable binaries
  • Debian packages for different Ubuntu Linux versions
  • Pypi packages on the official server
  • Maven package for rsb-java (on CITEC server) will be distributed once the server authentication is resolved after the LDAP issues.

Installation instructions and links for downloading can be found on the preparation pages of the RSB manual and the RSBag manual.

Bug Reports and Related Projects

As always, bugs, feature requests and enhancement proposals can be reported in the respective issue trackers:
RSB,
RSBag.

Please note that the related projects

have been released as well.

We are starting to phase out support for RSB 0.9

Added by J. Moringen about 6 years ago

RSB 0.11 has been released. As a consequence, we are now starting to phase out support for RSB 0.9. Changes between releases can be found in the RSB manual (and similarly for related projects).

As a first step, we will disable the Jenkins jobs associated to the 0.9 release. For now, artifacts remain available for download, but no new builds will be performed. At some later point, we will remove these jobs entirely.

Note that, with some exceptions, unsupported legacy releases remain buildable using the cognitive interaction toolkit infrastructure.

RSB 0.11 has been released

Added by J. Moringen about 6 years ago

We are happy to announce the release of version 0.11 of the RSB middleware.

Notes

  • Starting with this release, the request-reply communication uses a new protocol. As a result, request-reply communication is not possible between earlier versions and this version of RSB.
  • Although never "officially" supported, the Python implementation previously allowed constructing participants by using the constructors of the respective classes. This is now explicitly unsupported. rsb.createListener etc. have to be used instead.

Changes

The following changes are included in this release:

Introspection
  • RSB now supports inspecting the participants, processes and hosts comprising a running system.
Specification
  • subscopes of /__rsb/ are now reserved for implementation purposes. The logger will not display events on these scopes by default.
  • An introspection protocol which works in terms of ordinary RSB events has been added.
  • Request-reply communication pattern
    • The request and reply components have been removed from the scopes of participant implementing the communication protocol.
C++
  • Support for sending introspection information has been added as a plugin.
  • The build system now provides the CMake variable RSB_SYSTEM_PLUGIN_DIRECTORY for downstream projects.
  • New filter class rsb::filter::MethodFilter
  • New filter class rsb::filter::TypeFilter
  • Tools based on and examples for the C++ implementation now use the RSC functions rsc::misc::waitForSignal and rsc::misc::lastArrivedSignal to terminate with proper cleanup of RSB objects.
  • The entry names for the enum rsb::transport::Directions have been prefixed with DIRECTION_ in order to prevent clashes with preprocessor symbols.
  • It is now safe to maintain participants in static variables since all transports have been rewritten so that the unknown order of static destruction is not a problem anymore.
Java
  • Support for sending introspection information has been added as a package.
Python
  • Support for sending introspection information has been added as a package.
  • New filter class rsb.filter.MethodFilter
  • rsb.createServer has been renamed to rsb.createLocalServer. For backward compatibility, the former function has been retained as a deprecated alias for the latter.
Common Lisp
  • Support for sending introspection information has been added as part of the rsb-introspection system.
  • Support for receiving and aggregating introspection information has been added as part of the rsb-introspection system.
  • Participants can be created generically using the generic function make-participant which is backed by a service-provider protocol for registering, instantiating and inspecting kinds of participants.
  • Creation and state changes of participants can now be monitored via *make-participant-hook* and *participant-state-change-hook*.
  • The implementation of the Request-reply pattern has moved from package rsb.patterns to package rsb.patterns.request-reply.
Common Lisp Tools
  • Some problems (e.g. starting the logger with a scope option or without URI scheme) in the URI handling of the Common Lisp tools have been solved.
  • All column-based event formatting styles in the now compute (mostly) optimal column widths dynamically instead of choosing from a set of predefined layouts.
  • The timeline view of the logger can now handle events whose timestamps lie in the past or future.
  • The timestamp used to construct the timeline view of the logger is now configurable.
  • A new event formatting style monitor/timeline has been added.
  • Monitor and timeline views of the logger now accept :sort-column COLUMN and :sort-reverse? BOOLEAN arguments.
  • Monitor and timeline views of the logger can now remove entries after a configurable time of inactivity.
  • The logger now accepts multiple URIs

RSBag

  • Commandline Interface
    • The bag-play program now accepts the --loop option which allows replaying a sequence of events repeatedly.
  • Remote Interface
    • The remote interface of the bag-record program now has methods open and close for switching log files without restarting the process.

For a more detailed list of fixed bugs, added features and other enhancements, see https://code.cor-lab.org/versions/41.

Obtaining and Installing RSB

In the process, about 100 issues have been created and subsequently resolved.

This RSB release is available in the following forms:
  • Source archives
  • Pre-compiled self-installing archives or executable binaries
  • Debian packages for different Ubuntu Linux versions
  • Pypi packages on the official server
  • Maven package for rsb-java (on CITEC server)

Installation instructions and links for downloading can be found on the preparation pages of the RSB manual and the RSBag manual.

Bug Reports and Related Projects

As always, bugs, feature requests and enhancement proposals can be reported in the respective issue trackers:
RSB,
RSBag.

Please note that the related projects

have been released as well.

We are starting to phase out support for RSB 0.7

Added by J. Moringen over 6 years ago

RSB 0.10 has been released for some time now. As a consequence, we are now starting to phase out support for RSB 0.7. Changes between releases can be found in the RSB manual (and similarly for related projects).

As a first step, we have disabled the Jenkins jobs associated to the 0.7 release. For now, artifacts remain available for download, but no new builds will be performed. In case of no objections, we will remove these jobs entirely at some point.

Note that, with some exceptions, unsupported legacy releases remain buildable using the cognitive interaction toolkit infrastructure.

RSB 0.10 has been released

Added by J. Moringen about 7 years ago

We are happy to announce the release of version 0.10 of the RSB middleware.

Changes

The following changes are included in this release:

C++
  • Special CMake -level support for finding custom installations of the Boost.UUID library has been dropped as this library is a standard part of Boost since some time now.
  • Incompatible API change: Moved EventQueuePushHandler and QueuePushHandler to util namespace
  • Improved logging, error messages and API for converter selection, configuration and registration
  • Converter registration is no longer necessary for the inprocess transport
  • Zip archive for Windows
Java
  • Added inprocess transport
  • Fixed implementation of sequence number generation
  • Some thread-safety and shutdown issues in the socket transport have been fixed
  • Default participant configuration is now available via getDefaulParticipantConfig
  • Updated internal Spread Java implementation to version 4.3. This still allows communication with all 4.x Spread daemons.
Python
  • Participants now support the context manager protocol (with statements)
  • The Configuration file at PREFIX/etc/rsb.conf is now processed
Common Lisp
  • Socket transport now listens on all interfaces in server mode
  • Socket transport now handles disconnected clients better while under load
  • Logging is now implemented using a more robust and more efficient implementation. The user-visible interface remains unchanged.
Tools
  • The Common Lisp implementation of the tools now comes with scripts for analyzing some timing-related aspects of system. These scripts can be used by the Logger as well as the RSBag tools.

RSBag

  • Commandline Interface
    • The commandline options --start-time, --end-time, --start-index, --end-index have been improved: negative real values are relative to the end of the recording, mapping of timestamps to indices is more accurate and robust.
    • The recorded-timing replay strategy now accepts a :max-delay option to produce gap-less replays despite pauses in the recorded data.
    • Logging is now implemented using a more robust and more efficient implementation. The user-visible interface remains unchanged.
  • Elan backend
    • The backend can now create log files from scratch.
    • The following elements are now supported: HEADER/FORMAT, HEADER/VERSION, AUTHOR, LINGUISTIC_TYPE.
  • TIDELog backend
    • Corruption when creating new channels while under heavy load has been fixed.
    • Read, write and recovery performance has been improvement.
      • In particular, performance when reading log files with many small chunks has been improved.
    • Error reports and error recovery have been improved
      • Corrupt channels can now be partially reconstructed.
      • Recovery from missing indices and corrupt chunks is much more robust.

For a more detailed list of fixed bugs, added features and other enhancements, see https://code.cor-lab.org/versions/11.

Obtaining and Installing RSB

In the process, about 70 issues have been created and subsequently resolved.

This RSB release is available in the following forms:
  • Source archives
  • Pre-compiled self-installing archives or executable binaries
  • Debian packages for different Ubuntu Linux versions
  • Pypi packages on the official server
  • Maven package for rsb-java (on CITEC server)

Installation instructions and links for downloading can be found on the preparation pages of the RSB manual and the RSBag manual.

Bug Reports and Related Projects

As always, bugs, feature requests and enhancement proposals can be reported in the respective issue trackers:
RSB,
RSBag.

Please note, that the related projects

have been released as well.

RSB 0.9 has been released

Added by J. Wienke over 7 years ago

We are happy to announce the release of version 0.9 of the RSB middleware. Version 0.9 is the direct successor of 0.7 due to changes in the versioning system.

The development for this release focused on the following major aspects:

  • Integration of the new Robotics Systems Commons plugin mechanism in the C++ implementation for transports and converters.
  • Encapsulation of the spread transport into a separate plugin. This finally resolved the licensing issues for the rsb-cpp core. Please refer to the manual on how to use the new spread transport.
  • Complete overhaul of the java implementation to be in line with the remaining implementations. As a consequence, the public API has slightly changed, especially wrt thrown exceptions.
  • Implementation of the socket transport for java.
  • Many fixes to the socket transport implementations including a real shutdown protocol.
  • Fixes for windows compatibility.
  • Many documentation improvements.
  • The RPC API now supports some method signatures that did not work previously
  • In RSBag
    • The maximum throughput when recording has been increased
    • The error recovery has been extended further
    • An initial Python client API has been added
    • The default timestamp used for indexing in log files has been changed from "create" to "send"

In the process, about 240 issues have been created and subsequently resolved.

This RSB release is available in the following forms:
  • Source archives
  • Pre-compiled self-installing archives or executable binaries
  • Debian packages for different Ubuntu Linux versions
    • Starting with this release, the development versions of our projects (master/trunk) are packaged in the "testing" repository of our Debian package server (as opposed to the "main" repository). So you need to add this repository to your apt sources list in case you want to have bleeding edge software installed via the Debian package management.
  • Pypi packages on the official server:
  • Maven package for rsb-java (on CITEC server)

Installation instructions and links for downloading can be found on the preparation pages of the RSB manual and the RSBag manual.

As always, bugs, feature requests and enhancement proposals can be reported in the respective issue trackers:
RSB,
RSBag.

For a more detailed list of fixed bugs, added features and other enhancements, see https://code.cor-lab.org/versions/12.

Please note, the RSB XML Support layer (RSB XML Support) will follow soon with the 0.9 release.

Socket transport fixes

Added by J. Wienke over 8 years ago

We have fixed some issues in the C++ implementation of the RSB socket transport, which may have caused inconsistencies or crashes. Therefore it is advisable to get the most recent version of 0.7 or the master branch. Please note that bug fixes were also made in RSC. Hence, RSC should also be upgraded.

RSB 0.7 Released

Added by J. Moringen over 8 years ago

We are happy to announce the release of version 0.7 of RSB. The development activities in this cycle focused on

  • Migration to git
  • TCP socket transport introduced and default
  • Error recovery, robustness and features of RSB and RSBag tools
  • End-user documentation
  • Packaging and deployment

In the process, about 70 issues have been created and subsequently resolved.

This RSB release is available in the following forms:
  • Source archives
  • Pre-compiled self-installing archives or executable binaries
  • Debian packages for different Ubuntu Linux versions
  • Prototypical homebrew recipes and pypi packages

Installation instructions and links for downloading can be found on the preparation pages of the RSB manual and the RSBag manual.

As always, bugs, feature requests and enhancement proposals can be reported in the respective issue trackers:
RSB,
RSBag.

Please note that:
  1. Only TCP socket transport is now enabled by default.

    For transport configuration issues see troubleshooting.

  2. Log files recorded with the 0.7 version of RSBag cannot be processed with older RSBag versions. The opposite direction works, though.

For a more detailed list of fixed bugs, added features and other enhancements, see https://code.cor-lab.org/versions/22.

Timesync tool has been merged into rsb-tools-cpp (4 comments)

Added by J. Wienke over 8 years ago

The RSB timesync tool, which synchronizes events from several scopes based on their timestamps, has been merged into the cpp tools section of this redmine project. The existing sub-project will be removed soon. Documentation that could be found there has been merged into the RSB manual available at http://docs.cor-lab.org.

1 2 3 (11-20/26)

Also available in: Atom