Skip to content

Commit

Permalink
Update changelog format and include unreleased changes
Browse files Browse the repository at this point in the history
  • Loading branch information
JesseFarebro committed Aug 25, 2021
1 parent 567284f commit 19b4a3c
Showing 1 changed file with 165 additions and 83 deletions.
248 changes: 165 additions & 83 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,98 +1,180 @@
# 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).

## [Unreleased]
### Added
- Native support for OpenAI Gym
- Native Python interface using pybind11 which results in a speedup for Python workloads as well as proper support for objects like `ALEState`
- Python ROM management, e.g., `ale-import-roms`
- PyPi Python wheels published as `ale-py` + we distribute SDL2 for out of the box visualization + audio support
- `isSupportedROM(path)` to check if a ROM file is supported by the ALE
- Added new games: Atlantis2, Backgammon, BasicMath, Blackjack, Casino, Crossbow, DarkChambers, Earthworld, Entombed, ET, FlagCapture, Hangman, HauntedHouse, HumanCannonball, Klax, MarioBros, MiniatureGolf, Othello, Pacman, Pitfall2, SpaceWar, Superman, Surround, TicTacToe3D, VideoCheckers, VideoChess, VideoCube, WordZapper (thanks @tkoppe)
- Added (additional) mode/difficulty settings for: Lost Luggage, Turmoil, Tron Dead Discs, Pong, Mr. Do, King Kong, Frogger, Adventure (thanks @tkoppe)

### Changed
- Rewrote SDL support using SDL2 primitives
- SDL2 now renders every frame independent of frameskip
- SDL2 renders at the proper ROM framerate (added benefit of audio sync support)
- Rewrote entire CMake infrastructure which now supports vcpkg natively
- C++ minimum version is now C++17
- Changed all relative imports to absolute imports
- Switched from Travis CI to Github Actions
- Allow for paddle controller's min/max setting to be configurable
- More robust version handling between C++ & Python distributions
- Updated Markdown documentation to replace TeX manual

### Fixed
- Fixed bankswitching type for UA cartridges
- Fixed a SwapPort bug in Surround
- Fixed multiple bugs in handling invalid ROM files (thanks @tkoeppe)
- Fixed initialization of TIA static data to make it thread safe (thanks @tkoeppe)
- Fixed RNG initialization, this was one of the last barriers to making the ALE fully deterministic, we are now fully deterministic

### Removed
- Removed FIFO interface
- Removed RL-GLUE support
- Removed ALE CLI interface
- Removed Java interface
- Removed os-dependent filesystem code in favour of C++17 `std::fs`
- Removed human control mode
- Removed old makefile build system in favour of CMake
- Removed bspf
- Removed unused controller types: Driving, Booster, Keyboard
- Removed AtariVox
- Removed Stella types (e.g., Array) in favour of STL types
- Remove Stella debugger
- Remove Stella CheatManager
- Lots of code cleanups conforming to best practices (thanks @tkoeppe)


## [0.6.1] - 2019-11-20
### Changed
- Speedup of up to 30% by optimizing variable types (@qstanczyk)

### Fixed
- Fixed switch fall-through with Gravitar lives detection (@lespeholt)

## [0.6.0] - 2015-06-23
### Added
- Support for modes and difficulties in Atari games (@mcmachado)
- Frame maxpooling as a post-processing option (@skylian)
- Added support for: Turmoil, Koolaid, Tron Deadly Discs, Mr. Do, Donkey Kong, Keystone Kapers, Frogger, Sir Lancelot, Laser Gates, Lost Luggage,
- Added MD5 list of supported ROMs

### Changed
- Disabled color averaging by default
- Replaced TinyMT with C++11 random

### Fixed
- Fixed old color averaging scheme (PR #181)
- Fixed minimal action set in Pong
- Fixed termination issues in Q*Bert


## [0.5.2] - 2015-10-04
### Added
- Routines for ALEState serialization (@Jragonmiris).

### Changed
- Enforce flags existence (@mcmachado).

### Fixed
- Fix RNG issues introduced in 0.5.0.
- Additional bug fixes.


## [0.5.1] - 2015-07-07
### Added
- Added RNG serialization capability.

### Changed
- Refactored Python getScreenRGB to return unpacked RGB values (@spragunr).
- Sets the default value of the color_averaging flag to be true. It was true by default in previous versions but was changed in 0.5.0. Reverted for backward compatibility.

### Fixed
- Bug fixes from ALE 0.5.0.


## [0.5.0] - 2015-06-22
### Added
- Added action_repeat_stochasticity.
- Added sound playback, visualization.
- Added screen/sound recording ability.
- CMake now available.
- Incorporated Benjamin Goodrich's Python interface.
- Added examples for shared library, Python, fifo, RL-Glue interfaces.
- Incorporated Java agent into main repository.

### Changed
- Better ALEInterface.
- Many other changes.

### Fixed
- Some game fixes.

### Removed
- Removed internal controller, now superseded by shared library interface.
- Removed the following command-line flags: 'output_file', 'system_reset_steps', 'use_environment_distribution', 'backward_compatible_save', internal agent flags
- The flag 'use_starting_actions' was removed and internally its value is always 'true'.
- The flag 'disable_color_averaging' was renamed to 'color_averaging' and FALSE is its default value.


## [0.4.4] - 2014-04-28
### Fixed
- Fixed a memory issue in ALEScreen.

These changelogs are for the ALE prior to v0.5. For more recent versions check out the [releases page](https://github.com/mgbellemare/Arcade-Learning-Environment/releases).

## Inter-release notes:
* color_averaging is now off by default so that environment observations correspond to emulator frames unless requested otherwise.
## [0.4.3] - 2014-04-26
### Fixed
- Fixed issues with frame numbers not being correctly updated.
- Fixed a bug where total reward was not properly reported under frame skipping.
- Fixed a bug with ALEState's m_frame_number.


## ALE 0.5dev_b.
**Released October 4th, 2015.**
## [0.4.2] - 2013-06-12
### Changed
- Modified StellaEnvironment save/load interface to provide additional flexibility.

* Enforce flags existence (@mcmachado).
* Fix RNG issues introduced in 0.5.0.
* Routines for ALEState serialization (@Jragonmiris).
* Additional bug fixes.
### Fixed
- Series of bug fixes from Matthew Hausknecht and community.

## ALE 0.5dev
**Released July 7th, 2015.**

* Refactored Python getScreenRGB to return unpacked RGB values (@spragunr).
* Sets the default value of the color_averaging flag to be true. It was true by default in previous versions but was changed in 0.5.0. Reverted for backward compatibility.
* Added RNG serialization capability.
* Bug fixes from ALE 0.5.0.
## [0.4.1] - 2013-05-24
### Added
- Added frame skipping support directly in StellaEnvironment.

## ALE 0.5.0.
**Released June 22nd, 2015.**
### Changed
- Reverted default number of episodes to 10.

* Added action_repeat_stochasticity.
* Added sound playback, visualization.
* Added screen/sound recording ability.
* CMake now available.
* Incorporated Benjamin Goodrich's Python interface.
* Some game fixes.
* Added examples for shared library, Python, fifo, RL-Glue interfaces.
* Incorporated Java agent into main repository.
* Removed internal controller, now superseded by shared library interface.
* Better ALEInterface.
* Many other changes.
### Fixed
- Fixed RL-Glue syntax from OBSERVATION to OBSERVATIONS. Thanks to Angus MacIsaac for picking this bug up.

## ALE 0.5dev.
**Released February 15th, 2015.**

* Removed the following command-line flags: 'output_file', 'system_reset_steps', 'use_environment_distribution', 'backward_compatible_save', internal agent flags
* The flag 'use_starting_actions' was removed and internally its value is always 'true'.
* The flag 'disable_color_averaging' was renamed to 'color_averaging' and FALSE is its default value.
## [0.4.0] - 2013-04-22
### Added
- RL-Glue support
- Shared library interface
- Simpler direct environment interfacing
- Improved environment handling
- Improved environment customization
- Better documentation

## ALE 0.4.4.
**Released April 28th, 2014.**

* Fixed a memory issue in ALEScreen.
## 0.3.0 - 2012-07-22
- Initial ALE release.

## ALE 0.4.3 Bug fix (Mayank Daswani).
**Released April 26th, 2014.**

* Fixed issues with frame numbers not being correctly updated.
* Fixed a bug where total reward was not properly reported under frame skipping.

## ALE 0.4.3.
**Released January 7th, 2013.**

* Fixed a bug with ALEState's m_frame_number.

## ALE 0.4.2.
**Released June 12th, 2013.**

* Modified StellaEnvironment save/load interface to provide additional flexibility.
* Series of bug fixes from Matthew Hausknecht and community.

## ALE 0.4.1 Bug fix
**Released May 24th, 2013.**

* Fixed RL-Glue syntax from OBSERVATION to OBSERVATIONS. Thanks to Angus MacIsaac for picking this bug up.

## ALE 0.4.1.
**Released May 22nd, 2013.**

* Added frame skipping support directly in StellaEnvironment.
* Reverted default number of episodes to 10.

## ALE 0.4.0.
**Released April 22nd, 2013.**

* RL-Glue support
* Shared library interface
* Simpler direct environment interfacing
* Improved environment handling
* Improved environment customization
* Better documentation

## ALE 0.3.1.
**Released August 7th, 2012.**

* Fixed frames per episode cap for FIFO agents, added functionality to
limit the total number of frames per run for FIFO agents.

## ALE 0.3.
**Released July 22nd, 2012.**

* Initial ALE release.
[unreleased]: https://github.com/mgbellemare/Arcade-Learning-Environment/compare/v0.6.1...HEAD
[0.6.1]: https://github.com/mgbellemare/Arcade-Learning-Environment/compare/v0.6.0...v0.6.1
[0.6.0]: https://github.com/mgbellemare/Arcade-Learning-Environment/compare/v0.5.2...v0.6.0
[0.5.2]: https://github.com/mgbellemare/Arcade-Learning-Environment/compare/v0.5.1...v0.5.2
[0.5.1]: https://github.com/mgbellemare/Arcade-Learning-Environment/compare/v0.5.0...v0.5.1
[0.5.0]: https://github.com/mgbellemare/Arcade-Learning-Environment/compare/aa433a4b401bc3e7113c494edfc90500bc4afc78...v0.5.0
[0.4.4]: https://github.com/mgbellemare/Arcade-Learning-Environment/compare/d93189e0f00b5cb10120134ca965d8a5d3124581...aa433a4b401bc3e7113c494edfc90500bc4afc78
[0.4.3]: https://github.com/mgbellemare/Arcade-Learning-Environment/compare/b905e07ead43d07f386b35128e7eff60595e1581...d93189e0f00b5cb10120134ca965d8a5d3124581
[0.4.2]: https://github.com/mgbellemare/Arcade-Learning-Environment/compare/ba33f16376b545462666268194e8f72df82c1a3a...b905e07ead43d07f386b35128e7eff60595e1581
[0.4.1]: https://github.com/mgbellemare/Arcade-Learning-Environment/compare/84f9678d713695314570e0f183072f36e177a364...ba33f16376b545462666268194e8f72df82c1a3a
[0.4.0]: https://github.com/mgbellemare/Arcade-Learning-Environment/compare/5c45f643a78ef96ade23928fd6a3740172ec1e35...84f9678d713695314570e0f183072f36e177a364

0 comments on commit 19b4a3c

Please sign in to comment.