- Update method signature for Asn1::integer to allow numeric strings (for big ints). The underlying code already supports it.
- Add PHP 8.3 to CI runs.
- Removed return type of AbstractType::getValue, so it can be inferred from the property for static analysis.
- Update return types for AbstractType and some ASN1 helper methods to provider better hints for static analysis.
- Time types now accept DateTimeInterface instead of just DateTime.
- Support PHP 8.0 / 8.1.
- Fix non-optional params on some objects and return type declarations.
- Fix an OID encoding case when the second component would be near or over the max int as defined by PHP.
- Fix the encoding / decoding of OIDs when the first / second component is more than one byte (found by @danielmarschall)
- Fix the length-of-length check for a partial PDU with long definite encoding under certain circumstances.
- More performance optimizations in the encoding / decoding process for large amounts of data structures.
- Performance and memory improvements.
- Removed the 'trailing data' aspect of decoded types.
- Added a 'getLastPosition' method for encoders. Returns the last position in the byte stream the decoder stopped at.
- Removed the 'constructed_only' and 'primitive_only' options for the encoder.
- Additional minor performance improvements.
- Improve general encoder performance with various optimizations.
- Add arbitrary precision support for tag numbers.
- Add arbitrary precision support for OID types.
- Remove the TypeFactory. Do not load classes dynamically.
- Simplify long definite length decoding.
- Simplify VLQ decoding to be a single operation.
- Support arbitrary-precision for Integer/Enumerated types with the GMP extension.
- Fix option handling for current set of options.
- Add an options setter / getter. Merge options recursively.
- Initial release.