1 Release Notes {#mainpage}
6 # Introduction {#Introduction}
8 Welcome to Collage, a high-performance C++ library for developing
9 object-oriented distributed applications.
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.
18 ## Features {#Features}
20 Collage provides different levels of abstraction to facilitate the
21 development distributed applications:
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.
32 # New in this release {#New}
34 Collage 1.1 contains the following features,
35 enhancements, bug fixes and documentation changes over the Collage
38 ## New Features {#NewFeatures}
40 * [54](https://github.com/Eyescale/Collage/pull/54): Enable serialization of
43 ## Enhancements {#Enhancements}
45 * [37](https://github.com/Eyescale/Collage/issues/37): Make CommandQueue maximum
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
51 ## Optimizations {#Optimizations}
53 * [27](https://github.com/Eyescale/Collage/issues/27): Add LocalNode::syncObject
54 * [28](https://github.com/Eyescale/Collage/issues/28): BufferCache::compact too
56 * [38](https://github.com/Eyescale/Collage/issues/38): Make ConnectionSet
57 processing round-robin on Unix
63 ## Documentation {#Documentation}
65 The following documentation has been added or substantially improved since the
68 * README.md gives more initial information, build instructions and links to
70 * [API documentation](http://eyescale.github.io/Collage-1.1/index.html) of the
75 Collage 1.1 includes various bugfixes over the
76 Collage release, including the following:
78 * [16](https://github.com/Eyescale/Collage/issues/16): RSP Interface not
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
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
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
92 * [79](https://github.com/Eyescale/Collage/issues/79): Node::connect race
94 * [82](https://github.com/Eyescale/Collage/issues/82): Barrier races and
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
100 * [113](https://github.com/Eyescale/Collage/pull/113): De-race
101 EventConnection::close to fix Travis
103 ## Known Bugs {#Bugs}
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
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
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
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:
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)
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/).
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.
137 Technical questions can be posted to the eq-dev Mailing List, or
138 directly to info@equalizergraphics.com.
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