1 Release Notes {#RelNotes}
6 # Introduction {#Introduction}
8 Welcome to Lunchbox, a C++ library for multi-threaded programming.
9 Lunchbox 1.10 adds URI parsing, persistent map interface for key value
10 stores, compilation fixes for different platforms and adds minor improvements
13 Lunchbox 1.10 is a feature release based on the 1.9 Lunchbox API. It is
14 intended for all application developers creating high-preformance
15 multi-threaded programs. Lunchbox 1.10 can be retrieved by downloading
17 [source code](http://www.equalizergraphics.com/downloads/Lunchbox-1.10.0.tar.gz)
19 [precompiled packages](http://www.equalizergraphics.com/downloads/major.html).
21 ## Features {#Features}
23 Lunchbox provides the following major features to facilitate the
24 development and deployment of multi-threaded applications:
26 * OS Abstraction: Utility classes abstracting common operating systems
27 features, e.g., threads, locks, memory maps, shared library loading
28 and condition variables.
29 * High-Performance Primitives: Thread-safe utilities tuned for
30 performance, e.g., atomic variables, spin locks and lock-free
32 * Utility classes: Helper primitives which are not in the standard
33 library, e.g., logging, pools and random number generation.
35 # New in this release {#New}
37 Lunchbox 1.10 contains the following features, enhancements, bug fixes
38 and documentation changes over Lunchbox 1.9:
40 ## New Features {#NewFeatures}
42 * lunchbox::URI parsing support according to RFC3986
43 * lunchbox::PersistentMap interface for persistent key-value stores
44 * lunchbox::getHostname function
46 ## Enhancements {#Enhancements}
48 * Added timeout parameter for the Future::wait function
49 * Improved thread logging facilities
50 * Added API for continuous browsing to lunchbox::Servus
51 * Improved lunchbox::Servus implementations, supporting continuous browsing and
52 using the native Avahi API on Linux
54 ## Optimizations {#Optimizations}
56 * Improved performance of lunchbox::make_uint128()
58 ## Documentation {#Documentation}
60 * [API documentation](http://eyescale.github.io/Lunchbox-1.10/index.html)
61 of the public Lunchbox API
65 Lunchbox 1.10 includes various compilation fixes over the 1.9 release, including
68 * OSX 10.9, Win32 builds improved.
72 The following bugs were known at release time. Please file a
73 [Bug Report](https://github.com/Eyescale/Lunchbox/issues) if you find
74 any other issue with this release.
76 * [6:](https://github.com/Eyescale/Lunchbox/issues/6)
77 Condition::timedWait does not wait on early RHEL 6.1 versions
81 Lunchbox is a cross-platform library, designed to run on any modern
82 operating system, including all Unix variants and the Windows operating
83 system. Lunchbox uses CMake to create a platform-specific build
84 environment. The following platforms and build environments are tested:
86 * Linux: Ubuntu 12.04, 12.10, 13.04, 13.10, 14.04 RHEL 6 (Makefile, i386, x64)
87 * Windows: 7 (Visual Studio 2008, i386, x64)
88 * Mac OS X: 10.8 (Makefile, XCode, i386, x64)
91 [API documentation](http://eyescale.github.io/Lunchbox-1.8/index.html)
92 can be found on [eyescale.github.io](http://eyescale.github.io/). As
93 with any open source project, the available source code, in particular
94 the [unit tests](https://github.com/Eyescale/Lunchbox/tree/1.8/tests)
95 provide a reference for developing applications.
97 Technical questions can be posted to the Equalizer
98 [Developer Mailing List](http://www.equalizergraphics.com/cgi-bin/mailman/listinfo/eq-dev),
100 [info@equalizergraphics.com](mailto:info@equalizergraphics.com?subject=Lunchbox%20question).
102 Commercial support, custom software development and porting services are
103 available from [Eyescale](http://www.eyescale.ch). Please contact
104 [info@eyescale.ch](mailto:info@eyescale.ch?subject=Lunchbox%20support)
105 for further information.