v7.0 [Nov 16, 2016]
This release of ASN1C adds the following new capabilities:
Table Constraint Handling Added in Java/C# XML/XER
XML/XER encoders and decoders in Java and C# can now fully encode or decode open type data defined within constructs with table-constraints.
Java/C# XML Decoding Changed to Use Pull-Parser Model
We now use pull parsers for parsing XML (previously, we used SAX parsers). In C#, the standard XmlReader class is used. For Java, the option of using either StAX (standard on Java SE 1.6 ) or XmlPull (standard on Android) is available. The old SAX-based model can still be used by specifying -sax on the command line. Otherwise, the default for C# is to use XmlReader, while for Java the default is to use XmlPull. For Java, StAX can be chosen by specifying -stax on the command line. On Java ME 3, StAX is provided through JSR-280. There are also open source implementations of both StAX and XmlPull.
Improved Support for Selecting Encode/Decode Functions
New configuration variables were added to allow C/C encode or decode functions to be included or excluded for individual elements within a structure. This was to support the common pattern of a single CHOICE PDU type describing request and response messages. A given device is often only responsible for handing requests and responses in one direction in a communications exchange.
Improvements to C/C Integer Type Configuration
The range of integer types that can be configured to be used for ASN.1 INTEGER types has been expanded to include the full range from signed and unsigned 8-bit values to unlimited size supported by string representations. Also, the -default-int-type command-line option was added to allow a user to specify the type of all unconstrained integers within the specification set being compiled.
Modification of PER C/C Integer Range Bound Function Arguments
The type used for range bound arguments for PER constrained INTEGER types was incread from a 32-bit to a 64-bit integer type to accomodate larger ranges. In addition, signed values are used for signed types and unsigned for unsigned types.
Windows C/C Run-time Libraries Built With Visual Studio 2015
Run-time libraries build with Visual Studion 2015 are now part of the package. In addition, Visual Studio project generation has been updated to allow generation of project files for this VS version.
Windows Package Now Built With Visual Studio 2013
The default build tool for Windows was changed to VS 2013 from VS 2010.
Linux C/C Libraries built with gcc 5.x included
Run-time libraries built with a recent version of gcc v5.x are now included in the package. These replace the libraries built with gcc v3.x in previous versions.
Changes in C# Makefile Generation
The generation of C# makefiles was changed so that if -genmake and -genmakedll are specified when generating C# code, ASN1C will use the specified for the DLL in the generated makefile instead of asn1api.dll.