# History

## 0.1.0 (2017-07-12)

- First release on PyPI.

- NEW: Includes primary optimization techniques such as global-best PSO and local-best PSO - #1, #3

### 0.1.1 (2017-07-25)

- FIX: Patch on LocalBestPSO implementation. It seems that it’s not returning the best value of the neighbors, this fixes the problem .

- NEW: Test functions for single-objective problems - #6, #10, #14. Contributed by @Carl-K. Thank you!

### 0.1.2 (2017-08-02)

- NEW: Binary Particle Swarm Optimization - #7, #17

- FIX: Fix on Ackley function return error - #22

- IMPROVED: Documentation and unit tests - #16

### 0.1.4 (2017-08-03)

- FIX: Added a patch to fix `pip` installation

### 0.1.5 (2017-08-11)

- NEW: easy graphics environment. This new plotting environment makes it easier to plot the costs and swarm movement in 2-d or 3-d planes - #30, #31

### 0.1.6 (2017-09-24)

- NEW: Native GridSearch and RandomSearch implementations for finding the best hyperparameters in controlling swarm behaviour - #4, #20, #25. Contributed by @SioKCronin. Thanks a lot!

- NEW: Added tests for hyperparameter search techniques - #27, #28, #40. Contributed by @jazcap53. Thank you so much!

- IMPROVED: Updated structure of Base classes for higher extensibility

### 0.1.7 (2017-09-25)

- FIX: Fixed patch on `local_best.py` and `binary.py` - #33, #34. Thanks for the awesome fix, @CPapadim!

- NEW: Git now ignores IPython notebook checkpoints

### 0.1.8 (2018-01-11)

- NEW: PySwarms is now published on the Journal of Open Source Software (JOSS)! You can check the review here. In addition, you can also find our paper in this link. Thanks a lot to @kyleniemeyer and @stsievert for the thoughtful reviews and comments.

### 0.1.9 (2018-04-20)

- NEW: You can now set the initial position wherever you want - #93

- FIX: Quick-fix for the Rosenbrock function - #98

- NEW: Tolerance can now be set to break during iteration - #100

Thanks for all the wonderful Pull Requests, @mamadyonline!

## 0.2.0 (2018-06-11)

- NEW: New PySwarms backend. You can now build native swarm implementations using this module! - #115, #116, #117

- DEPRECATED: Drop Python 2.7 version support. This package now supports Python 3.4 and up - #113

- IMPROVED: All tests were ported into pytest - #114

### 0.2.1 (2018-06-27)

- FIX: Fix sigmoid function in BinaryPSO - #145. Thanks a lot @ThomasCES!

## 0.3.0 (2018-08-10)

- NEW: New topologies: Pyramid, Random, and Von Neumann. More ways for your particles to interact! - #176, #177, #155, #142. Thanks a lot @whzup!

- NEW: New GeneralOptimizer algorithm that allows you to switch-out topologies for your optimization needs - #151. Thanks a lot @whzup!

- NEW: All topologies now have a static attribute. Neigbors can now be set initially or computed dynamically - #164. Thanks a lot @whzup!

- NEW: New single-objective functions - #168. Awesome work, @jayspeidell!

- NEW: New tutorial on Inverse Kinematics using Particle Swarm Optimization - #141. Thanks a lot @whzup!

- NEW: New plotters module for visualization. The environment module is now deprecated - #135

- IMPROVED: Keyword arguments can now be passed in the `optimize()` method for your custom objective functions - #144. Great job, @bradahoward

### 0.3.1 (2018-08-13)

- NEW: New collaboration tool using Vagrantfiles - #193. Thanks a lot @jdbohrman!

- NEW: Add configuration file for pyup.io - #210

- FIX: Fix incomplete documentation in ReadTheDocs - #208

- IMPROVED: Update dependencies via pyup - #204

## 0.4.0 (2019-01-29)

- NEW: The console output is now generated by the `Reporter` module - #227

- NEW: A `@cost` decorator which automatically scales to the whole swarm - #226

- FIX: A bug in the topologies where the best position in some topologies was not calculated using the nearest neighbours - #253

- FIX: Swarm init positions - #249 Thanks @dfhljf!

- IMPROVED: Better naming for the benchmark functions - #222 Thanks @nik1082!

- IMPROVED: Error handling in the `Optimizers` - #232

- IMPROVED: New management method for dependencies - #263

- DEPRECATED: The environments module is now deprecated - #217

## 1.0.0 (2019-02-08)

This is the first major release of PySwarms. Starting today, we will be adhering to a better semantic versioning guidelines. We will be updating the project wikis shortly after. The maintainers believe that PySwarms is mature enough to merit a version 1, this would also help us release more often (mostly minor releases) and create patch releases as soon as possible.

Also, we will be maintaining a quarterly release cycle, where the next minor release (v.1.0.0) will be on June. All enhancements and new features will be staged on the `development` branch, then will be merged back to the `master` branch at the end of the cycle. However, bug fixes and documentation errors will merit a patch release, and will be merged to `master` immediately.

- NEW: Boundary and velocity handlers to resolve stuck particles - #238 . All thanks for our maintainer, @whzup !

- FIX: Duplication function calls during optimization, hopefully your long-running objective functions won’t take doubly long. - #266. Thank you @danielcorreia96 !

### 1.0.1 (2019-02-14)

- FIX: Handlers memory management so that it works all the time - #286 . Thanks for this @whzup !

- FIX: Re-introduce fix for multiple optimization function calls - #290 . Thank you once more @danielcorreia96 !

### 1.0.2 (2019-02-17)

- FIX: BinaryPSO should return final best position instead of final swarm - #293 . Thank you once more @danielcorreia96 !

## 1.1.0 (2019-05-18)

This new version adds support for parallel particle evaluation, better documentation, multiple fixes, and updated build dependencies.

- NEW: Updated API documentation - #344

- NEW: Relaxed dependencies when installing pyswarms - #345

- NEW: We’re now using Azure Pipelines for our builds! - #327

- NEW: Add notebook for electric circuits - #288 . Thank you @miguelcocruz !

- NEW: Parallel particle evaluation - #312 . Thahnk you once more @danielcorreia96 !

- FIX: Fix optimise methods returning incorrect best_pos - #322 . Thank you @ichbinjakes !

- FIX: Fix SearchBase parameter - #328 . Thank you @Kutim !

- FIX: Fix basic optimization example - #329 . Thank you @IanBoyanZhang !

- FIX: Fix global best velocity equation - #330 . Thank you @craymichael !

- FIX: Update sample code to new API - #296 . Thank you @ndngo !