Major Changes
* TensorFlow 2.0.0 is now supported. This is done through the `tf.compat.v1` interface (https://github.com/Unity-Technologies/ml-agents/pull/2665)
* Vector observations from the Agent are now sent using the ISensor interface. (https://github.com/Unity-Technologies/ml-agents/pull/2813)
* Demonstration files recorded using previous versions are not compatible with 0.12.0
* Custom observations, custom actions, text observations, and text actions were removed. (https://github.com/Unity-Technologies/ml-agents/pull/2839)
* Raycast and spherecast observations are now done through a RayPerceptionSensor, and should be configured by adding a RayPerceptionSensorComponent3D to an Agent. See the [Migration Guide](https://github.com/Unity-Technologies/ml-agents/blob/master/docs/Migrating.md) for more details. (https://github.com/Unity-Technologies/ml-agents/pull/2874)
* RayPerceptionSensor adds more configuration such as toggling between raycasts and spherecasts, and better debug display.
* RayPerception3D and RayPerception2D are deprecated and will be removed in the next release.
For instructions on how to migrate from 0.11.0 to 0.12.0 see the [Migration Guide](https://github.com/Unity-Technologies/ml-agents/blob/master/docs/Migrating.md).
Minor Fixes and Improvements
* A bug in how RayPerception3D used the vertical offset parameters was fixed. This may cause a behavior change in your observations; see the [Migration Guide](https://github.com/Unity-Technologies/ml-agents/blob/master/docs/Migrating.md) for more details. (https://github.com/Unity-Technologies/ml-agents/pull/2823)
* A bug which swapped the height and width dimensions in visual observation was fixed. (https://github.com/Unity-Technologies/ml-agents/pull/2919)
* Memories and previous actions are no longer passed between the environment and the trainer. These are now saved by the trainer and at inference. This affects the low-level API but existing models are still compatible. (https://github.com/Unity-Technologies/ml-agents/pull/2795, https://github.com/Unity-Technologies/ml-agents/pull/2913)
* Unity Inference Engine (Barracuda) was upgraded to 0.3.2, and it is now installed via the Unity Package Manager. Please see the [Barracuda release notes](https://github.com/Unity-Technologies/barracuda-release/blob/release/0.3.2/CHANGELOG.md) for the list of changes.
* An issue with setting num_batches_per_epoch past the number of batches in the buffer while using recurrent and BC was fixed (https://github.com/Unity-Technologies/ml-agents/pull/2965)
* Addressed an issue with setting pretraining steps to 0 (continuous pretraining) (https://github.com/Unity-Technologies/ml-agents/pull/2977)