Objective Systems is pleased to announce the release of version 8.0 of our flagship product ASN1C.
ASN1C is a code generation tool targeted at developers who produce products based on Abstract Syntax Notation One (ASN.1) and XML standards. It is capable of generating code in six different programming languages: C, C++, Java, C#, Python, and Go.
The following is a summary of some of the new features in this release:
- Space-optimized Unaligned PER (UPER) C Code Generation
- Partial support has been added for a new way of encoding and decoding data. This new feature generates leaner code by following a table-driven approach rather than a function-based one. For example, in one case (3GPP New Radio RRC schema), we observed space savings of 88% for encoders and decoders combined, with savings of 46% in the overall binary size.
- Constraint Checks Added for Mandatory 3GPP IEs
- Constraint checking code can now verify that all mandatory 3GPP Information Elements (IEs) are present, for all languages and for certain types. This assumes the specification follows the general ASN.1 pattern used in the 3GPP AP specifications (NGAP, S1AP, X2AP, etc.), where information objects are used to indicate which elements are mandatory.
- Full Source Code Generation for Python
- By using the -genruntime command-line option, it is now possible to generate all required source code for a given specification. It is no longer necessary to download a separate run-time component. Code generated in this way is typically smaller than using the full run-time, as only the functions needed for the given specification are included in the generated package.
- Support for .NET v10
- Support has been added for .NET v10. This support includes a C# run-time assembly (asn1rtcs.dll) targeting .NET v10, a new -dotnetv10 option for C# project file generation, and a corresponding option in the ASN1C GUI.
- Visual Studio 2026 Support
- This release includes support for Visual Studio 2026. The SDK includes libraries built with Visual Studio 2026 (as well as 2022, 2019, and 2017). Separate Visual Studio 2026 run-time distributions are also available.
- Optimized C# Run-time DLL
- This release adds an optimized C# run-time DLL as part of C# run-time distributions. This optimized DLL should provide faster performance for PER operations that don't make use of bit tracing.
- Improved test code generation
- Test code generation was improved to fix known issues with code generation for table-constrained items, particularly in the Go language. Also, the use of the <testValue> configuration item was extended to work in all languages, instead of just C/C++. This configuration item makes it possible to tailor test code for better test coverage. For example, test code for different branches of table-constrained constructs can be generated by using <testValue> to specify different key values.
For more information on the new release see:
https://obj-sys.com/products/asn1c/
A free evaluation version of the software can be downloaded from:
https://obj-sys.com/products/asn1c/download.php
The release is available as free upgrade to users with active support.