
0.8.16:	2004-Jul-22

	* Fixed application-level problem in SET OF/SEQUENCE OF array cleanup.
	  (Severity: medium, Security impact: low)
	* Improved asn_GT2time() and added asn_time2{GT,UT}() functions.
	* BIT STRING pretty-printing.

0.8.15:	2004-Jul-20

	* Fixed parser: memory leak in free_struct code for SET OF/SEQUENCE OF.
	  (Severity: high, Security impact: medium)
	* Fixed parser: invalid memory reference in code constructing tags.
	  (Test case 48) (Severity: high, Security impact: medium)
	  When encoding data for certain ASN.1 specifications containing
	  explicit tags, the tag is always written incorrectly due to
	  incorrect memory reference. The encoding will almost always produce
	  unparseable data and might well reference unmapped region so program
	  would produce segmentation violation. Fortunately, memory is
	  read, not written, so remote exploits cannot execute arbitrary
	  code and triggering unmapped memory reference is highly unlikely
	  even it attacker knows the code (basically, the compiler should place
	  asn1_DEF_... right before the end of the mapped memory region, which
	  is extremely rare).
	* Improved INTEGER type printing.

0.8.14:	2004-Jun-30

	* Fixed compiler: extensibility of CHOICE and SET type has not been
	  taken into account during table construction.
	  (Test case 47) (Severity: high, Security impact: low)

0.8.13:	2004-Jun-29

	* Fixed compiler: the skip values for IMPLICIT tagging were broken
	  in some complex cases where one type is defined using another.
	  (Test case 46) (Severity: medium, Security impact: low).
	* Added -fknown-extern-type command line parameter to asn1c.
	* Removed -N command line flag and underlying functionality
	  to honor KISS principle.

0.8.12:	2004-Jun-17

	* RELATIVE-OID and OBJECT IDENTIFIER encoders/decoders are not bound
	  anymore to an integer type of specific size (unsigned long). The
	  size of an integer must be provided explicitly.
	  See {OBJECT_IDENTIFIER|RELATIVE_OID}_{get|set}_arcs().
	* SEQUENCE BER decoder fixed again for complex CHOICE case
	  (Test case 44) (Severity: medium, Security impact: low).

0.8.11:	2004-Jun-05

	* Enforced stricter conformance with C standards.
	* SEQUENCE BER decoder is now equipped with the sorted map
	  in case of complex CHOICE descendants. Test case 44 created.

0.8.10:	2004-Jun-02

	* Added const qualifier where necessary.
	* Changed position of outmost_tag fetcher within asn1_TYPE_descriptor_t
	  structure.

0.8.9:	2004-May-26

	* Added *_{get|set}_arcs_*() functions for OBJECT IDENTIFIER
	  and RELATIVE-OID, together with test cases.

0.8.8:	2004-May-09

	* Introduced subtype constraints support (incomplete!).
	* Fixed compiler. If the last member of the SEQUENCE is OPTIONAL
	  and absent in the encoding, and the type is extensible (...) or
	  EXTENSIBILITY IMPLIED flag is set, then the structure could not
	  be correctly decoded. (Severity: high, Security impact: low).
	* Compiler: fixed recursive ASN.1 types inclusion (Severity: low,
	  Security impact: none).
	* Parser: IMPORTS/FROM fixes, now allowing multiple sections.
	* Code compiled and checked on PowerPC (@MacOS X). No major portability
	  issues experienced.

0.8.7:	2004-Apr-11	T-version-0-8-7

	* Fixed SEQUENCE BER decoder: if the last member of the SEQUENCE is
	  OPTIONAL and absent in the encoding, RC_FAIL was returned instead
	  of RC_OK (Severity: high, Security impact: low).
	* Added test case to check the above problem.
	* Added test case to check -fnative-integers mode.

0.8.6:	2004-Apr-03	T-version-0-8-6

	* Fixed compiler output for embedded ASN.1 structures.

0.8.5:	2004-Mar-28	T-version-0-8-5

	* Fixed ber_tlv_length() computation problem (Severity: blocker,
	  Security impact: none).
	  Reported by <vss@high.net.ru>

0.8.4:	2004-Mar-22

	* Removed RC_ITAG enumeration element from BER decoder.
	  This return code did not have much practical value.

0.8.3:	2004-Mar-14	T-version-0-8-3

	* Fixed SET::BER decoder: restart after reaching a buffer boundary
	  weas broken (Severity: blocker, Security impact: low).
	* Fixed OCTET STRING::BER decoder: restart after reaching a buffer
	  boundary was broken (Severity: blocker, Security impact: low).
	  Reported by <vss@high.net.ru>
	* Added test cases to check decoders restartability.
	* Slightly more general INTEGER2long decoder.
	* Allowed nested /* C-type */ comments, as per X.680:2002.

0.8.2:	2004-Mar-01	T-version-0-8-2

	* Fixed SEQUENCE BER decoder: an OPTIONAL element was required, where
	  should not have been (Severity: major; Security impact: low).
	* Fixed print_struct pointer inheritance.
	* Added -fno-c99 and -funnamed-unions

0.8.1:	2004-Feb-22

	* -R switch to asn1c: Omit support code, compile only the tables.
	* Introduced NativeInteger pseudotype.
	* Corrected the informal print_struct()'s output format.

0.8.0:	2004-Feb-03	T-version-0-8-0

	* Some documentation is created (a .pdf and a short manual page).
	* Last touches to the code.

0.7.9:	2004-Feb-01	T-version-0-7-9

	* Human readable printing support.
	* Support for implicit (standard) constraints.

0.7.8:	2004-Jan-31

	* SET now rejects duplicate fields in the data stream.

0.7.7:	2004-Jan-25

	* Added types: GeneralizedTime and UTCTime.

0.7.6:	2004-Jan-24	T-version-0-7-6

	* DER encoding of a SET OF now involves dynamic sorting.

0.7.5:	2004-Jan-24	T-version-0-7-5

	* DER encoding of a SET with untagged CHOICE
	  now involves dynamic sorting.

0.7.0:	2004-Jan-19	T-version-0-7-0

	* A bunch of DER encoders is implemented.

0.6.6:	2004-Jan-11

	* Implemented CHOICE decoder.
	* Implemented destructors support.

0.6.5:	2004-Jan-03

	* Implemented SET decoder.
	* Implemented SET OF and SEQUENCE OF decoders.

0.6.4:	2003-Dec-31

	* Implemented BOOLEAN, NULL, ENUMERATED decoders.
	* Implemented OCTET STRING decoder.
	* Implemented BIT STRING decoder.

0.6:	2003-Dec-30

	* First decoding of a BER-encoded structure!

0.5:	2003-Dec-28

	* Framework and most of the compiler backbone coding done.

0.1:	2003-Nov-28

	* Programming started.
