# 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.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## 3.0.0 - 2026-03-04

### Fixed

- Fix Javadoc that closing the `SerialConnection`, its `InputStream`, or its `OutputStream` closes the underlying connection immediately.

### Changed

- `SerialConnection.configure()` now also throws `SerialConfigurationException`.
- Clarify Javadoc for `SerialConnection.getInputStream()` and `SerialConnection.getOutputStream()` that they each return the same stream instance on subsequent calls.

### Removed

- Remove `SerialConnection(int portId)` constructor in favor of the string-based `SerialConnection(String portName)`.
- Remove `SerialConnectionPermission(int portId)` constructor, `SerialConnectionPermission.isPortSpecifiedById()`, and `SerialConnectionPermission.getPortId()`.

## 2.0.0 - 2025-08-28

### Changed

- This API has been disconnected from the ECOM API and can now be used with no additional dependencies.
- Change license to a BSD-style license.

### Added

- Add SerialConnection public constructors to open a connection to a serial port.
- Add SerialConnection.configure() method to configure the serial port parameters (baudrate, data bits, parity mode & stop bits).
- SerialConnection now implements AutoCloseable and can be used in a try-with-resource pattern.
- Add SerialConnection.isClosed() method to access connection state.

### Removed

- Remove classes: BitsInput, BitsOutput, CommPort.

---

_Copyright 2022-2026 MicroEJ Corp. All rights reserved._
_Use of this source code is governed by a BSD-style license that can be found with this software._
