Collage  1.1.2
High-performance C++ library for developing object-oriented distributed applications.
 All Pages
RelNotes.md
1 Release Notes {#mainpage}
2 ============
3 
4 [TOC]
5 
6 # Introduction {#Introduction}
7 
8 Welcome to Collage, a high-performance C++ library for developing
9 object-oriented distributed applications.
10 
11 Collage 1.1 is a preview release for an upcoming
12 stable 1.2 release which has over eight years of development and decades of
13 experience into a high-performance and mature C++ library. It is intended for
14 all C++ developers creating distributed applications with high-level
15 abstractions. Collage 1.1 can be retrieved by
16 downloading the source code or one of the precompiled packages.
17 
18 ## Features {#Features}
19 
20 Collage provides different levels of abstraction to facilitate the
21 development distributed applications:
22 
23 * Network Connections: stream-oriented point-to-point and reliable multicast
24  connections for TCP/IP, SDP, InfiniBand RDMA, UDT, events, named and anonymous
25  pipes, memory buffers and reliable multicast over UDP.
26 * Peer-to-Peer Messaging: Endian-safe node-to-node message communication with
27  thread-aware message dispatch.
28 * Synchronization: Distributed barriers and synchronous messaging.
29 * Object data distribution: high-performance, object-oriented, versioned data
30  distribution for C++ objects based on delta serialization.
31 
32 # New in this release {#New}
33 
34 Collage 1.1 contains the following features,
35 enhancements, bug fixes and documentation changes over the Collage
36  release:
37 
38 ## New Features {#NewFeatures}
39 
40 * [54](https://github.com/Eyescale/Collage/pull/54): Enable serialization of
41  std::string Arrays
42 
43 ## Enhancements {#Enhancements}
44 
45 * [37](https://github.com/Eyescale/Collage/issues/37): Make CommandQueue maximum
46  size configurable
47 * [55](https://github.com/Eyescale/Collage/pull/55): Robustness for late join
48 * [69](https://github.com/Eyescale/Collage/pull/69): Refactor Barrier API for
49  robustness, deprecate old API
50 
51 ## Optimizations {#Optimizations}
52 
53 * [27](https://github.com/Eyescale/Collage/issues/27): Add LocalNode::syncObject
54 * [28](https://github.com/Eyescale/Collage/issues/28): BufferCache::compact too
55  expensive
56 * [38](https://github.com/Eyescale/Collage/issues/38): Make ConnectionSet
57  processing round-robin on Unix
58 
59 ## Tools {#Tools}
60 
61 * No new tools
62 
63 ## Documentation {#Documentation}
64 
65 The following documentation has been added or substantially improved since the
66 last release:
67 
68 * README.md gives more initial information, build instructions and links to
69  released versions
70 * [API documentation](http://eyescale.github.io/Collage-1.1/index.html) of the
71  public Collage API
72 
73 ## Bug Fixes {#Fixes}
74 
75 Collage 1.1 includes various bugfixes over the
76 Collage release, including the following:
77 
78 * [16](https://github.com/Eyescale/Collage/issues/16): RSP Interface not
79  bound on Linux
80 * [29](https://github.com/Eyescale/Collage/issues/29): Change managers may
81  access dangling objects
82 * [32](https://github.com/Eyescale/Collage/pull/32): Default port is priviledged
83  for high UIDs
84 * [34](https://github.com/Eyescale/Collage/issues/34): ICommand behaves
85  incorrect once all data is consumed
86 * [50](https://github.com/Eyescale/Collage/pull/50): Use correct master node for
87  mapping objects
88 * [52](https://github.com/Eyescale/Collage/issues/52): RSP: Protocol bug for
89  very late and early packet delivery.
90 * [71](https://github.com/Eyescale/Collage/issues/71): BufferCache race may lead
91  to segmentation fault
92 * [79](https://github.com/Eyescale/Collage/issues/79): Node::connect race
93  condition
94 * [82](https://github.com/Eyescale/Collage/issues/82): Barrier races and
95  deadlocks with sync()
96 * [88](https://github.com/Eyescale/Collage/issues/88): LocalNode::handleData()
97  asserts handling non-pending receive
98 * [112](https://github.com/Eyescale/Collage/pull/112): Fix racy connection
99  handshake
100 * [113](https://github.com/Eyescale/Collage/pull/113): De-race
101  EventConnection::close to fix Travis
102 
103 ## Known Bugs {#Bugs}
104 
105 The following bugs were known at release time. Please file a [Bug Report]
106 (https://github.com/Eyescale/Collage/issues) if you find any other issue with
107 this release.
108 
109 * [57](https://github.com/Eyescale/Collage/issues/57): Windows: Larger number of
110  concurrent receives causes intermittent blocking
111 * [15](https://github.com/Eyescale/Collage/issues/15): RDMAConnection
112  not endian-safe
113 * [14](https://github.com/Eyescale/Collage/issues/14): coNetperf server
114  occasionally crashes on client disconnect
115 * [2](https://github.com/Eyescale/Collage/issues/2): Multiple dispatcher
116  inheritance not working with xlC
117 
118 # About {#About}
119 
120 Collage is a cross-platform library, designed to run on any modern operating
121 system, including all Unix variants and the Windows operating system. Collage
122 uses CMake and [Buildyard](https://github.com/Eyescale/Buildyard) to create a
123 platform-specific build environment. The following platforms and build
124 environments are tested for version 1.1:
125 
126 * Linux: Ubuntu 14.04, RHEL 6.5 (Makefile, i386, x64)
127 * Windows: 7 (Visual Studio 2008, i386, x64)
128 * Mac OS X: 10.8 (Makefile, XCode, i386, x64)
129 
130 The Equalizer Programming and User Guide covers the basics of Collage
131 programming. The API documentation can be found on
132 [github](http://eyescale.github.io/).
133 
134 As with any open source project, the available source code, in particular the
135 shipped tools provide a reference for developing or porting applications.
136 
137 Technical questions can be posted to the eq-dev Mailing List, or
138 directly to info@equalizergraphics.com.
139 
140 Commercial support, custom software development and porting services are
141 available from [Eyescale](http://www.eyescale.ch). Please contact
142 [info@eyescale.ch](mailto:info@eyescale.ch?subject=Collage%20support) for
143 further information.
144 
145 # Errata