# Change Log

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

The format is based on [Keep a Changelog](http://keepachangelog.com/)
and this project adheres to [Semantic Versioning](http://semver.org/).

## [Unreleased]

## [v0.1.3] - 2021-01-01

- Added `#[repr(transparent)]` to follow the `core::cell::Cell`

## [v0.1.2] - 2019-08-29

### Added

- Added back the `const-fn` feature, but unused for backward compatibility

## [v0.1.1] - 2019-08-29

### Added

- Added `.as_ptr()`
- `new()` now const by default

## [v0.1.0] - 2017-03-08

- Initial release

[Unreleased]: https://github.com/japaric/vcell/compare/v0.1.3...HEAD
[v0.1.3]: https://github.com/japaric/vcell/compare/v0.1.2...v0.1.3
[v0.1.2]: https://github.com/japaric/vcell/compare/v0.1.1...v0.1.2
[v0.1.1]: https://github.com/japaric/vcell/compare/v0.1.0...v0.1.1
