ASN.1 Studio — Enhancements History

ASN.1 Studio 10.1.2 (latest version)

  • The ASN.1 compiler no longer issues the A0070S error message about a circular reference not being allowed in some cases when parameterized types are used as instances of dummy parameters inside an inner subtype constraint and when they are imported from modules (using WITH SUCCESSORS) that are not yet defined.
  • The Go to Definition operation in the Text Editor now correctly highlights ASN.1 items present inside .asn files that include Unicode characters. Previously, the items could be partially highlighted.

ASN.1 Studio 10.1.1

  • ASN.1 Studio Help has been updated.

ASN.1 Studio 10.1

  • ASN.1 Studio has been restructured to use a new dynamic link library (DLL), asn1studio.dll, on Windows platforms, and new shared libraries, libasn1studio.so and libasn1studio.dylib, on Linux and Mac platforms, respectively.
  • The Go to Definition and Find All References operations now support:
    • Referenced items that precede their definitions in the input ASN.1.
    • Information object references and value references included in other information object definitions and value definitions.
    • Class field names included in a WITH SYNTAX specification.
    • References included in some open type values.
    • Field references included in a WITH COMPONENTS specification.
    • Items imported from modules that include a WITH SUCCESSORS or WITH DESCENDANTS token.
  • When creating values in the Value Editor for fields that include a component relation constraint inside enabled optional fields or inside new components that are added for SET OF or SEQUENCE OF types within the PDU value tree, ASN.1 Studio now attempts to find valid constraining information objects based on the values of the referenced fields included elsewhere in the PDU value tree.
    Previously, constraining information objects were determined based on the global settings for value initialization.
  • The maximum number of components of each SET OF and SEQUENCE OF type value for which additional CSVs are created can now be set to a number greater than 50 using the "Maximum number of extra CSVs for SET OF and SEQUENCE OF components" control included in the Save As File dialog.
    The total number of additional CSVs for all SET OF and SEQUENCE OF type values is now set to the maximum between the user-specified number and 50, multiplied by 50. Previously, the number was limited to 50.

ASN.1 Studio 10.0.2

  • ASN.1 Studio displays new icons for the toolbar, main menu, context menu, and dialog operations.
  • You can now import ASN.1 modules from Microsoft Word .docx files.
  • The Preferences dialog includes new global settings:
    • Create multiple messages with a single Create Value operation in the Value Editor. You can also select predefined initialization values or random values for various ASN.1 types.
    • Specify the maximum number of messages to decode either for all the project encoding files of the Projects tree or only for the files that don't have local limits. Additionally, the new local setting can be used to skip one or more messages before decoding.
    • Change the font, background color, foreground color, and the colors used to highlight the ASN.1 syntax in the Text Editor.
  • ASN.1 Studio can now create new values using a wider range of random values. The Value Initialization dialog includes the following new controls (to display the dialog, click File > Preferences, and then click Customize on the Value Editor or Sample Code page):
    • The Value Initialization table includes two columns used to specify ranges of values. You can now generate random values using user-specified or predefined lower and upper limits for some or for all ASN.1 types included in the table.
    • An additional Random item is available in the drop-down list. It is used to generate random values for BOOLEAN and BIT STRING types, INTEGER types with a NamedNumberList, root arcs of the OID tree, to specify the presence or absence of values for fields that contain OPTIONAL or DEFAULT syntax and for extension additions in SET and SEQUENCE types.
    • The new Reset to Random button can be used to reset all properties to generate random values with predefined limits.
    • For types with ASN.1 constraints, you can now create the most suitable valid value or a random value using a set of ASN.1 constraints applied to a type or you can ignore the constraints and use the Value Initialization table for all types (constrained and unconstrained).
  • ASN.1 Studio now supports INTEGER types marked with an OSS.HUGE directive that is constrained to have a limited range of values.
  • When an OSS.PrintFunctionName directive that contains an OSS conversion function specified as a parameter is applied to OCTET STRING types and conversion is possible, the value notation will now include the actual BCD, TBCD, ASCII, IP address, or time stamp values inside an ASN.1 comment, for example: '0711071136492B0000'H -- 2007-11-07 11:36:49 --.
  • The Project Settings dialog includes the new -rtoed option, which allows you to generate and export code files that contain constant function pointers used for the new Time-Optimized Encoder/Decoder. The option is supported for projects that use ASN.1/C version 11.0 and later and ASN.1/C++ version 7.0 and later.

ASN.1 Studio 9.0.3

  • When you export ASN.1/C or ASN.1/C++ projects, the makefiles and Visual Studio project files generated by ASN.1 Studio have a different format. ASN.1 Studio now generates a single makefile that references the OSS configuration file, common.mak, to ensure that the makefile uses the same C or C++ compiler and linker options used to build the OSS libraries. You can also instruct ASN.1 Studio to use the previous file format by selecting the Export using Qt qmake option and specifying the location of your qmake utility.
  • You can now export ASN.1/C, ASN.1/C++, and ASN.1/C# projects on Windows to the Microsoft Visual Studio 2017 projects. Support for exporting to Visual Studio version 2005 has been removed for the OSS ASN.1 Tools for C, OSS ASN.1 Tools for C++, and OSS ASN.1 Tools for C#.
  • When importing ASN.1 from .doc files, the start and end tags of a module definition can now be determined more accurately if no special start and end tags are specified and the tokens that match the default tags are placed within ASN.1 or C-style comments. For an example, see the XnAP 15.1.0 specification.
  • You can now download a new ASN.1 Studio version separately. The OSS ASN.1 Software Update dialog now displays the latest ASN.1 Studio version and the list of changes.
  • The Asn1Standards directory now includes the latest versions of both new and existing ASN.1 standards (for example, 3GPP LTE LCS-AP, LTE LPPa, SLmAP, NGAP, XnAP, etc.).

ASN.1 Studio 8.3.0

  • Support for the Canonical Packed Encoding Rules (ALIGNED and UNALIGNED), as specified by ITU-T Recommendation X.691 (08/2015) | ISO/IEC 8825-2:2015 has been added.
    • Use the new check boxes on the Encoding Rules page of the Project Settings dialog to enable support for CPER in ASN.1 Studio.
    • For better security, the CPER decoder operates in a strict mode: every deviation from the X.691 standard is reported.
  • You can now use the Spreadsheet Editor to edit CSV files. The CSV file contents are displayed in a table view and the insert, delete, copy, paste, and other operations for table rows and columns are supported. You can change the font and the background and foreground colors for single cells, multiple cells, or an entire table. Changes in the table are saved back to the file in CSV format.
  • When ASN.1/C and ASN.1/C++ projects are exported to makefiles for nmake on Windows, ASN.1 Studio now opens a command prompt in which the following can be run:
    • Makefiles generated by ASN.1 Studio.
    • Makefiles from the installed samples directories.
    • Makefiles generated by the ASN.1 compiler's -samplecode option.
  • ASN.1 Studio now detects user-defined runnable classes within Java files located in the User Files folder when ASN.1/Java projects are exported to a batch file, NetBeans IDE, Eclipse IDE, or Ant project in the Project Export wizard. These classes are included in the corresponding combo boxes, along with the runnable classes generated by the ASN.1/Java compiler.
  • When exporting ASN.1/Java projects to NetBeans IDE, Eclipse IDE, or Ant projects in the Project Export wizard, ASN.1 Studio now copies user-defined Java files from the User Files folder to the path relative to the location of the ASN.1/Java generated files. The package statements included inside these user files are taken into account. Previously, ASN.1 Studio expected that the user-defined Java files in the User Files folder were placed according to their package statements and the corresponding relative path was used to copy those files to the exported project.

ASN.1 Studio 8.2.0

  • Conformance to Draft ITU-T Recommendation X.jsoner:
    • ASN.1 Studio supports the JSON Encoding Rules. The existing -json command-line option instructs the compiler to enable support for X.jsoner at runtime.
    • The JSON codec supports the following encoding instructions:
      • JER:ARRAY
      • JER:BASE64
      • JER:NAME
      • JER:OBJECT
      • JER:TEXT
      • JER:UNWRAPPED

ASN.1 Studio 8.1.1

  • When decoding or editing messages in the Value Editor, ASN.1 Studio will no longer issue a false MultipleTypeConstraint violation when a non-optional component is omitted from the full specification, but its presence is implied.
  • The licensing information in ASN.1 Studio Help has been updated.

ASN.1 Studio 8.1.0

  • The "Generated Files" folder of all language-specific projects now has a new "Clear and Delete" context menu item, which deletes all generated files from the disk.
  • ASN.1 Studio can now export ASN.1/Java projects to NetBeans IDE, Eclipse IDE, and Apache Ant build projects.
  • ASN.1 Studio now supports the following ASN.1/Java compiler options:
    • -splitBigEnums #num / -limitBigEnums #num
    • -helperAPI opentype, pdudecoder / -noHelperAPI opentype, pdudecoder;
    • -constraints (together with -toed)
  • When used with the ASN.1/C# Compiler version 4.4 and later, ASN.1 Studio supports ASN.1/C# projects with ASN.1 syntax that includes INTEGER types with the HUGE directive applied. Export of such projects to Visual Studio projects now includes a reference to an additional System.Numerics assembly with support for C# BigInteger types.
  • Sample ASN.1 projects in the "standards" directory are now consistent in that they only include the encoding rules that correspond to the ASN.1 standard used in the project.
  • For better control when printing BER-based messages in TLV by the "Print to Trace" and "Edit as Hex" operations, ASN.1 Studio can now use custom offsets specified in the Properties dialog for the file. These custom offsets are enabled by checking the "Do not automatically detect and skip CDR headers" box on the "BER TLV printer" page in the Project Settings dialog, which turns off automatic detection of CDR headers.

ASN.1 Studio 8.0.0

  • ASN.1 Studio now supports the JSON Encoding Rules per the "OSS Technical Specification for JSON Encoding Rules". New controls have been added to the Project Settings dialog on the encoder-specific page. They control the JSON encoder output, including the format used in displaying encodings in the Encoding Viewer of the Value Editor.
  • ASN.1 Studio can export ASN.1/C, ASN.1/C++, and ASN.1/C# projects to Visual Studio 2015 projects. This option is enabled for all versions of the OSS ASN.1/C# Tools.
  • ASN.1 Studio now includes support for the 2015 version of the ASN.1 standard.
  • Support for ASN.1 Studio on the Mac OS X platform has been renewed.

ASN.1 Studio 7.5.1 (Windows only)

  • The Add File and Properties dialogs now include controls that allow you to specify the length of a Charging Data Record (CDR) header. While decoding, ASN.1 Studio detects and skips CDR headers if they are not part of a BER-encoded message. ASN.1 Studio tries to automatically detect CDR headers; however, you can also manually set the controls.
  • While printing BER-based encoded messages in TLV in the Hex Editor or during the "Print to Trace" operation, ASN.1 Studio now automatically detects CDR headers in the input file containing BER-based encoded messages. CDR headers are skipped before each BER message is printed in TLV.
    The following file formats are supported:
    • CDR files consisting of a CDR file header and CDR records that include a CDR record header and a BER-based message.
    • CDR record headers consisting of a record identifier in the first two bytes and a record length in the next two bytes.
    To suppress automatic detection during the "Print to Trace" operation, from the Project Settings dialog select the TLV Printer page, and then select the new "Do not automatically detect and skip CDR headers" check box.

ASN.1 Studio 7.4.0

  • The user interface has been enhanced to make it easier for you to generate ready-to-run code that demonstrates how to encode / decode:
    • A test message generated for a particular PDU in the ASN.1 schema.
    • An existing ASN.1 binary or text message.
    • An ASN.1 value.
  • ASN.1 Studio includes support for messages encoded in the Comma-Separated Values (CSV) format, as follows:
    • CSVs can be edited in the Text Editor.
    • CSVs can be created for any ASN.1 values and for messages encoded using one of ASN.1 binary or text encoding rules.
    • The File Properties dialog now includes controls that allow you to select non-default CSV format settings; for example, you can select a different column separator, or include or exclude an optional CSV header, or change the format of the printed CSV values for certain simple types.
    • Large CSV messages can be filtered to create partial CSVs that include values of the simple types that are defined at the specified level within the PDU type structure.
    • The Text Editor in ASN.1 Studio now uses the UTF-8 character encoding for text files (CSV with Unicode characters) that have the UTF-8 signature (BOM) by default. You can change the global character encoding settings in the Preferences dialog, while the file is loaded.

ASN.1 Studio 7.3.0

  • ASN.1 Studio now supports exporting ASN.1/C# projects to Microsoft Visual Studio C# projects (.csproj).
  • The Project Settings dialog now includes separate controls for the new ASN.1/C# compiler options:
    -names, -genSchemaInfo, -json, and -noSerializable.

ASN.1 Studio 7.1.0

  • ASN.1 Studio now uses the Qt SDK Open Source Edition version 5.2.1 and on 64-bit Windows platforms now uses the 64-bit Qt libraries.
  • ASN.1 Studio on Windows platforms can now export an ASN.1 Studio project to any Microsoft Visual Studio project, from 2005 up to the latest 2013 versions that are installed on the computer where ASN.1 Studio runs.
  • ASN.1 Studio, the ASN.1/C compiler and the ASN.1/C SOED/LED/TOED runtime libraries now support Octet Encoding Rules (OER) and Canonical Octet Encoding Rules (COER) as defined in "Rec. ITU-T X.696 | ISO/IEC 8825-7", rather than only the subset of ASN.1 types as defined in the "NTCIP 1102:2004 Octet Encoding Rules (OER) Base Protocol" document.
    The Octet Encoding Rules (OER), like the Packed Encoding Rules (PER), produce compact encodings by taking advantage of information present in the ASN.1 schema to limit the amount of information included in each encoded message. However, in contrast to PER, OER favors encoding/decoding speed over compactness of the encodings.

ASN.1 Studio 7.0.0

  • ASN.1 Studio now includes:
    • Support for the Octet Encoding Rules (OER), as specified by the NTCIP 1102:2004 Octet Encoding Rules (OER) Base Protocol document. OER messages can generally be encoded/decoded significantly faster than BER and PER messages, while being only slightly less compact than PER messages
    • Support for cross-compilation to target platforms, as allowed by the license file
    • Support for tab groups; two or more editors can now be displayed at the same time in the main window, in side-by-side panels. Value Editors with messages of the same PDU type can be synchronized
    • User-defined initialization values when creating new values in the ASN.1 Value Editor
    • Support for files with multiple messages included inside fixed size blocks (particularly useful for CDR records):
      • - ability to skip invalid BER-based and XML-based encoded messages, and ASN.1 value notation, and continue decoding the remaining messages;
      • - better control over how files with multiple concatenated messages should be opened, decoded, or saved.
    • The "Go to Offset" feature in the Hex Editor.
    • ASN.1 schema / value notation editor context menu operations to allow navigating to the place in the schema where a type was defined and finding all references for an ASN.1 item
    • The "Track ASN.1 definition" mode in the Value Editor
    • Support for advanced operations in the Value Editor via context menus and shortcuts, such as Insert New/From Clipboard, Add New Component/Delete, Move/Copy (for SEQUENCE OF/SET OF and top-level PDU items)
    • Support for ISO 6093 representations for numeric values of REAL types in the Value Editor
    • Support for the new OID-IRI and RELATIVE-OID-IRI built-in types (introduced in the 2008 ASN.1 standard) in the Value Editor.