TSN.1 Server Release Notes


Release 5.4

Feature Enhancements

  • The following new TSN.1 syntax are supported:
    • Binary integer literals
    • A new keyword "until" to more efficiently represent recursive constructs prevalent in 3GPP standards
    • Size constraint for a declaration block
  • Added the value-offset attribute to the display extension to adjust bit field values that are encoded at a fixed offset from their two's complement representation such as ASN.1 PER
  • Promoted the possibly duplicate field declaration check from a compile warning to a compile error. If appropriate, the error can be overriden by appending a '?' character after the field name.
  • Promoted the possibly undeclared field reference check from a compile warning to a compile error. If appropriate, the error can be overriden by appending a '?' character after the field name.

Bug Fixes

  • The pack and unpack methods did not check for buffer overflow for large bit fields that are represented as byte arrays
  • The pack method did not check for buffer overflow for the null character of a string field
  • The pack and unpack methods continued on when an optional block was not present

Release 5.3

This is a maintenance release to sync up with the TSN.1 Compiler version 5.3. The "-little" option is obsolete and replaced by "-little-endian".

Release 5.2.3

Bug Fixes

  • Operator "[]" is given wrong precedence.

Release 5.2.2

Feature Enhancements

  • Changed the bit order for little endian to go from right (LSB) to left (MSB) within a byte

Release 5.2.1

Feature Enhancements

  • Added 64-bit floating point type support

Release 5.2

Feature Enhancements

  • The TSN.1 Server now serves as the Runtime Library for the TSN.1 Compiler generated Java code
  • The following new TSN.1 syntax are supported:
    • Error report code
  • Ported the TSN.1 Server to run on Android

Release 5.0

Feature Enhancements

  • When the size of a message or a case of field is constrained by a simple arithmetic expression such as "Length * 8" and the "Length" field is zero, the "Length" field will be set automatically by the sizeof function.
  • Added the setMsg methods to the Message class

Release 4.3

Feature Enhancements

  • The following new TSN.1 syntax is supported:
    • Pass a message as an argument to another message
    • Pass arguments to macros
    • Array subscript expressions
  • The equal function now compares two messages for equality using their packed bits. It no longer does the field-by-field comparison.
  • Removed the data too short check for bit field.

Bug Fixes

  • The getMin and getMax return values that do not use the range specified in the TSN.1 file.

Release 4.3.1

Bug Fixes

  • Scanning bit buffer data incorrectly skips the first 0.

Release 4.2

Feature Enhancements

  • The following new TSN.1 syntax is supported:
    • Null-terminated strings

Release 4.2.1

Feature Enhancements

  • Added the getMin and getMax methods to the Message class

Release 4.1

Feature Enhancements

  • Added the remove interface to the Message class

Release 4.1.1

Bug Fixes

  • Fixed a bug in evaluating Boolean "and" expressions

Release 4.0

Feature Enhancements

  • The following new TSN.1 syntax is supported:
    • Namespace
    • String constant
    • Signed bit field
    • While loop
  • Added the getString interface to the TSNS class
  • Added the getEnumLiteral and getEnumLiterals interfaces to the TSNS class
  • Added the getCanonicalName method to the Field class
  • Tightened the runtime check of the size of a sized block
  • Optimized the semantic check for nested conditionals

Bug Fixes

  • Fixed a bug in unpacking fields tagged as little endian

Release 3.7

Feature Enhancements

  • Added interfaces to the Message and TSNS classes to support message serialization
  • Added new classes to iterate over message fields

Release 3.6

Feature Enhancements

  • Made scanXML function more flexible to parse input strings with parameters in arbitrary order
  • Eliminated the extra message tag for nested messages in the printXML output string

Release 3.5

Feature Enhancements

  • Added the getCaseOfMsg interface to the Message class
  • Added more checks on buffer fields
  • Improved the diagnostic message to be more informative

Bug Fixes

  • Fixed a bug when referencing an invalid message in a subfield expression.

1 Release 3.5.1

Feature Enhancements

  • Added the isBuf interface to the Message class

2 Release 3.5.2

Bug Fixes

  • Fixed a bug in interval subtraction that results in negative field size

Release 3.4

Feature Enhancements

  • The following new TSN.1 syntax are supported:
    • Unsigned integer
    • 64-bit integer
  • The syntax "&id" for reference argument has been deprecated. Use “var id” instead.
  • Added a compile-time check to verify only one unbounded array appears in a message and the array is the last field
  • Added a compile-time check for circular definitions, macro expansions, and field references

Release 3.3

Feature Enhancements

  • Added the literal extension to associate a string to an enum literal for display
  • Added the printXML and scanXML interface to the Message class
  • Relaxed the syntax for “optional” declarations so that they may appear anywhere in the message definition

Release 3.2

Feature Enhancements

  • The following new TSN.1 syntax are supported:
    • Conditional compilation
  • Added a new value “ascii” to the display extension for displaying ASCII strings
  • COM DLL is no longer supported.

Bug Fixes

  • Fixed a bug in the case of field evaluation.

Release 3.1

Feature Enhancements

  • The following functions are added to the Server API:
    • Set and get message fields
    • Pack a message into a sequence of bits
    • Compute the size of a message in bits
    • Scan a message from an ASCII string
  • The following new TSN.1 syntax are supported:
    • New syntax for an optional field
    • Reference arguement
    • Default value for an array
    • Subfield expression
  • Made the Server also available as a COM DLL or a .NET DLL
  • Using TSN.1 Server as a stand-along application with a socket interface is no longer supported
  • Added support for the endianness extension

Release 3.0

This is a maintenance release to sync up with the TSN.1 Compiler version 3.0.