qiFramework v1.0.2 (2017-11-23)

For this version, we focused on fixing libqi unit tests to reach green status with high confidence. We identified a few rare issues that only happen when launching tests at least 100 times.

Some fixes implied changing the tests and/or adding safer abstractions to make their code correct. Additions unlisted below are mainly for internal usage and will be published for users in a later release.


  • utils: Adds a weakPtr function: Constructs a weak pointer from any shared pointer implementation;
  • tests: Adds session and futures utility functions: test::finishesWithValue(), etc;

Improved Feature(s)


  • Signal Spy: allow waitUntil to be cancelled;
  • signal: Adds an ExecutionContext to Signals constructor arguments;

Deprecated Feature(s)


  • qi::EventLoop::start/join/stop()

Bug fix(es)

Most fixes were identified through tests and therefore do not have an associated ticket. Following is the list of tickets we identified as fixed.


  • Fixes event loop crashes on program end ( #38631)
  • Fixes: Future may throw in its dtor, causing the program to abort ( #40322)

Known failing libqi tests (only seen rarely when launching tests in loop on all supported platforms):

  • test_qi
  • AsyncLog.logasync
  • test_messaging
  • TestGateway.testSDLocalService (peut etre)
  • test_messaging_with_sessionpair –mode ssl
  • TestSession.SimpleConnectionToInvalidSd
  • TestCallOnCloseSession.GettingServiceWhileDisconnecting
  • test_messaging_with_sessionpair –mode gateway
  • TestCallOnCloseSession.GettingServiceWhileDisconnecting