Welcome to Apache Etch 1.4.0. You can find us here:

Project info:

    http://etch.apache.org/

Documentation info:

    http://etch.apache.org/documentation.html

Issues:

    https://issues.apache.org/jira/browse/ETCH

SVN:

    http://svn.apache.org/repos/asf/etch/trunk/

Continous Integration Server (Jenkins):

    https://builds.apache.org/view/E-G/view/Etch/

Mailing lists:

    mailto:dev@etch.apache.org (etch developers)
    mailto:user@etch.apache.org (etch users)

Subscribing to the mailing lists:

    mailto:dev-subscribe@etch.apache.org (etch developers)
    mailto:user-subscribe@etch.apache.org (etch users)

The release consists of the three stable language bindings of Etch
- Java
- C#
- C

There are also some new components in this release.
The C++ binding is now feature complete and ready for beta tests.
If you experience any issues by building or using it, please report back on our mailing lists.

For the Go binding, there is still some work to be done, interested parties should
send inquiries to dev@etch.apache.org.

Since release 1.1.0 Etch uses name spaces which look something like 
org.apache.etch... 
If you upgrade from an older version you have to preceed the following steps
in order to continue using your old etch files:
- All bindings
  In every cases, you will need to re-etch your *.etch source files.
- Java:
  All that need be done for java is to correct the package names from etch.*
  to org.apache.etch.*. 
- C#:
  For C#, the namespace has changed from Etch.* to Org.Apache.Etch.*.
  
There are a few bugs fixed in this release, too, as detailed in the issue list below.

Here are the issues resolved in release 1.4.0:

Bug
[ETCH-275] - ValueFactory SRuntimes Mutex not unlocked
[ETCH-276] - Missing Typedef to SmartPointer in EtchNumber
[ETCH-277] - Corrupt inheritance in ::equals and ::getHashCode functions
[ETCH-278] - EtchPacketizer isn't able to receive multiple Packages in one Buffer
[ETCH-280] - Update to CAPU 0.13.0
[ETCH-284] - Add new line to and of generated file
[ETCH-287] - Client hangs in hasResult() or hasException()
[ETCH-288] - Buffer Index is not updated after EtchFlexBuffer::put
[ETCH-289] - EtchPacketizer::sessionData doesn't support multiple packets in buf
[ETCH-291] - Fix of Compile Warnings

Improvement
[ETCH-282] - Make log level and log appender configurable in EtchRuntime
[ETCH-286] - Missing newline at end of file
[ETCH-292] - Make it possible to build the cpp-binding for several platforms in a row
[ETCH-293] - Build-System - Make Multicore build

Task
[ETCH-233] - Implement custom type handling in allocation of array in BinaryTaggedInput
[ETCH-244] - Fix TODOs inside the sources

Wish
[ETCH-279] - Support of iOS devices + iOS Simulator