Lunchbox  1.8.0
RelNotes.md
1 Release Notes {#RelNotes}
2 ============
3 
4 [TOC]
5 
6 # Introduction {#Introduction}
7 
8 Welcome to Lunchbox, a C++ library for multi-threaded programming.
9 Lunchbox 1.8 adds major new features, most notably runtime-loadable
10 compression plugins and an UnorderedIntervalSet container.
11 
12 Lunchbox 1.8 is a feature release based on the 1.6 Lunchbox API. It is
13 intended for all application developers creating high-preformance
14 multi-threaded programs. Lunchbox 1.8 can be retrieved by downloading
15 the
16 [source code](http://www.equalizergraphics.com/downloads/Lunchbox-1.8.0.tar.gz)
17 or any of the
18 [precompiled packages](http://www.equalizergraphics.com/downloads/major.html).
19 
20 ## Features {#Features}
21 
22 Lunchbox provides the following major features to facilitate the
23 development and deployment of multi-threaded applications:
24 
25 * OS Abstraction: Utility classes abstracting common operating systems
26  features, e.g., threads, locks, memory maps, shared library loading
27  and condition variables.
28 * High-Performance Primitives: Thread-safe utilities tuned for
29  performance, e.g., atomic variables, spin locks and lock-free
30  containers.
31 * Utility classes: Helper primitives which are not in the standard
32  library, e.g., logging, pools and random number generation.
33 
34 # New in this release {#New}
35 
36 Lunchbox 1.8 contains the following features, enhancements, bug fixes
37 and documentation changes over Lunchbox 1.6:
38 
39 ## New Features {#NewFeatures}
40 
41 * Runtime-loadable compression and CPU-GPU transfer plugins
42  ([18](https://github.com/Eyescale/Lunchbox/issues/18))
43 * UnorderedIntervalSet container
44 
45 ## Enhancements {#Enhancements}
46 
47 * Improved DSO, MemoryMap, MTQueue, uint128_t, UUID and LFVector APIs
48 * searchDirectory uses boost::regex for file matching
49 * [Hide pthread.h from API](https://github.com/Eyescale/Lunchbox/issues/26)
50 
51 ## Optimizations {#Optimizations}
52 
53 * Increased speed and compression ratio for
54  [updated snappy compressor](https://github.com/Eyescale/Lunchbox/issues/19)
55 * [Equalizer#140:](https://github.com/Eyescale/Equalizer/issues/140) Add
56  LZ-variant byte compressors
57 
58 ## Documentation {#Documentation}
59 
60 The following documentation has been added or substantially improved
61 since the last release:
62 
63 * [API documentation](http://eyescale.github.io/Lunchbox-1.8/index.html)
64  of the public Lunchbox API
65 
66 ## Bug Fixes {#Fixes}
67 
68 Lunchbox 1.8 includes various bugfixes over the 1.6 release, including
69 the following:
70 
71 * [22:](https://github.com/Eyescale/Lunchbox/issues/22) LFVector
72  iterators with non-default number of slots do not work
73 * [9:](https://github.com/Eyescale/Lunchbox/issues/9) Memory leak in
74  Thread::setAffinity
75 
76 ## Known Bugs {#Bugs}
77 
78 The following bugs were known at release time. Please file a
79 [Bug Report](https://github.com/Eyescale/Lunchbox/issues) if you find
80 any other issue with this release.
81 
82 * [6:](https://github.com/Eyescale/Lunchbox/issues/6)
83 Condition::timedWait does not wait on early RHEL 6.1 versions
84 
85 # About {#About}
86 
87 Lunchbox is a cross-platform library, designed to run on any modern
88 operating system, including all Unix variants and the Windows operating
89 system. Lunchbox uses CMake to create a platform-specific build
90 environment. The following platforms and build environments are tested:
91 
92 * Linux: Ubuntu 12.04, 12.10, 13.04, RHEL 6 (Makefile, i386, x64)
93 * Windows: 7 (Visual Studio 2008, i386, x64)
94 * Mac OS X: 10.8 (Makefile, XCode, i386, x64)
95 
96 The
97 [API documentation](http://eyescale.github.io/Lunchbox-1.8/index.html)
98 can be found on [eyescale.github.io](http://eyescale.github.io/). As
99 with any open source project, the available source code, in particular
100 the [unit tests](https://github.com/Eyescale/Lunchbox/tree/1.8/tests)
101 provide a reference for developing applications.
102 
103 Technical questions can be posted to the Equalizer
104  [Developer Mailing List](http://www.equalizergraphics.com/cgi-bin/mailman/listinfo/eq-dev),
105  or directly to
106  [info@equalizergraphics.com](mailto:info@equalizergraphics.com?subject=Lunchbox%20question).
107 
108 Commercial support, custom software development and porting services are
109 available from [Eyescale](http://www.eyescale.ch). Please contact
110 [info@eyescale.ch](mailto:info@eyescale.ch?subject=Lunchbox%20support)
111 for further information.
112 
113 # Errata