Lunchbox 1.10.0

RelNotes.md

00001 Release Notes {#RelNotes}
00002 ============
00003 
00004 [TOC]
00005 
00006 # Introduction {#Introduction}
00007 
00008 Welcome to Lunchbox, a C++ library for multi-threaded programming.
00009 Lunchbox 1.10 adds URI parsing, persistent map interface for key value
00010 stores, compilation fixes for different platforms and adds minor improvements
00011 of the API.
00012 
00013 Lunchbox 1.10 is a feature release based on the 1.9 Lunchbox API. It is
00014 intended for all application developers creating high-preformance
00015 multi-threaded programs. Lunchbox 1.10 can be retrieved by downloading
00016 the
00017 [source code](http://www.equalizergraphics.com/downloads/Lunchbox-1.10.0.tar.gz)
00018 or any of the
00019 [precompiled packages](http://www.equalizergraphics.com/downloads/major.html).
00020 
00021 ## Features {#Features}
00022 
00023 Lunchbox provides the following major features to facilitate the
00024 development and deployment of multi-threaded applications:
00025 
00026 * OS Abstraction: Utility classes abstracting common operating systems
00027   features, e.g., threads, locks, memory maps, shared library loading
00028   and condition variables.
00029 * High-Performance Primitives: Thread-safe utilities tuned for
00030   performance, e.g., atomic variables, spin locks and lock-free
00031   containers.
00032 * Utility classes: Helper primitives which are not in the standard
00033   library, e.g., logging, pools and random number generation.
00034 
00035 # New in this release {#New}
00036 
00037 Lunchbox 1.10 contains the following features, enhancements, bug fixes
00038 and documentation changes over Lunchbox 1.9:
00039 
00040 ## New Features {#NewFeatures}
00041 
00042 * lunchbox::URI parsing support according to RFC3986
00043 * lunchbox::PersistentMap interface for persistent key-value stores
00044 * lunchbox::getHostname function
00045 
00046 ## Enhancements {#Enhancements}
00047 
00048 * Added timeout parameter for the Future::wait function
00049 * Improved thread logging facilities
00050 * Added API for continuous browsing to lunchbox::Servus
00051 * Improved lunchbox::Servus implementations, supporting continuous browsing and
00052   using the native Avahi API on Linux
00053 
00054 ## Optimizations {#Optimizations}
00055 
00056 * Improved performance of lunchbox::make_uint128()
00057 
00058 ## Documentation {#Documentation}
00059 
00060 * [API documentation](http://eyescale.github.io/Lunchbox-1.10/index.html)
00061   of the public Lunchbox API
00062 
00063 ## Bug Fixes {#Fixes}
00064 
00065 Lunchbox 1.10 includes various compilation fixes over the 1.9 release, including
00066 the following:
00067 
00068 * OSX 10.9, Win32 builds improved.
00069 
00070 ## Known Bugs {#Bugs}
00071 
00072 The following bugs were known at release time. Please file a
00073 [Bug Report](https://github.com/Eyescale/Lunchbox/issues) if you find
00074 any other issue with this release.
00075 
00076 * [6:](https://github.com/Eyescale/Lunchbox/issues/6)
00077 Condition::timedWait does not wait on early RHEL 6.1 versions
00078 
00079 # About {#About}
00080 
00081 Lunchbox is a cross-platform library, designed to run on any modern
00082 operating system, including all Unix variants and the Windows operating
00083 system. Lunchbox uses CMake to create a platform-specific build
00084 environment. The following platforms and build environments are tested:
00085 
00086 * Linux: Ubuntu 12.04, 12.10, 13.04, 13.10, 14.04 RHEL 6 (Makefile, i386, x64)
00087 * Windows: 7 (Visual Studio 2008, i386, x64)
00088 * Mac OS X: 10.8 (Makefile, XCode, i386, x64)
00089 
00090 The
00091 [API documentation](http://eyescale.github.io/Lunchbox-1.8/index.html)
00092 can be found on [eyescale.github.io](http://eyescale.github.io/). As
00093 with any open source project, the available source code, in particular
00094 the [unit tests](https://github.com/Eyescale/Lunchbox/tree/1.8/tests)
00095 provide a reference for developing applications.
00096 
00097 Technical questions can be posted to the Equalizer
00098   [Developer Mailing List](http://www.equalizergraphics.com/cgi-bin/mailman/listinfo/eq-dev),
00099   or directly to
00100   [info@equalizergraphics.com](mailto:info@equalizergraphics.com?subject=Lunchbox%20question).
00101 
00102 Commercial support, custom software development and porting services are
00103 available from [Eyescale](http://www.eyescale.ch). Please contact
00104 [info@eyescale.ch](mailto:info@eyescale.ch?subject=Lunchbox%20support)
00105 for further information.
00106 
00107 # Errata