CHANGELOG.md

# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## main

## 4.8.1

- Fix bad size for reserved OptRR record during encoding

## 4.8.0

- Fix Base64 lexing of zone files
- Add support for [RFC8976](https://datatracker.ietf.org/doc/rfc8914/): Message Digest for DNS Zones

## 4.7.0

- Extend support for [RFC8914](https://datatracker.ietf.org/doc/rfc8914/): Extended DNS Errors.

## 4.6.0

- Add support for DNS zone file parsing

## 4.5.0

- Add support for [RFC8080](https://datatracker.ietf.org/doc/rfc8080/): Ed22519/Ed448 for DNSSEC.
- Add support for [RFC8914](https://datatracker.ietf.org/doc/rfc8914/): Extended DNS Errors.

## 4.4.0

- Add support for [RFC6605](https://datatracker.ietf.org/doc/rfc6605/): ECDSA for DNSSEC.
- Add support for [RFC9077](https://datatracker.ietf.org/doc/rfc9077/): NSEC/NSEC3 TTLs.

## 4.3.0

- Add support for TLSA records.

## 4.2.0

- Add shortcuts for normalizing and converting domains into labels.
- Add a helper for comparing label lists.
- Add helpers to convert from and to codes into their string representation.

## 4.1.0

- Add support for RFC7873 EDNS cookies encoding and decoding

## 4.0.1

- Fix additional count when truncating a message

## 4.0.0

- Use `erlang:system_time/1` for timestamps.
- Use maps instead of proplists for options to be passed to
    encoding, decoding, TSIG, and DNSSEC functions.
- Encoding logic builds responses that contain the full question section,
    and optionally drop the answers if the response is to be truncated.
- Use consistent record names.
- Split names functions into a standalone `dns_names` module.
- Extends and reorganise documentation.

## 3.1.3

- Fix: now using the reserved space for the OPT RR records during the encoding of the message (#74)

## 3.1.2

- Add NXNAME type to terms types.

## 3.1.1

- Fix EDNS0 compliance for truncated records and unsupported versions

## 3.1.0

- Fix EDNS0 compliance for truncated records and unsupported versions

## 3.0.5

- Fix `max_size` in encode_message opts

## 3.0.4

- Upgrade dependencies
- Apply linter specs

## 3.0.3

- Performance improvements in string manipulations

## 3.0.2

- Fix type definitions

## 3.0.1

- Ensure ASN1 compilation before building package

## 3.0.0

- Added xref, dialyzer, and ex_doc
- Add strict typing and RFC references to all records
- Add support for TXT splitting of strings over the maximum permitted size

## 2.0.0

### Changed

- Bumps to OTP/27
- Replaced "jsx" with "json"

### Added

- Erlfmt
- CONTRIBUTING.md
- CHANGELOG.md
- Release process to hex.pm

## 1.1.0

N/A