Apache Etch Changelog

What's new in Apache Etch 1.3.0

Oct 1, 2013
  • Sub-task:
  • Implementation of EtchQueue
  • Implementation of EtchList
  • Implementation of EtchHashtable
  • Implementation of EtchSet
  • Implementation of EtchThreadPool
  • Implementation of EtchCondition
  • Implementation of EtchSocket normal IO and AIO
  • Implementation of EtchTimer
  • Create Transport Layer
  • Create Util components
  • Implementation Packetizer
  • Implementation Messagizer
  • Implementation Session Interfaces
  • Implementation Transport Interfaces
  • Implementation ValueFactory
  • Implementation Validators
  • Implementation of Memory Abstraction
  • Implementation of EtchArray
  • Definition of Etch Enumerations
  • Implementation of Templates
  • Implementation of Stub Base classes
  • Implementation of Remote base
  • Implementation of compiler basic class
  • Implementation of EtchFile
  • Implementation of EtchLogger
  • Implementation Serverfactories
  • Implementation Mailbox and MailboxManager
  • Implementation DeliveryService
  • Implementation Transport Factories
  • Implementation of cpp-binding examples
  • Implementation EtchAsyncResult
  • Bug:
  • CMake build for 32 bit executables on a 64 bit machine with Ubuntu 11.10 fails
  • fix URLs in BUILD.txt
  • Cpp binding tests build error with Visual Studio 11
  • StubBase not sending session events to user implemenation
  • Capu local directories are not settable in ant build
  • C++ binding: 'Pair' : is not a member of 'EtchHashTable'
  • Code generation of MainClient.cpp contains HelloWorld service calls
  • Binding-C Linux build is not working on Apache build infrastructure
  • Improvement:
  • Move Vector related parts of EtchFlexbuffer to capu
  • Add failOnError in Exec Task of Tests
  • Enable HelloWorld example build for different platforms using CMake Toolchain Files
  • Splitting up initParams function in ValueFactory generation
  • Cleaning up cpp-bindings external dependency to CAPU
  • Simplify build of binding-cpp
  • New Feature:
  • Implementation of cpp-binding for etch
  • Implementation of cpp-binding for etch runtime part
  • Implementation of cpp-binding for etch compiler part
  • OS Abstraction for binding-cpp
  • Etch collections for binding-cpp
  • Implementation of Etch runtime stack
  • Task:
  • Implementation of Etch Utility Functions
  • Add CAPU unit tests from binding-cpp to ANT build script
  • Switch Website to public after mailinglist discussion
  • Improvement of EtchNativeArray
  • Change APR version to apr-1.4.8 and apt-util-1.5.2 because of an error in apr-1.4.5 and apr-util-1.3.12
  • Add support for Debug and Release builds to binding-cpp Ant and CMake
  • Refactoring of ArrayValue
  • Refactor binding-cpp lifecylce
  • General bugfixing and small refactoring stuff
  • Refactoring of binding-cpp ant/CMake build system
  • Implementation of EtchNumber

New in Apache Etch 1.2 (Oct 1, 2013)

  • Sub-task:
  • Implementation of EtchNativeArray
  • Implementation of EtchThread
  • Implementation of EtchMutex
  • Implementation of EtchWait
  • Implementation of basic primitive data types for the NSDL
  • Implementation of Etch Bytes Wrapper
  • Bug:
  • C# Binding: some unexpected exceptions are thrown if .Net Framework Language Pack is installed
  • C Binding: double-free bug for structs containing structs containing strings
  • C binding Compiler: different genereted port numbers
  • C Binding: Race condition for simultaneous connection loss and runtime cleanup
  • C Binding: Mixins not fully functional
  • Bug fix plain_mailbox_manager; do cleanup all registered mailboxes if connection goes down
  • Change \scripts\antsetup.bat so external ENV variables are also handled
  • Race condition while connection goes down
  • Bugfix TCP backlog parameter
  • Sockets do not shutdown correctly on Linux
  • C-Binding: client side crash when calling stop_wait while socket is being shut down from server side
  • Some of csharp tests are failing with .Net 4.0 and Nunit 2.5.9.10348
  • Naming conflicts in Etch binding-c runtime message module; add prefix etch_message
  • Cmake home path is not set in antsetup.bat for Windows
  • .etch extension
  • Website must display disclaimer text and link to incubator
  • Update Etch Binding to new Go Version
  • CSharp examples have broken builds for 2008/2010 Visual Studio
  • Improvement:
  • We need a Logo
  • Integrate apache-rat into build
  • Add exception handling code to hello world c-binding example
  • Build Configuration
  • New Feature:
  • Design and provide example of using forrest to deploy etch documentation
  • Implement first Google Go Binding version
  • Change build system to support different build stages like stable, nightly
  • Add binding-cpp to nightly builds
  • Task:
  • Setup Hudson Build Configuration for continous Etch builds
  • Update external etch dependencies to new versions
  • clean up etch headers (distribution vs. build)
  • extend etch mutex unit tests
  • Migrate Etch website to new Apache CMS
  • Create CMS infrastructure
  • Create website layout and templates
  • Create website basic sites
  • Migrate content to new CMS structure
  • Cmake based build system for C++ binding & tests
  • Update Build to work with latest Apache Ant 1.8.2
  • Update Readme files
  • Update Release notes and changeLog files for Release 1.2

New in Apache Etch 1.1 (Oct 1, 2013)

  • Sub-task:
  • create directory structure for c binding
  • import the c binding code into the new directory structure
  • create the directory structure for the python binding
  • import the python binding into the new directory structure
  • create directory structure for interoperability tester
  • import the code for the interoperability tester
  • import the java example test
  • create a csharp example test
  • create a interoptest script which combines java and csharp
  • put java header comments in order per apache standard
  • put csharp header comments in order per apache standard
  • put python header comments in order per apache standard
  • put c header comments in order per apache standard
  • merge changes from 1.0.2 branch to trunk - 738635 update version string
  • merge changes from 1.0.2 branch to trunk - 738652 make examples more tolerant
  • merge changes from 1.0.2 branch to trunk - 739277 update eclipse build
  • merge changes from 1.0.2 branch to trunk - 739282 updates to unit tests
  • merge changes from 1.0.2 branch to trunk - 739287 fix for selector under linux
  • Bug:
  • UnwantedMessage.ToString method attempts to format using the java style formatting instead of csharp style
  • Sometimes closing a TlsConnection normally will result in an IOException with Socket is closed.
  • Compiler throws URISyntaxException if there are spaces in the classpath
  • Build problems if Etch source is downloaded to a path with spaces
  • Incompatibility in the READMEs for the bundled examples
  • Windows 7 / .NET 3.5 SP1 runtime setsockopt error
  • Improvement:
  • TransportFactory.newTransport returns stack topped by DeliveryService which makes it hard to implement meta transports
  • Listener stack is built 1/2 upside down and strange inhibiting name service and other transport filters
  • Change maven groupId to "org.apache.etch" from "etch.etch"
  • New Feature:
  • design and implement a framework for interoperability testing, plus a simple demonstration test
  • Implement the compiler portion of the c-binding, to generate code for the etch c runtime
  • Integrate the c-binding into the windows build.
  • Port the c-binding to linux, resolve differences between windows and linux.
  • Implementation of Etch C Binding (Runtime + Compiler)
  • Task:
  • Map http://cwiki.apache.org/ETCH to http://incubator.apache.org/etch
  • Change Java (and C#) package names to org.apache.etch
  • import the c binding
  • import the python binding
  • import interoperability tester
  • put header comments in order per apache standard
  • merge changes from 1.0.2 branch to trunk
  • Rename jar file build products to include incubating in the name.
  • repair license header in c binding
  • repair license header in interop tester
  • repair license header in tests
  • repair license header in scripts
  • Setup CMake based build environment for C binding
  • Merge etch-c into trunk
  • Provide getting started Setup documentation
  • Provide Documentation for Examples
  • Provide 1.1. release package
  • Provide 1.1. release package for Win32 + Installer
  • Provide 1.1. release package for Linux
  • Extend C# and Java Compilers to generate Wireshark keyfiles
  • Ant Build using ETCH_EXTERNAL_DEPENDS
  • Clean up / re-create examples/HelloWorld for all bindings
  • Integrate C binding to NSIS installer and packaging
  • Provide Documentation for Etch's binary protocol
  • Add public PGP KEY (CODE SIGNING KEY) to etch KEYS (fitzner)
  • Add CMake makefiles to exambles for binding-c
  • update BUILD.txt on top level
  • Integrate HelloWorld C Binding example into top level ant build
  • Add documentation regarding APR_ICONV_PATH to documentation
  • Create NOTICE_THIRD_PARTY.txt and LICENSE_THIRD_PARTY.txt
  • Write documentation example in docbook

New in Apache Etch 1.0.2 (Oct 1, 2013)

  • Bug:
  • if free pool exceeds maximum number of threads the exception thrown will kill the connection
  • canceling mailbox notification registration throws exception if not registered
  • AlarmManager deadlocks during shutdown()
  • KeepAlive throws exception while trying to shutdown connection
  • FreePool has synchronization issues with quick back to back calls to Run
  • The message direction is always "server" for the result_method messages in the java-binding valuefactory
  • DefaultDeliveryService ends call with mb.CloseDelivery() and it should end it with mb.CloseRead()
  • mixins cause trouble when two or more mixed in files define a type with the same name.
  • Examples do not build due to outdated ant files.
  • MySessionListener in TcpTransportFactory does not override toString() method to show something useful about the transport stack
  • Improvement:
  • Copy the rest of the example sources into the distribution
  • SessionListener needs to be more independent
  • Break out common tcp transport options so that they may be shared among various transports.
  • Installing all Maven artifacts along with their sources.