# 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.2.1 - 2025-12-05

### Changed

  - Favor IPv4 local addresses over IPv6 local addresses in `PollerConnectivityManager`.
    This fixes a connection detection with recent JDK versions.

## 3.2.0 - 2025-10-06

### Changed

  - Migrate module to SDK6
    - update README and move project to root directory.
    - bump edc and bon to 1.3.7 and 1.4.4.
    - switched to M5QNX_eval 2.3.0 for testing (jpf does not work with SDK6).

### Fixed

  - Remove extra space in HTTP GET request of the `HttpPollerConnectivityManager`.
  - Use a timeout to connect to the socket for polling in case the network interface can't connect to it. This fixes a case were the manager would hang indefinitely if one of the interface is connected (different from `0.0.0.0`) but has no internet access (for example a private VPN).

## 3.1.0 - 2023-10-09

### Changed

  - Add system property connectivity.preferred.netif.name in PollerConnectivityManager.
  - Filter based on the new system property through the network interfaces of PollerConnectivityManager.

## 3.0.0 - 2021-11-30

### Changed

  - Forbid instantiation without setting url and port.
  - Move internet connectivity test outside PollerConnectivityManager.
  - Use a full HTTP request instead of a simple connection test.
  - Marked APIs with annotations for Null Analysis.
  
## 2.1.1 - 2021-01-27

### Fixed

  - Add property to configure connect timeout.
  - Remove default values for properties and throw NPE if one of them is not set.

## 2.1.0 - 2019-03-22

### Changed

  - Use MMM.
  - Use android-connectivity.

## 2.0.2 - 2019-03-21

### Fixed

  - Avoid useless polling.
  - Avoid race conditions when callbacks are called before activenatwork is updated.

## 2.0.1 - 2019-03-20

### Added

  - Support different periods when internet is connected and when only interfaces are available.
  
### Fixed

  - Connection getting lost when interface are removed.

## 2.0.0 - 2018-07-20

### Added

  - Support multiple network.
  - Support net capability.
  - Delete ej.net.ConnectivityManager 
  
## 1.3.1 - 2017-12-01

### Fixed

  - ej.net.PollerConnectivityManager is missing a public no-arg constructor.
  
## 1.3.0 - 2017-10-12

### Added

  - Reduced the default polling period.
  - Made it possible to have different polling periods, depending on the network being available or not.
  - Reduced memory consumption.

## 1.2.0 - 2017-04-19

### Added

  - ej.net.PollerConnectivityManager now extends ej.net.ConnectivityManager
  
## 1.1.1 - 2016-11-30

### Fixed

  - Ignore the loopback addresses when detecting connectivity.

## 1.1.0 - 2016-09-03

### Added

  - Subclasses can override the notify method.

## 1.0.3 - 2016-04-01

### Added

  - Initial public revision.

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