# 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).

## 1.3.3 - 2020-09-25

### Deprecated

  - `java.util.Timer` and `java.util.TimerTask` (prefer `ej.bon.Timer` and `ej.bon.TimerTask` from BON specification)

### Fixed

  - `java.util.List.get()` cannot return a `@Nullable` object
  - `java.util.Map.Entry.getKey()` and `java.util.Map.Entry.getValue()` cannot return a `@Nullable` object
  -  Declaration of `NonNullByDefault(true)` annotation on `java.lang` & `java.lang.annotation` packages to avoid Eclipse 2020 JDT builder random crashes when Null Analysis is enabled

## 1.3.2 - 2020-06-09

### Fixed

  - Add missing `@Nullable` annotation to `java.io.FilterInputStream.in` field
  
## 1.3.1 - 2020-03-17

### Fixed

  - Clarify lenient mode support in `java.util.Calendar` class: only lenient mode is supported
  - Add missing `@throws SecurityException` to `java.lang.Thread.interrupt()` method
  - Clarify which methods can be interrupted by `java.lang.Thread.interrupt()` method

## 1.3.0 - 2019-06-03

### Changed

  - Marked EDC APIs for Null Analysis, except the Collections Framework
  - Updated templates for `CHANGELOG.md` and `README.md`
  
### Added

  - Annotations `ej.annotation.NonNull`, `ej.annotation.NonNullByDefault` and `ej.annotation.Nullable` for Null Analysis
  - Methods `java.lang.Thread.setDaemon(boolean)` and `java.lang.Thread.isDaemon()`
  - Methods `java.lang.StringBuilder.substring(int)` and `java.lang.StringBuilder.substring(int,int)`

### Fixed

  - Misformed Javadoc comments

## 1.2.3 - 2016-04-01

### Added

  - Initial public revision.

---
_Copyright 2016-2020 MicroEJ Corp. All rights reserved._  
_MicroEJ Corp. PROPRIETARY. Use is subject to license terms._  