# 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.8] - 2019-10-02
### Fixed
- kwargs argument cython compatibility

## [1.3.7] - 2019-09-25
### Changed
- Cython compilation directives (optimization purposes)

## [1.3.6] - 2019-09-22
### Fixed
- Fix internal consumer callback

## [1.3.5] - 2019-09-21
### Fixed
- Travis channel '__check_producers_state()' method crash when compiled

## [1.3.4] - 2019-09-09
### Fixed
- Producer 'wait_for_processing' declaration

## [1.3.3] - 2019-09-08
### Changed
- Channel 'get_consumer_from_filters' manage wildcard filters

## Related issue
- #9 [Channel] Implement consumer filter

## [1.3.2] - 2019-09-07
### Changed
- Channel 'get_consumer_from_filters' method compilation from cython to python

## [1.3.1] - 2019-09-07
### Added
- Producer supervised consumer wait method 'wait_for_processing'

### Changed
- Consumer tests

## [1.3.0] - 2019-09-07
### Added
- Supervised Consumer that notify the consumption end

### Fixed
- Consumer tests

## [1.2.0] - 2019-09-04
### Added
- Channel add_new_consumer method to add a new consumer with filters
- Channel get_consumer_from_filters to get a list of consumers that match with filters

### Changed
- Channel new_consumer method can handle a consumer filters dict
- Channel __add_new_consumer_and_run to use consumer filters and not consumer name

## [1.1.14] - 2019-08-29
### Added
- Tests

## [1.1.13] - 2019-08-29
### Fixed
- Internal consumer implementation

## [1.1.12] - 2019-08-29
### Fixed
- Internal consumer consume method

## [1.1.11] - 2019-08-28
### Added
- Internal consumer : the callback is defined into the consumer class and is not a constructor param anymore

## [1.1.10] - 2019-08-27
### Added
- Consumer instance param in channel new_consumer to handle a new consumer with an already created instance

## [1.1.9] - 2019-08-26
### Fixed
- Queue to async

## [1.1.8] - 2019-08-16
### Changed
- Replaced Channels class by orphan public methods

### Removed
- Channels class

## [1.1.7] - 2019-08-14
### Added
- Setup install requirements

## [1.1.6] - 2019-08-14
### Changed
- ChannelInstances class to commons singleton class implementation

## [1.1.5] - 2019-08-13
### Fixed
- Changed Producer attributes to public
- Changed Consumer attributes to public

## [1.1.4] - 2019-08-13
### Fixed
- Channel is_paused attribute to public

## [1.1.3] - 2019-08-13
### Added
- Producer pause and resume methods
- Channel producers pause/resume management

### Related issue
- [Producer] Implement channel pause and resume #8 

## [1.1.2] - 2019-08-12
### Fixed
- Channel init_consumer_if_necessary object key type

## [1.1.1] - 2019-08-12
### Fixed
- Channel init_consumer_if_necessary iterable type

## [1.1.0] - 2019-08-11
### Added
- Channel global tests

### Changed
- Migrate Consumer start, run and stop methods to async

### Fixed
- Consumer attributes queue and filter_size to public
- Channel start and stop methods
- Channels methods Cython compliance

## [1.0.12] - 2019-08-09
### Changed
- PyDoc fixes

## [1.0.11] - 2019-08-09
### Added
- Channel new consumer methods

## [1.0.10] - 2019-08-08
### Added
- Channel internal_producer

## [1.0.9] - 2019-08-07
### Changed
- Channel creation utility refactored in two different methods

## [1.0.8] - 2019-08-06
### Added
- Channel creation utility

## [1.0.7] - 2019-08-04
### Added
- Channel 'modify' method that calls all producers modify method
- Channel 'register_producer' method to register all its producers.

## [1.0.6] - 2019-08-03
### Added
- constants.py file

### Modified 
- Import way with __init__.py files

### Removed
- Unused evaluator package

## [1.0.5] - 2019-08-03
### Added
- Producer 'modify' method

## [1.0.4] - 2019-06-10
### Fixed
- ExchangeChannel deprecated imports

## [1.0.3] - 2019-06-10
### Removed
- [OctoBot-Trading] migrate exchange channels to OctoBot-Trading

## [1.0.2] - 2019-06-09
### Fixed
- [OctoBot-Trading] Exchange get_name() method deprecated

## [1.0.1] - 2019-05-27
### Changed
- Migrate to cython with pure python
