Skip to content

Latest commit

 

History

History
1058 lines (733 loc) · 34.3 KB

news.rst

File metadata and controls

1058 lines (733 loc) · 34.3 KB

News

Changes

none so far

This |project| release is available in the following forms:

  • Source archives
  • Pre-compiled self-installing archives or executable binaries
  • Debian packages for different |ubuntu| versions (currently C++ and Common Lisp implementations only)
  • Pypi packages for the |python| implementation
  • Maven package for the Java implementation

These can be downloaded from the 0.18 jobs continuous integration server or `repository server`_ respectively. :ref:`Installation instructions <install>` and links for downloading can be found in the |project| :ref:`manual <rsb>`.

As always, bugs, feature requests and enhancement proposals can be reported as issues in the appropriate project of our `github organization`_.

Changes

Note

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

This |project| release is available in the following forms:

  • Source archives
  • Pre-compiled self-installing archives or executable binaries
  • Debian packages for different |ubuntu| versions (currently C++ and Common Lisp implementations only)
  • Pypi packages for the |python| implementation
  • Maven package for the Java implementation

These can be downloaded from the 0.17 jobs continuous integration server or `repository server`_ respectively. :ref:`Installation instructions <install>` and links for downloading can be found in the |project| :ref:`manual <rsb>`.

As always, bugs, feature requests and enhancement proposals can be reported as issues in the appropriate project of our `github organization`_.

Changes

Note

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

Note

This |project| release is only available in source code form from the `repository server`_.

We no longer accept bug reports against this |project| version.

Changes

Note

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

Note

This |project| release is only available in source code form from the `repository server`_.

We no longer accept bug reports against this |project| version.

Changes

Note

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

Note

This |project| release is only available in source code form from the `repository server`_.

We no longer accept bug reports against this |project| version.

Changes

Note

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

Note

This |project| release is only available in source code form from the `repository server`_.

We no longer accept bug reports against this |project| version.

Changes

  • |project| now has an official logo.

  • All languages

    • The APIs of the different language implementations have been unified. Please refer to the different language-specific sections and issue 2222 for details.
  • Manual

    • The API documentation links have been moved from the sidebar to a new item on the :ref:`start page <rsb>` of the manual along with the direct inclusion of the |python| API documentation in this manual.
  • C++

    • The API has been adapted to match other implementations:
      • Event::{get,set}EventId has been renamed to {get,set}Id. The previously existing and long time deprecated method getId has been removed during this process.
      • Event::getSequenceNumber has been deprecated in favor of the respective method on an EventId instance.
      • MetaData::{get,set}SenderId have been deprecated in favor of using the getParticipantId method on an EventId instance.
    • |project| C++ will now throw an exception in case a requested :term:`plugin` cannot be found (issue #2487).
    • The options plugins.cpp.path and plugins.cpp.load behave more consistently and allow inheriting values from the next more generic configuration source.
  • Python

  • Java

    • The `Maven`_ repository server |project| java is deployed to has moved. You need to update your downstream projects accordingly to receive new versions of this project. Instructions can be found at :ref:`the installation instructions <install-binary-java-maven>`.
    • The ant build system of |project| java has been dropped and the project has been converted to a proper `Maven`_ project using the standard file system layout conventions etc. Ant users can still use the project by including the `Maven`_-generated jar files. Also, the convenient zip archive containing the |project| java jar as well as the required upstream dependencies still exists. Please refer to the :ref:`installation instructions <install>` for further information and updated URLs resulting from this change.
    • The filter API has been refactored to match the API of the other language implementations. While AbstractFilter still provides the old API for client code, it has been deprecated in favor of directly implementing the much simplified Filter interface. Client code has to be updated.
    • InterruptedExceptions are now handled correctly (i.e. not swallowed) and properly exposed to callers, who are the ones who need to handle them. This changes the API slightly.
    • RemoteServer exposes the standard java.util.concurrent.Future interface instead of a custom implementation class. This ensures compatibility with standard interfaces, prevents accidental exception hiding (as happened with InterruptedException) and prevents clients from illegally completing a Future instance. As a consequence, the get method with just a long value as a timeout in milliseconds is not available anymore (that signature is not part of the standard Future interface). Always supplying an explicit TimeUnit makes things much clearer, anyway. This changes the API in an incompatible way and client code needs to be updated.
    • InvalidStateException has been removed and replaced with IllegalStateException. The documented behavior was to throw IllegalStateException anyway in Activatable. Please update your exception handlers in case you previously handled InvalidStateException.
    • The RPC Callback API has been changed to only allow throwing Exception instances and not every Throwable. This ensures that important things like out of memory errors are not caught uncontrollably by the framework. You probably only have to change the callback invoke method declarations to throws Exception.
    • The Informer#send methods have been renamed to publish to match other implementations. The old names still exist for some time with a deprecation warning before they will be removed.
  • Common Lisp

  • Common Lisp Tools

Note

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

Note

This |project| release is only available in source code form from the `repository server`_.

We no longer accept bug reports against this |project| version.

Changes

  • Specification

  • All languages

  • C++

    • The implementation now uses Boost.Signals2 instead of the deprecated version 1. This changes the external API for :term:`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, including the method :cpp:func:`Factory::getInstance`.
  • Java

    • Several minor issues in the socket :term:`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

Note

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

Note

This |project| release is only available in source code form from the `repository server`_.

We no longer accept bug reports against this |project| version.

Note

Starting with this release, the :ref:`request-reply communication pattern <specification-request-reply>` uses a new protocol. As a result, request-reply communication is not be possible between earlier versions and this version of |project|.

Note

Although never "officially" supported, the |python| implementation previously allowed constructing :term:`participants <participant>` by using the constructors of the respective classes. This is now explicitly unsupported. :py:func:`rsb.createListener` etc. have to be used instead.

Changes

Note

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

Note

Starting with this release, |ubuntu| lucid is no longer officially supported. At least for C++, the `CMake`_ scripts will most likely not work.

Note

This |project| release is only available in source code form from the `repository server`_.

We no longer accept bug reports against this |project| version.

Changes

Note

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

Note

In the C++ implementation, the :term:`Spread` :term:`transport` is now implemented as a :term:`plugin`. In case of problems, see :ref:`troubleshooting-spread-does-not-work`.

Note

This |project| release is only available in source code form from the `repository server`_.

We no longer accept bug reports against this |project| version.

Changes

Note

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

Note

Note

This |project| release is only available in source code form from the `repository server`_.

We no longer accept bug reports against this |project| version.

Changes

Note

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

Note

|project| clients using the 0.6 version cannot generally communicate with clients using a previous |project| version.

Note

This |project| release is only available in source code form from the `repository server`_.

We no longer accept bug reports against this |project| version.

General Changes

Tools

Note

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

Note

Note

This |project| release is only available in source code form from the `repository server`_.

We no longer accept bug reports against this |project| version.

The development activities in this cycle focused primarily on API improvements and the integration of :term:`causal vectors <causal vector>`. Moreover, complete compatibility for MSVC 2010 is now ensured and MacOS compatibility has been improved. In the process, about 60 issues have been created and subsequently resolved.

General Changes

Network Protocol and Configuration

Tools

C++

  • Support for :term:`causal vectors <causal vector>` has been added.
  • The client API for creation and configuration of :term:`participants <participant>` and :term:`events <event>` has been simplified.
  • Convenience functions for participant creation without the factory have been added. (Suggested by: Robert Haschke)
  • OriginFilter has been added.
  • Compilation time has been reduced. (Suggested by: Matthias Rolf)
  • A name-clash with a Qt macro has been resolved (Reported by: Matthias Rolf)
  • :term:`Event` dispatching now allows multiple threading strategies.
  • Performance Improvements * Caching of :term:`Spread` group names * <-comparison of EventId s

Java

Python

Common Lisp

Note

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

Note

|project| clients using the 0.4 version of |project| cannot communicate with clients using a previous |project| version.

Note

This |project| release is only available in source code form from the `repository server`_.

We no longer accept bug reports against this |project| version.

The development activities in this cycle focused primarily on extending and optimizing the wire format and improving the usability of and support for protocol buffer message objects as event payloads. In the process, more than 30 issues have been created and subsequently resolved.

Network Protocol for :term:`Spread`-based Communication

C++

  • In addition to blocking request/reply invocation, a future-based asynchronous interface is now available.
  • Several performance problems related to :term:`scope` and :term:`event` construction have been fixed. (Thanks: Matthias Rolf, Arne Nordmann)

Java

Python

Common Lisp

  • Request/reply communication with blocking and asynchronous invocation modes has been implemented.

Note

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