ASN1C 7.4.4 was released on December 8, 2020. Changes in this release include the following:
- Fix a defect in C/C++ JSON handling of BIT/OCTET STRING with contents constraint appearing inside a CHOICE. The generated code in these cases would not compile (A1C-169).
- Fixed -c++11 -jer option to automatically turn on -copy, which is required for that combination of options (A1C-122).
- Fixed defects in PER encoding/decoding of Duration. Encoders did not follow the rule regarding omitting certain zero-valued components. We also fixed the encoding/decoding of the fractional part. All languages are affected by these fixes.
- Fixed C#/Java sample Writer and Reader code generation so that "Exception" is not ambiguous (A1C-131).
- Fixed Java and C# code generation for XML with -noopenext option (A1C-114).
- Fixed an issue with Mac kits that caused some .dylib files to have an internal reference to a directory that is not in the kit (A1C-86).
- Fixed generation of C# projects so that the asn1c command will include -uniquenames if the user has generated code with that option (A1C-87).
- Fixed a couple of issues that caused crashes during generation of C# code (A1C-123, A1C-131).
- Fixed an issue that would cause uncompilable C# code to be generated if the GUI was used as opposed to the asn1c command line (A1C-131).
- Fixed a compilation error in C/C++ generated code when an information object set contained a type with an extensible item. The 'extbit' local variable was not declared.
- Fixed application of <notUsed> configuration to elements in extension groups for PER decoding. The generated code was still trying to decode such elements (SALES-113).
- Fixed type dependency detection related to <include> configuration for types used within a contents constraint (CONTAINING). Encoder/decoders for such types are required but they were not being generated (SALES-113).
- Fixed a packaging issue that caused non-compact libraries to be copied into the lib_compact directory of run-time evaluation kits (SALES-113).
- Modified embedded builds of the ASN1C C/C++ run-time so -fPIC is specified for static library builds if it wasn't specified before.
- Fixed a problem where run-time error messages might include garbage characters at the end; e.g., in TAP 3 DLL samples if the optimized DLL was used.
- Fixed a problem where Windows 32-bit C/C++ run-time source kits with all encoding rules did not include Visual Studio projects for the C++ OER libraries.
- Fixed a problem where Windows 64-bit C/C++ run-time source kits did not include Visual Studio projects.
- Fixed an issue with the portSamples.pl script that caused the script to terminate with an error if a newer version of Perl was used.
- Fixed an issue where C/C++ code generated against ASN files with external constructs produced false "file not found" errors for the generated external file (A1C-137).
ASN1C 7.4.3 was released on September 15, 2020. Changes in this release include the following:
- Fixed a crash that would occur in C/C++ test code generation on a SEQUENCE or SET element that had an infinite recursive definition (A1C-50).
- Fixed an error in which generated C/C++ code would not compile if a forward reference of a type in a CONTAINING statement occurred. One known case was for the 3GPP rel 16 version of the LTE NR RRC protocol. (A1C-40).
- Fixed a bug in C/C++ PER length encoding in which an extended length would not be encoded/decoded correctly if the length extension contained a range less that 64K. (A1C-31)
- Fixed a bug in C/C++ PER code generation in which the encoder generated for a BIT STRING with an extensible size constraint would not allow a value with an extended size to be encoded.
- Fixed C/C++ file stream handling to support large (> 2GB) files (ASN-11124, A1C-63).
- Fixed C/C++ stream reading to not return an incorrect number of bytes read. In some cases, where a stream was buffered, a smaller number of bytes than what was actually read would be returned. (ASN-11124, A1C-63).
- Fixed a defect in the Java and C# runtime which could lead to high memory usage when decoding BER data (ASN-11055).
- Fixed a problem where a generated file would sometimes stay open in the ASN1C GUI (ASN-11043).
- Fixed a problem where a generated .csproj file might reference the same .cs file multiple times (ASN-11043).
- Fixed a problem where building a generated .csproj file would ignore the choice to generate all C# code to one .cs file (ASN-11043).
- Fixed a problem where uncompilable C# code might be generated if OER is being used (ASN-11043).
- Fixed a problem where a generated .csproj file might reference a non-existent .cs file (ASN-11043).
- Fixed some problems with indentation in generated C# code (ASN-11043).
- Fixed a problem in the GUI where a file would be incorrectly marked as modified (ASN-11044).
- Fixed a problem where run-time error messages might include garbage characters at the end (ASN-11098).
- Fixed a couple NAS decoding problems (specifically with the Detach Request message) that resulted in a new online decoder being uploaded to the web site (A1C-58).
ASN1C 7.4.2 was released on June 12, 2020. Changes in this release include the following:
- Corrections were made to some of the specifications for 3GPP NAS layer messages used for the 3GPP NAS Add-on. These changes introduced some incompatibilities for the add-on (see the README.html in the Add-on package for details.). These changes do not impact ASN1C itself.
- Fixed an unused variable warning in generated C/C++ BER/DER/CER code. This also could have caused a memory leak.
- Fixed an error in which the C# run-time would report a license check failure if a license had a valid host id or IP address (ASN-10946).
- Updated the Linux 64-bit run-time kits to include a set of libraries built with gcc4 for systems with older glibc 2.12 versions (ASN-10981).
ASN1C 7.4.1 was released on April 30, 2020. Changes in this release include the following:
- Fixed an error in which generated C/C++ code would not compile if -static specified in certain cases. One known case was for the 3GPP rel 15.7.0 version of RRC protocol. (ASN-10922)
- Fixed an issue in the GUI where ".c" was not changed to ".cpp" if C++ was selected as the language (ASN-10874).
- Fixed an issue that caused host id checking in a C/C++ run-time license key not to work (SALES-6027).
- Fixed some C/C++ code generation issues surrounding BIT STRING and use of the -x64 command line option. The generated code would not compile (ASN-10836).
- Changed the optimization options for non-Windows builds to use -O3 instead of -O2 (ASN-10804).
- Fixed a defect that caused an erroneous "1 error(s) detected" message to be displayed if "asn1c -nousage" was specified.
- Fixed a defect in C/C++ code generation where the generated code would not compile. This would occur for a BIT/OCTET STRING, with a contents constraint, in a CHOICE type (ASN-10799).
ASN1C 7.4.0 was released on January 31, 2020. New features in this release include the following:
- The primary new capability added in this release is the capability to generate Python code. Support for the BER/DER and JER (JSON) encoding rules is now available with more planned to be added later.
- C/C++ run-time libraries compiled with Visual Studio 2019 compilers have been added to all Windows packages.
- Project files created with the ASN1C GUI can now be used as input to the command-line compiler by using the -proj command-line option. It is also possible to use a file of this type directly without the -proj qualifier as long as it have the extension .acproj (the compiler will recognize it as a project file).