IndexNextUpPreviousUrbi SDK 3.0.0

Chapter 30
Release Notes

This chapter (also known as the Urbi ChangeLog, or Urbi NEWS) lists the user-visible changes in Urbi SDK releases.

 30.1 Urbi SDK 3.0
  30.1.1 Major changes
  30.1.2 Fixes
  30.1.3 Changes
  30.1.4 New features
  30.1.5 Documentation
 30.2 Urbi SDK 2.7.5
  30.2.1 Fixes
  30.2.2 Changes
  30.2.3 New Feature
  30.2.4 Documentation
 30.3 Urbi SDK 2.7.4
  30.3.1 Fixes
  30.3.2 Changes
  30.3.3 Documentation
 30.4 Urbi SDK 2.7.3
  30.4.1 Fixes
  30.4.2 Changes
  30.4.3 Documentation
 30.5 Urbi SDK 2.7.2
  30.5.1 Fixes
 30.6 Urbi SDK 2.7.1
  30.6.1 Fixes
  30.6.2 Changes
  30.6.3 Documentation
 30.7 Urbi SDK 2.7
  30.7.1 Changes
  30.7.2 New Features
  30.7.3 Documentation
 30.8 Urbi SDK 2.6
  30.8.1 Fixes
  30.8.2 Optimizations
  30.8.3 New Features
  30.8.4 Documentation
 30.9 Urbi SDK 2.5
  30.9.1 Fixes
  30.9.2 New Features
  30.9.3 Changes
  30.9.4 Documentation
 30.10 Urbi SDK 2.4
  30.10.1 Fixes
  30.10.2 New Features
  30.10.3 Documentation
 30.11 Urbi SDK 2.3
  30.11.1 Fixes
  30.11.2 New Features
 30.12 Urbi SDK 2.2
  30.12.1 Fixes
  30.12.2 New Features
  30.12.3 Documentation
 30.13 Urbi SDK 2.1
  30.13.1 Fixes
  30.13.2 New Features
  30.13.3 Optimization
  30.13.4 Documentation
 30.14 Urbi SDK 2.0.3
  30.14.1 New Features
  30.14.2 Fixes
  30.14.3 Documentation
 30.15 Urbi SDK 2.0.2
  30.15.1 urbiscript
  30.15.2 Fixes
  30.15.3 Documentation
 30.16 Urbi SDK 2.0.1
  30.16.1 urbiscript
  30.16.2 Documentation
  30.16.3 Fixes
 30.17 Urbi SDK 2.0
  30.17.1 urbiscript
  30.17.2 UObjects
  30.17.3 Documentation
 30.18 Urbi SDK 2.0 RC 4
  30.18.1 urbiscript
  30.18.2 UObjects
 30.19 Urbi SDK 2.0 RC 3
  30.19.1 urbiscript
  30.19.2 Documentation
 30.20 Urbi SDK 2.0 RC 2
  30.20.1 Optimization
  30.20.2 urbiscript
  30.20.3 UObjects
  30.20.4 Documentation
  30.20.5 Various
 30.21 Urbi SDK 2.0 RC 1
  30.21.1 Auxiliary programs
  30.21.2 urbiscript
  30.21.3 URBI Remote SDK
  30.21.4 Documentation
 30.22 Urbi SDK 2.0 beta 4
  30.22.1 Documentation
  30.22.2 urbiscript
  30.22.3 Programs
 30.23 Urbi SDK 2.0 beta 3
  30.23.1 Documentation
  30.23.2 urbiscript
  30.23.3 UObjects
  30.23.4 Auxiliary programs
 30.24 Urbi SDK 2.0 beta 2
  30.24.1 urbiscript
  30.24.2 Standard library
  30.24.3 UObjects
  30.24.4 Run-time
  30.24.5 Bug fixes
  30.24.6 Auxiliary programs

30.1 Urbi SDK 3.0

Released on 2011-XX-YY.

This release includes major changes and incompatibilities with urbi 2. A transition guide can be found in 17.

30.1.1 Major changes

30.1.2 Fixes

30.1.3 Changes

Please, pay attention to these changes, as your code may have to be adjusted.

30.1.3.1 urbiscript

30.1.3.2 urbiscript Standard Library

30.1.3.3 Miscellaneous

30.1.4 New features

30.1.4.1 urbiscript

30.1.4.2 urbiscript Standard Library

30.1.4.3 Miscellaneous

30.1.5 Documentation

30.2 Urbi SDK 2.7.5

Released on 2012-01-27.

This release fixes some packaging-related minor issues.

30.2.1 Fixes

30.2.2 Changes

30.2.3 New Feature

30.2.4 Documentation

30.3 Urbi SDK 2.7.4

Released on 2011-11-17.

This release back-ports several fixes from the forthcoming next major release of Urbi, to the 2.7 family.

30.3.1 Fixes

30.3.2 Changes

30.3.3 Documentation

30.4 Urbi SDK 2.7.3

Released on 2011-10-07.

30.4.1 Fixes

30.4.2 Changes

30.4.3 Documentation

30.5 Urbi SDK 2.7.2

Released on 2011-05-13.

There was no public release of Urbi SDK 2.7.2.

30.5.1 Fixes

30.6 Urbi SDK 2.7.1

Released on 2011-03-17.

30.6.1 Fixes

30.6.2 Changes

30.6.3 Documentation

30.7 Urbi SDK 2.7

Released on 2011-03-10.

Many optimizations have been implemented, and users should observe a significant speedup. Particularly, the threaded support in UObjects has been modified to perform all operations asynchronously, instead of locking the engine.

30.7.1 Changes

30.7.2 New Features

30.7.3 Documentation

30.8 Urbi SDK 2.6

Released on 2011-01-06.

This release features several deep changes that are not user visible, but which provide significant optimizations. Several bugs have been fixed too.

30.8.1 Fixes

30.8.2 Optimizations

30.8.3 New Features

30.8.4 Documentation

30.9 Urbi SDK 2.5

Released on 2010-12-07.

30.9.1 Fixes

30.9.2 New Features

30.9.3 Changes

30.9.4 Documentation

30.10 Urbi SDK 2.4

Released on 2010-10-20.

30.10.1 Fixes

30.10.2 New Features

30.10.3 Documentation

30.11 Urbi SDK 2.3

Released on 2010-09-28.

30.11.1 Fixes

30.11.2 New Features

30.12 Urbi SDK 2.2

Released on 2010-08-23.

30.12.1 Fixes

30.12.2 New Features

30.12.3 Documentation

30.13 Urbi SDK 2.1

Released on 2010-07-08.

30.13.1 Fixes

30.13.2 New Features

30.13.3 Optimization

30.13.4 Documentation

30.14 Urbi SDK 2.0.3

Released on 2010-05-28.

30.14.1 New Features

30.14.2 Fixes

30.14.3 Documentation

30.15 Urbi SDK 2.0.2

Released on 2010-05-06.

30.15.1 urbiscript

30.15.2 Fixes

30.15.3 Documentation

30.16 Urbi SDK 2.0.1

Released on 2010-05-03.

30.16.1 urbiscript

30.16.2 Documentation

30.16.3 Fixes

30.17 Urbi SDK 2.0

Released on 2010-04-09.

30.17.1 urbiscript

30.17.1.1 Changes

30.17.1.2 New features

30.17.2 UObjects

30.17.3 Documentation

30.18 Urbi SDK 2.0 RC 4

Released on 2010-01-29.

30.18.1 urbiscript

30.18.1.1 Changes

30.18.1.2 New objects

30.18.1.3 New features

30.18.2 UObjects

30.19 Urbi SDK 2.0 RC 3

Released on 2010-01-13.

30.19.1 urbiscript

30.19.1.1 Fixes

30.19.1.2 Changes

30.19.2 Documentation

30.20 Urbi SDK 2.0 RC 2

Released on 2009-11-30.

This release candidate includes many fixes and improvements that are not reported below. The following list is by no means exhaustive.

30.20.1 Optimization

The urbiscript engine was considerably optimized in both space and time.

30.20.2 urbiscript

30.20.2.1 New constructs

30.20.2.2 New objects

30.20.2.3 New features

30.20.2.4 Fixes

30.20.2.5 Deprecations

30.20.2.6 Changes

30.20.3 UObjects

30.20.4 Documentation

The documentation was fixed, completed, and extended. Its layout was also improved. Changes include, but are not limited to:

30.20.5 Various

30.21 Urbi SDK 2.0 RC 1

Released on 2009-04-03.

30.21.1 Auxiliary programs

30.21.2 urbiscript

30.21.2.1 Changes

30.21.2.2 Fixes

30.21.3 URBI Remote SDK

The API for plugged-in UObjects is not thread safe, and never was: calls to the API must be done only in the very same thread that runs the Urbi code. Assertions (run-time failures) are now triggered for invalid calls.

30.21.4 Documentation

Extended documentation on: Comparable, Orderable.

30.22 Urbi SDK 2.0 beta 4

Released on 2009-03-03.

30.22.1 Documentation

An initial sketch of documentation (a tutorial, and the language and library specifications) is included.

30.22.2 urbiscript

30.22.2.1 Bug fixes

30.22.2.2 Changes

30.22.3 Programs

30.22.3.1 Environment variables

The environment variable URBI_ROOT denotes the directory which is the root of the tree into which Urbi was installed. It corresponds to the “prefix” in GNU Autoconf parlance, and defaults to ‘/usr/local’ under Unix. urbiscript library files are expected to be in URBI_ROOT/share/gostai/urbi.

The environment variable URBI_PATH, which allows to specify a colon-separated list of directories into which urbiscript files are looked-up, may extend or override URBI_ROOT. Any superfluous colon denotes the place where the URBI_ROOT path is taken into account.

30.22.3.2 Scripting

To enable writing (batch) scripts seamlessly in Urbi, urbi-console -f’/‘--fast’ is now renamed as ‘-F’/‘--fast’. Please, never use short options in batch programs, as they are likely to change.

Two new option pairs, ‘-e’/‘--expression’ and ‘-f’/‘--file’, plus the ability to reach the command line arguments from Urbi make it possible to write simple batch Urbi programs. For instance:

 
cat demo 
#! /usr/bin/env urbi-console 
cout << System.arguments; 
shutdown; 
 
$ ./demo 1 2 3 | grep output 
[00000004:output] ["1""2""3"]  

30.22.3.3 urbi-console

urbi-console is now a simple wrapper around urbi-launch. Running

 
urbi-console arg1 arg2...  

is equivalent to running

 
urbi-launch --start -- arg1 arg2...  

30.22.3.4 Auxiliary programs

The command line interface of urbi-sendbin has been updated. urbi-send now supports ‘-e’/‘--expression’ and ‘-f’/‘--file’. For instance

 
$ urbi-send -e ’var x;’ -e "x = $value;" -e ’shutdown;’  

30.23 Urbi SDK 2.0 beta 3

Released on 2009-01-05.

30.23.1 Documentation

A new document, ‘FAQ.txt’, addresses the questions most frequently asked by our users during the beta-test period.

30.23.2 urbiscript

30.23.2.1 Fixes

30.23.2.2 Changes

30.23.3 UObjects

30.23.4 Auxiliary programs

urbi-launch
Now, options for urbi-launch are separated from options to give to the underlying program (in remote and start modes) by using ‘--’. Use ‘urbi-launch --help’ to get the full usage information.

30.24 Urbi SDK 2.0 beta 2

Released on 2008-11-03.

30.24.1 urbiscript

30.24.2 Standard library

30.24.3 UObjects

UVar::type() method.
It is now possible to get the type of a UVar by calling its type() method, which returns a UDataType (see ‘urbi/uvalue.hh’ for the types declarations).

30.24.4 Run-time

Stack exhaustion check on Windows

As was done on GNU/Linux already, stack exhaustion condition is detected on Windows, for example in the case of an infinite recursion. In this case, SchedulingError will be raised and can be caught.

Errors from the trajectory generator are propagated

If the trajectory generator throws an exception, for example because it cannot assign the result of its computation to a non-existent variable, the error is propagated and the generator is stopped:

 
xx = 20 ampli:5 sin:10s; 
[00002140:error] !!! lookup failed: xx  

30.24.5 Bug fixes

Support for Windows shares

Previous versions of the kernel could not be launched from a Windows remote directory whose name is starting with two slashes such as ‘//share/some/dir’.

Implement UVar::syncValue() in plugged uobjects

Calling syncValue() on a UVar from a plugged UObject resulted in a link error. This method is now implemented, but does nothing as there is nothing to do. However, its presence is required to be able to use the same UObject in both remote and engine modes.

isdef works again

The support for k1 compatibility function isdef was broken in the case of composed names or variables whose content was void. Note that we do not recommend using isdef at all. Slots related methods such as getSlot, hasSlot, locateSlot, or slotNames have much cleaner semantics.

__name macro

In some cases, the __name macro could not be used with plugged uobjects, for example in the following expression:

 
send(__name + ".val = 1;");  
This has been fixed. __name contains a valid slot name of uobjects.

30.24.6 Auxiliary programs

The sample programs demonstrating the SDK Remote, i.e., how to write a client for the Urbi server, have been renamed from urbi* to urbi-*. For instance urbisend is now spelled urbi-send.

Besides, their interfaces are being overhauled to be more consistent with the Urbi command-line tool-box. For instance while urbisend used to require exactly two arguments (host-name, file to send), it now supports options (e.g., ‘--help’, ‘--port’ to specify the port etc.), and as many files as provided on the command line.