From c8fd07ea8b92254b048f1c449a5d5337da3263f1 Mon Sep 17 00:00:00 2001 From: Daniel Nachbaur Date: Mon, 6 Jul 2015 17:25:29 +0200 Subject: [PATCH] Release 1.2 preparations --- CMake/CPackConfig.cmake | 4 +- CMake/Collage.spec | 4 +- CMakeLists.txt | 9 +- LICENSE.txt | 2 +- README.md | 58 +++++++++---- doc/CMakeLists.txt | 4 +- doc/Changelog.md | 45 ++++++++++ doc/DoxygenLayout.xml | 184 ---------------------------------------- doc/RelNotes.md.in | 145 ------------------------------- doc/doxyfooter_co.html | 13 --- 10 files changed, 96 insertions(+), 372 deletions(-) create mode 100644 doc/Changelog.md delete mode 100644 doc/DoxygenLayout.xml delete mode 100644 doc/RelNotes.md.in delete mode 100644 doc/doxyfooter_co.html diff --git a/CMake/CPackConfig.cmake b/CMake/CPackConfig.cmake index 64a3a358c..871b8afcd 100644 --- a/CMake/CPackConfig.cmake +++ b/CMake/CPackConfig.cmake @@ -5,8 +5,8 @@ set(CPACK_PACKAGE_VENDOR "www.eyescale.ch") set(CPACK_PACKAGE_CONTACT "Stefan Eilemann ") -set(CPACK_PACKAGE_DESCRIPTION_FILE ${CMAKE_CURRENT_BINARY_DIR}/doc/RelNotes.md) -set(CPACK_RESOURCE_FILE_README ${CMAKE_CURRENT_BINARY_DIR}/doc/RelNotes.md) +set(CPACK_PACKAGE_DESCRIPTION_FILE ${PROJECT_SOURCE_DIR}/doc/Changelog.md) +set(CPACK_RESOURCE_FILE_README ${PROJECT_SOURCE_DIR}/README.md) set(CPACK_PACKAGE_LICENSE "LGPL") set(CPACK_DEBIAN_BUILD_DEPENDS diff --git a/CMake/Collage.spec b/CMake/Collage.spec index 64003716b..4ad9c9b0d 100644 --- a/CMake/Collage.spec +++ b/CMake/Collage.spec @@ -1,5 +1,5 @@ Name: Collage -Version: 1.1.2 +Version: 1.2.0 Release: 1%{?dist} Summary: Cross-platform C++ network library @@ -7,7 +7,7 @@ Group: Development/Libraries License: LGPLv2 URL: http://www.libcollage.net/ Source0: http://www.equalizergraphics.com/downloads/%{name}-%{version}.tar.gz -Patch0: Collage-1.1.2-build-fix.patch +Patch0: Collage-1.2.0-build-fix.patch BuildRequires: cmake BuildRequires: boost-devel glew-devel lunchbox1 diff --git a/CMakeLists.txt b/CMakeLists.txt index d3855734d..3f037cd32 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -15,9 +15,9 @@ option(COLLAGE_BUILD_V2_API "Enable for pure 2.0 API (breaks compatibility with 1.x API)" OFF) set(VERSION_MAJOR "1") -set(VERSION_MINOR "1") -set(VERSION_PATCH "2") -set(VERSION_ABI 2) +set(VERSION_MINOR "2") +set(VERSION_PATCH "0") +set(VERSION_ABI 3) set(PROJECT_INCLUDE_NAME co) include(Common) @@ -48,5 +48,6 @@ add_subdirectory(doc) include(CPackConfig) -set(DOXYGEN_EXTRA_INPUT "${PROJECT_BINARY_DIR}/doc/RelNotes.md") +set(DOXYGEN_MAINPAGE_MD README.md) +set(DOXYGEN_EXTRA_INPUT ${PROJECT_SOURCE_DIR}/README.md) include(DoxygenRule) diff --git a/LICENSE.txt b/LICENSE.txt index f505e8285..3a2fb23c2 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -2,7 +2,7 @@ Collage - a cross-platform C++ library for building heterogenous, distributed ap Collage is licensed under the LGPL, unless noted otherwise, e.g., for external dependencies. See file LGPL for the full license. The examples are licensed under the BSD license. External dependencies are either LGPL or BSD-licensed. See file ACKNOWLEDGEMENTS and AUTHORS for further details. -Copyright (C) 2005-2014, Eyescale Software GmbH and AUTHORS +Copyright (C) 2005-2015, Eyescale Software GmbH and AUTHORS This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License version 2.1 as published by the Free Software Foundation. diff --git a/README.md b/README.md index e36251c8a..fe4ef6aed 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,6 @@ -# Collage +[TOC] + +# Introduction {#Introduction} Collage is a cross-platform C++ library for building heterogenous, distributed applications. Among other things, it is the cluster backend for the [Equalizer @@ -9,7 +11,24 @@ object-oriented, versioned data distribution. Collage is designed for low-overhead multi-threaded execution which allows applications to easily exploit multi-core architectures. -## Features +The +[API documentation](http://eyescale.github.io/Collage-1.2/index.html) can be +found on [eyescale.github.io](http://eyescale.github.io/). As with any open +source project, the available source code, in particular the +[unit tests](https://github.com/Eyescale/Collage/tree/1.2/tests) provide a +reference for developing applications. + +Technical questions can be posted to the Equalizer +[Developer Mailing List](http://www.equalizergraphics.com/cgi-bin/mailman/listinfo/eq-dev), +or directly to +[info@equalizergraphics.com](mailto:info@equalizergraphics.com?subject=Collage%20question). + +Commercial support, custom software development and porting services are +available from [Eyescale](http://www.eyescale.ch). Please contact +[info@eyescale.ch](mailto:info@eyescale.ch?subject=Collage%20support) +for further information. + +# Features {#Features} Collage provides different levels of abstraction to facilitate the development distributed applications: @@ -23,19 +42,22 @@ development distributed applications: * Object data distribution: high-performance, object-oriented, versioned data distribution for C++ objects based on delta serialization. -## Downloads - -* [Ubuntu Packages Repository](https://launchpad.net/~eilemann/+archive/equalizer/) -* [API Documentation](http://eyescale.github.com/) -* Building from source: - -``` - git clone https://github.com/Eyescale/Buildyard.git - cd Buildyard - git clone https://github.com/Eyescale/config.git config.eyescale - make Collage -``` - -### Version 1.0 - -* [Source Code](https://github.com/Eyescale/Collage/archive/1.0.1.tar.gz) +# Building {#Building} + +Collage is a cross-platform library, designed to run on any modern operating +system, including all Unix variants and the Windows operating system. Collage +uses CMake to create a platform-specific build environment. The following +platforms and build environments are tested: + +* Linux: Ubuntu 14.04, RHEL 6.6 (Makefile, Ninja) +* Windows: 7 (Visual Studio 2012) +* Mac OS X: 10.8 (Makefile, Ninja) + +~~~ +git clone https://github.com/Eyescale/Collage.git +cd Collage +mkdir build +cd build +cmake .. +make +~~~ diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt index d2d4605aa..8c1d57588 100644 --- a/doc/CMakeLists.txt +++ b/doc/CMakeLists.txt @@ -1,7 +1,5 @@ # Copyright (c) 2011-2013 Stefan Eilemann -configure_file(RelNotes.md.in ${CMAKE_CURRENT_BINARY_DIR}/RelNotes.md @ONLY) -install(FILES ${CMAKE_CURRENT_BINARY_DIR}/RelNotes.md ../AUTHORS ../CHANGES.txt - ../LGPL ../LICENSE.txt +install(FILES Changelog.md ../AUTHORS ../CHANGES.txt ../LGPL ../LICENSE.txt DESTINATION share/Collage/doc COMPONENT doc) diff --git a/doc/Changelog.md b/doc/Changelog.md new file mode 100644 index 000000000..6fd94a87d --- /dev/null +++ b/doc/Changelog.md @@ -0,0 +1,45 @@ +# Changelog + +# Release 1.2 (07-07-2015) {#Release12} + +* [142](https://github.com/Eyescale/Collage/pull/142): Expose addConnection() + for local server connections in Equalizer +* [143](https://github.com/Eyescale/Collage/pull/143), + [144](https://github.com/Eyescale/Collage/pull/144), + [152](https://github.com/Eyescale/Collage/pull/152): Denoise log output +* [147](https://github.com/Eyescale/Collage/pull/147): Adapt to + Lunchbox/Pression refactoring + +# Release 1.1 (07-08-2014) {#Release11} + +* [69](https://github.com/Eyescale/Collage/pull/69): Refactor Barrier API for + robustness, deprecate old API +* [71](https://github.com/Eyescale/Collage/issues/71): BufferCache race may lead + to segmentation fault +* [79](https://github.com/Eyescale/Collage/issues/79): Node::connect race + condition +* [82](https://github.com/Eyescale/Collage/issues/82): Barrier races and + deadlocks with sync() +* [88](https://github.com/Eyescale/Collage/issues/88): LocalNode::handleData() + asserts handling non-pending receive +* [112](https://github.com/Eyescale/Collage/pull/112): Fix racy connection + handshake +* [113](https://github.com/Eyescale/Collage/pull/113): De-race + EventConnection::close to fix Travis + +# Known Bugs {#Bugs} + +The following bugs were known at release time. Please file a [Bug Report] +(https://github.com/Eyescale/Collage/issues) if you find any other issue with +this release. + +* [102](https://github.com/Eyescale/Collage/issues/102): test/connection fails + for RDMA connections +* [57](https://github.com/Eyescale/Collage/issues/57): Windows: Larger number of + concurrent receives causes intermittent blocking +* [15](https://github.com/Eyescale/Collage/issues/15): RDMAConnection + not endian-safe +* [14](https://github.com/Eyescale/Collage/issues/14): coNetperf server + occasionally crashes on client disconnect +* [2](https://github.com/Eyescale/Collage/issues/2): Multiple dispatcher + inheritance not working with xlC diff --git a/doc/DoxygenLayout.xml b/doc/DoxygenLayout.xml deleted file mode 100644 index 24eb68a6d..000000000 --- a/doc/DoxygenLayout.xml +++ /dev/null @@ -1,184 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/doc/RelNotes.md.in b/doc/RelNotes.md.in deleted file mode 100644 index 251ab0307..000000000 --- a/doc/RelNotes.md.in +++ /dev/null @@ -1,145 +0,0 @@ -Release Notes {#mainpage} -============ - -[TOC] - -# Introduction {#Introduction} - -Welcome to Collage, a high-performance C++ library for developing -object-oriented distributed applications. - -Collage @VERSION_MAJOR@.@VERSION_MINOR@ is a preview release for an upcoming -stable 1.2 release which has over eight years of development and decades of -experience into a high-performance and mature C++ library. It is intended for -all C++ developers creating distributed applications with high-level -abstractions. Collage @VERSION_MAJOR@.@VERSION_MINOR@ can be retrieved by -downloading the source code or one of the precompiled packages. - -## Features {#Features} - -Collage provides different levels of abstraction to facilitate the -development distributed applications: - -* Network Connections: stream-oriented point-to-point and reliable multicast - connections for TCP/IP, SDP, InfiniBand RDMA, UDT, events, named and anonymous - pipes, memory buffers and reliable multicast over UDP. -* Peer-to-Peer Messaging: Endian-safe node-to-node message communication with - thread-aware message dispatch. -* Synchronization: Distributed barriers and synchronous messaging. -* Object data distribution: high-performance, object-oriented, versioned data - distribution for C++ objects based on delta serialization. - -# New in this release {#New} - -Collage @VERSION_MAJOR@.@VERSION_MINOR@ contains the following features, -enhancements, bug fixes and documentation changes over the Collage -@LAST_RELEASE@ release: - -## New Features {#NewFeatures} - -* [54](https://github.com/Eyescale/Collage/pull/54): Enable serialization of - std::string Arrays - -## Enhancements {#Enhancements} - -* [37](https://github.com/Eyescale/Collage/issues/37): Make CommandQueue maximum - size configurable -* [55](https://github.com/Eyescale/Collage/pull/55): Robustness for late join -* [69](https://github.com/Eyescale/Collage/pull/69): Refactor Barrier API for - robustness, deprecate old API - -## Optimizations {#Optimizations} - -* [27](https://github.com/Eyescale/Collage/issues/27): Add LocalNode::syncObject -* [28](https://github.com/Eyescale/Collage/issues/28): BufferCache::compact too - expensive -* [38](https://github.com/Eyescale/Collage/issues/38): Make ConnectionSet - processing round-robin on Unix - -## Tools {#Tools} - -* No new tools - -## Documentation {#Documentation} - -The following documentation has been added or substantially improved since the -last release: - -* README.md gives more initial information, build instructions and links to - released versions -* [API documentation](http://eyescale.github.io/Collage-1.1/index.html) of the - public Collage API - -## Bug Fixes {#Fixes} - -Collage @VERSION_MAJOR@.@VERSION_MINOR@ includes various bugfixes over the -Collage @LAST_RELEASE@ release, including the following: - -* [16](https://github.com/Eyescale/Collage/issues/16): RSP Interface not - bound on Linux -* [29](https://github.com/Eyescale/Collage/issues/29): Change managers may - access dangling objects -* [32](https://github.com/Eyescale/Collage/pull/32): Default port is priviledged - for high UIDs -* [34](https://github.com/Eyescale/Collage/issues/34): ICommand behaves - incorrect once all data is consumed -* [50](https://github.com/Eyescale/Collage/pull/50): Use correct master node for - mapping objects -* [52](https://github.com/Eyescale/Collage/issues/52): RSP: Protocol bug for - very late and early packet delivery. -* [71](https://github.com/Eyescale/Collage/issues/71): BufferCache race may lead - to segmentation fault -* [79](https://github.com/Eyescale/Collage/issues/79): Node::connect race - condition -* [82](https://github.com/Eyescale/Collage/issues/82): Barrier races and - deadlocks with sync() -* [88](https://github.com/Eyescale/Collage/issues/88): LocalNode::handleData() - asserts handling non-pending receive -* [112](https://github.com/Eyescale/Collage/pull/112): Fix racy connection - handshake -* [113](https://github.com/Eyescale/Collage/pull/113): De-race - EventConnection::close to fix Travis - -## Known Bugs {#Bugs} - -The following bugs were known at release time. Please file a [Bug Report] -(https://github.com/Eyescale/Collage/issues) if you find any other issue with -this release. - -* [57](https://github.com/Eyescale/Collage/issues/57): Windows: Larger number of - concurrent receives causes intermittent blocking -* [15](https://github.com/Eyescale/Collage/issues/15): RDMAConnection - not endian-safe -* [14](https://github.com/Eyescale/Collage/issues/14): coNetperf server - occasionally crashes on client disconnect -* [2](https://github.com/Eyescale/Collage/issues/2): Multiple dispatcher - inheritance not working with xlC - -# About {#About} - -Collage is a cross-platform library, designed to run on any modern operating -system, including all Unix variants and the Windows operating system. Collage -uses CMake and [Buildyard](https://github.com/Eyescale/Buildyard) to create a -platform-specific build environment. The following platforms and build -environments are tested for version @VERSION_MAJOR@.@VERSION_MINOR@: - -* Linux: Ubuntu 14.04, RHEL 6.5 (Makefile, i386, x64) -* Windows: 7 (Visual Studio 2008, i386, x64) -* Mac OS X: 10.8 (Makefile, XCode, i386, x64) - -The Equalizer Programming and User Guide covers the basics of Collage -programming. The API documentation can be found on -[github](http://eyescale.github.io/). - -As with any open source project, the available source code, in particular the -shipped tools provide a reference for developing or porting applications. - -Technical questions can be posted to the eq-dev Mailing List, or -directly to info@equalizergraphics.com. - -Commercial support, custom software development and porting services are -available from [Eyescale](http://www.eyescale.ch). Please contact -[info@eyescale.ch](mailto:info@eyescale.ch?subject=Collage%20support) for -further information. - -# Errata diff --git a/doc/doxyfooter_co.html b/doc/doxyfooter_co.html deleted file mode 100644 index dce976916..000000000 --- a/doc/doxyfooter_co.html +++ /dev/null @@ -1,13 +0,0 @@ -
- Generated on $datetime for - $projectname $projectnumber by  - - doxygen - $doxygenversion - -
- - -