# Asn1 Release Notes

## Asn1 1.3.2

### Fixed errors and malfunctions

- Now does the compiler check values (including referenced values), and formats the value so it is suitable to use as input to encoding functions.
  (Own Id: OTP-3277)
  (Aux Id: OTP-4103)

- Unnecessary external function calls in generated code are now generated as internal function calls.
  (Own Id: OTP-4073)

### Improvements and new features

- Now is Information Objects supported in BER encoding.
  (Own Id: OTP-3980)
  (Aux Id: OTP-3979 OTP-3978)

- PER: A new option `per_bin` is now supported. When used the generated encode/decode functions use binaries and the bit syntax to get better performance than the old `per` variant which used lists. All values input to encode and returned from decode are compatible between `per` and `per_bin` except for open types which are represented as binaries with per_bin and octet lists with per. We recommend that you use per_bin instead of per from now on, the use of binaries will be the default in coming versions and all improvements and optimizations for PER will be concentrated to that solution.
  (Own Id: OTP-4094)

- Support for DER implemented. Used by flag +der when compiling. Include the full BER encoding plus: sorting of SET components, sorting of encoded elements in SET OF, full check of default values in SET and SEQUENCE. See new documentation on DER in user_guide sections 1.3.1; 1.4.11; 1.4.12; 1.4.14; 1.4.16 and 1.10, in the reference manual for asn1ct.
  (Own Id: OTP-4103)

## Asn1 1.3.1

### Fixed errors and malfunctions

- Do not generate record in .hrl file for SET types
  Own Id: OTP-4025
- Fixed internal error when using BIT STRINGs with Named Number List in combination with `compact_bit_string` and `ber_bin` options.
  Own Id: OTP-4026
  Aux Id: OTP-3982
- The atom 'com' can now be used in ENUMERATED as an EnumerationItem.
  Own Id: OTP-4037
  Aux Id: Seq 7036
- ber: Now it is possible (again) to encode data format "{Type,Value}" in a SEQUENCE OF RequestParameter, when RequestParameter is of type ENUMERATED. The {Type,Value} notation is not recommended for use, it is redundant and exist only for very ancient backwards compatibility reasons. The "feature" might be removed in forthcoming versions.
  Own Id: OTP-4057
  Aux Id: Seq 7066
- A bug in the parser, that caused failure on COMPONENTS OF is now removed.
  Own Id: OTP-4058

## Asn1 1.3

### Known problems

- The compiler will now check that a value referenced by name does exist.
  Own Id: OTP-3277
- BER:Decode of a type T ::= SEQUENCE OF C fails if C is encoded with indefinite length. This is know corrected.
  Own Id: OTP-3811
  Aux Id: seq5040

### Fixed errors and malfunctions

- The new parser handles imports when one import ends with FROM, a modulename and a reference to a objectidentifier followed by imports from other modules.
  Own Id: OTP-3463
- The compiler did not check that a name mentioned as EXPORTED actually is defined within the module. This is now corrected.
  Own Id: OTP-3659
- Removed bug caused by use of nested indefinite length
  Own Id: OTP-3994

### Improvements and new features

- Now supporting most common use of parameterization according to X.683
  (Own Id: OTP-3978)

- PER: Now supporting most common use of Information Objects according to X.681. A new parser has been implemented. The error messages due to syntax errors are slightly different than previous. TableConstraint part of X.682 now also supported.
  Own Id: OTP-3979
- New compiler option added: `ber_bin`. The compiler generates code with new bit syntax. Run time functions uses bit syntax when feasible. Higher encoding/decoding performance in most cases. Se also comments for Asn1 1.2.9.3.
  Own Id: OTP-3981
- A more compact format of BIT STRING in Erlang is now available by use of the compiler option `compact_bit_string`. It is much faster when large BIT STRINGs are used.
  Own Id: OTP-3982
- Now possible to merge many ASN.1 input files to one Erlang file by use of a configuration file that lists the ASN.1 files.
  Own Id: OTP-3983
- New documentation in User's Guide in section:
  3.1: New compile-time functions and options are described.
  4.6: New compact format of BIT STRING is described.
  4.8: Additional comments on character strings.
  7: New section describing ASN.1 Information Objects.
  8: New section describing Parameterization.
  Reference Manual/asn1ct New compile options are described.
  Own Id: OTP-3984
  Aux Id: OTP-3978, OTP-3979, OTP-3981, OTP-3982, OTP-3983
- Added the functionality to invoke ASN1Mod:encode (and decode).
  Own Id: OTP-3985
- Performance improvements by removing not necessary use of apply when calling asn1rt:encode. Also other general improvements.
  Own Id: OTP-3988

There are also release notes for older versions.