ASN1C 7.5.3 was released on March 8, 2022. Changes in this release included the following:
- Fixed a bug that could cause an invalid "file not found" message to be displayed when activating a client.lic file (SALES-1865).
- NAS Add-on fix: The handling for 24.501 Registration Request was corrected and an improvement was made for the modeling of psi in Service Request. The change for psi introduces a minor backward incompatibility with existing user source code (A1C-581).
- Fixed a bug that could cause uncompilable C code to be generated if -static was used (A1C-504).
- Fixed a crash that would occur if the referenced module for a parameterized value was not found (A1C-488).
- Fixed a bug that could cause an invalid -17 (unexpected end of file) error during BER decoding (A1C-481).
- Fixed a defect in C++ PER decoder where a C++ object would be unsafely initialized using memset (A1C-442).
ASN1C 7.5.2 was released on October 21, 2021. Changes in this release included the following:
- Added previously missing .dylib files to iosarm and iosarm64 run-time distributions.
- Fixed a warning in C PER code on the decoding of constrained integer. (A1C-466)
- Fixed a defect in makefile generation related to -randtest option. (A1C-466)
- Added -noEnumConvert option to ASN1C GUI.
- Fix a defect in XSD generation (both for -xer and -xml). The XSD generated for a SEQUENCE OF a parameterized type was incorrect. The XSD was generated as though the parameterized type was simply a defined type. For example, given SEQUENCE OF MyType {blah}, with MyType being a parameterized SEQUENCE, the schema would expect a series of <MyType> elements instead of a series of <SEQUENCE> elements, which is what the XER and OSys-XER encoding requires (A1C-387).
- Fixed the generated free function for types using std::list so that memory associated with the contained pointers will be freed (A1C-383.)
- Fixed a defect that could result in an assertion violation when generating C# code (A1C-311).
- Fixed a defect that could cause generated Python test code not to handle named bits in a BIT STRING properly (A1C-341).
- Fixed a defect that caused C code to be generated that could result in a null pointer de-reference (A1C-349).
- Fixed a defect in the ASN1C GUI in which C# code was being generated in Java files if a C# project was opened first. (A1C-358)
- Fixed a setting in the java/sample_ber/Camel project that would cause a compilation failure to occur at times. The package name setting was changed to package prefix. (A1C-359)
- Fixed a defect in c/sample_ber/TS32297 that could cause an invalid decode error.
- Added C# and Python samples for decoding a file of CDRs with TS 32.297 headers.
- Fixed a defect that could cause generated Python decode logic to throw an invalid "missing required element" exception for a SET.
ASN1C 7.5.1 was released on May 26, 2021. Changes in this release included the following:
- Fixed a defect that could cause an assertion violation during OER code generation (A1C-329).
- Fixed a defect that could cause uncompilable code to be generated for OER (A1C-329).
- Fixed a defect that could cause a test BIT STRING in a generated Python writer not to encode (A1C-340).
- Added C and Java samples for decoding a file of CDRs with TS 32.297 headers.
- Fixed a defect that would cause the Java run-time to throw an invalid exception while decoding a TS 32.297 file header.
- Fixed a bug in C/C++ aligned PER decoding in which byte count for OCTET STRING types was not getting set correctly. The count was being set to number of bits instead of number of bytes.
- Fixed a bug in C/C++ CER OCTET STRING encoding in which an error would be returned if the string was zero length.
- Improved efficiency of generated code for decoding C/C++ unaligned PER (UPER) signed integer values.
ASN1C 7.5.0 was released on March 10, 2021. New features in this release include the following:
- The primary new capability added in this release is the capability to generate code for the Go language (see golang.org). Support for the aligned and unaligned variants of the packed encoding rules (PER/UPER) have been implemented. Support for other encoding rules may be added in the future.
- Support has been added via the new -avn command-line option for generating encoders and decoders that support ASN.1 Value Notation in C/C++. This works in a similar fashion to code that support other textual formats such as XML/XER and JSON/JER.
- Support has been added via the new -aper command-line option for generating encoders and decoders that support only aligned PER in C/C++. Previously, the -per option allowed this, but allowed for switching bewteen aligned or unaligned at run-time. The new option provides for improved performance by doing a number of calculations at compile time that were previouly being done at run-time.
- New platform types. ASN1C SDK's are now available for the 64-bit ARM platform type (AArch64) and Apple M1. These SDK's contain the command-line compiler only and not the GUI.
- A format option has been added (bits) for printing BIT STRING's as binary data (1's and 0's). The default format for printing BIT STRING's is hex bytes with a binary last byte showing the unused bits in that byte.
- Support for IMPORTS ... WITH. X.680-2015 Amendment 1 updated the IMPORTS clause to allow importing definitions from new versions of a given module. IMPORTS statements can now specify "WITH SUCCESSORS" or "WITH DESCENDANTS" to allow modules with related OIDs to satisfy the import.
The following defects were fixed in this release as well as in ASN1C 7.4.5:
- Fixed a defect that could cause a crash during OER message encoding (A1C-174).
- Fixed a defect in the 3GPP NAS add-on for 5G Tracking area identity list. The number of elements was mishandled (A1C-160).
- Fixed generation of non-compilable C/C++ code for JSON decoding in the case where a table constraint uses an information object set with just one information object (A1C-266).
- Fixed a bug where, when using -cpp11 -xml, some code would be generated as for OSRTDList representation though std::list was being used, resulting in uncompilable code (A1C-265).
- Fixed generation of copy code for atomic PDU types. When using -copy -tables, this code was uncompilable (A1C-265).
Related links: