Download Latest Version safir_sdk_core_5.0.1.tar.bz2 (4.7 MB)
Email in envelope

Get an email when there's a new version of Safir SDK Core

Home / Version 4.5
Name Modified Size InfoDownloads / Week
Parent folder
Windows Binaries 2013-10-15
README.md 2013-10-14 3.7 kB
safir_sdk_core_sug.pdf 2013-10-14 754.1 kB
safir_sdk_core_4.5.zip 2013-10-12 5.6 MB
safir_sdk_core_4.5.tar.bz2 2013-10-12 2.8 MB
Totals: 5 Items   9.1 MB 0

Safir SDK Core Version 4.5

Documentation

User's Guide for Safir SDK Core Version 4.5 HTML PDF

Doxygen interface documentation can be found here.

This release introduces the following changes:

  • Removed all internal dependencies to ACE (use Boost.Asio instead).
  • SwReports have been replaced with Safir Logging. Safir Logging is an interface to Syslog (as defined by RFC3164), which allows Safir SDK Core to log to a syslog daemon, instead of using the non-standard SwReport mechanism.
  • Added functionality under Safir.Logging for logging (see User's Guide for more info).
  • The "old" functions under Safir.SwReports are now deprecated but they have been changed to log to Safir Logging.
  • All Core components now report errors to Safir Log (instead of stdout/lllerr/panic log).
  • ResponseSender/Proxy usage errors are now reported to Safir Log, instead of crashing the app.
  • Tracer rewritten to use Safir Logging.
  • Added a lot of automatic tests.
  • Support for 64 bit Windows installs added.
  • Made missing external time provider cause exceptions instead of just silently failing.
  • Rewrote build script and dobmake.py to use jom for parallel builds.
  • Rewrote dots_v in python (removes a lot of Ada dependencies!)
  • Numerous minor bug fixes!

Interface Changes

This release is 99% backwards compatible, but due to a couple of bug fixes and especially the introduction of Safir Logging (the Syslog interface) some interfaces have had to be changed or adjusted. Below is a summary of the interface changes. You can find more information about the changes introduced due to the introduction of Safir Logging in the Safir User's Guide.

  • The representation of binaries in blobs has changed slightly (there was a redundant field, that has been removed). This means that blobs containing binaries produced by previous SDK versions will not be readable by this version. So make sure to convert any blobs that you wish to bring along to xml before upgrade and then back to blob after the upgrade. For blobs stored in the persistent storage you can use dope_bin2xml to do this. See User's Guide for more info.
  • The Object Factory in Ada has been renamed. It is now found under Safir.Dob.Typesystem.Object.Factory.
  • The loading of an External Time Provider (configured in in Safir.Time.LibraryParameters.dou) has changed so that an exception will be thrown if the library cannot be found. Previously the failure would be ignored silently. The default configuration has changed from trying to load a library called 'tiha.dll' to not try to load any library at all. So if you want to continue using a library by that name you will have to make changes to Safir.Time.LibraryParameters.dou, to make sure the correct library is loaded and that the correct functions within that library are used.
  • Safir Logging / Syslog related changes (See Safir SDK Core User's Guide for details):
  • Tracer needs to be started explicitly.
  • Tracer flushes its data differently.
  • Tracer.SetProgramName has been removed.
  • Crash Reporter start and stop functions have been renamed.
  • The BackdoorKeeper interface has been changed to keep it in line with how the TracerBackdoor interface looks. It now takes a connection as argument to the constructor, and it is that connection that the backdoor will use to subscribe to the backdoor commands.
Source: README.md, updated 2013-10-14