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

## v0.9.0  -  2020-04-15  -  faster bootstraps, extreme value upsamling
### general
- improved and faster bootstrap workflow
- new plot PlotAvailability
- extreme values upsampling
- improved runtime environment

### new features
- entire bootstrap workflow has been refactored and much faster now, can be skipped with `evaluate_bootstraps=False`, #60
- upsampling of extreme values, set with parameter `extreme_values=[your_values_standardised]` (e.g. `[1, 2]`) and 
  `extremes_on_right_tail_only=<True/False>` if only right tail of distribution is affected or both, #58, #87
- minimal data length property (in total and for all subsets), #76
- custom objects in model class to load customised model objects like padding class, loss, #72
- new plot for data availability: `PlotAvailability`, #103
- introduced (default) `plot_list` to specify which plots to draw
- latex and markdown information on sample sizes for each station, #90

### technical
- implemented tests on gpu and from scratch for develop, release and master branches, #95
- usage of tensorflow 1.13.1 (gpu / cpu), separated in 2 different requirements, #81
- new abstract plot class to have uniform plot class design
- New time tracking wrapper to use for functions or classes
- improved logger (info on display, debug into file), #73, #85, #88
- improved run environment, especially for error handling, #86
- prefix `general` in data store scope is now optional and can be skipped. If given scope is not `general`, it is 
  treated as subscope, #82
- all 2D Padding classes are now selected by `Padding2D(padding_name=<padding_type>)` e.g. 
  `Padding2D(padding_name="SymPad2D")`, #78
- custom learning rate (or lr_decay) is optional now, #71