All notable changes to this project will be documented in this file. The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Documentation fixes.
- Fixed vulnerabilities and updated dependencies.
- Fixed vulnerabilities and updated dependencies.
- Fixed vulnerability in dev dependencies caused by
handlebars
package.
- Added
Genemo.reproduceBatch
function to make implementation of multithreading easier. - Added an example of implementing multithreading for genetic algorithm.
- Updated dependencies and README.
- Removed unnecessary package
babel-core
from dependencies.
- Fixed vulnerability in dev dependencies caused by
eslint-utils
package.
- Added
getLowestFitnessIndividual
andgetHighestFitnessIndividual
functions toGenemo.run
result.
- Added
Genemo.crossover.edgeRecombination
function. - Added type checking to
elitism
,evaluatePopulation
,generateInitialPopulation
,stopCondition
and all selection functions.
- Fixed incorrect use of crossover and mutation functions in "Example Usage" section of README.
- Replaced
runEvolution
,runEvolutionAsync
andgetGenerationsIterator
withGenemo.run
. - Removed
Genemo.reproduceAsync
function. - Replaced
fitness
option from runner withevaluatePopulation
option. - Added
maxBlockingTime
param to the runner function (Genemo.run
). - Added
Genemo.evaluatePopulation
function. - Added passing
collectLog
function toGenemo.reproduce
as the 3rd argument. - Changed
Genemo.logIterationData
API. - Renamed
debugData
key tologs
initerationCallback
. - Added
collectLogs
param to the runner function (Genemo.run
). - Changed all crossover and mutation functions to higher-order functions (for consistency).
- Remove default value for
minimizeFitness
properties. - Add checking for not allowed props.
- Added
maxBlockingTime
option toGenemo.runEvolutionAsync
. - Fixed
setImmediate
fallback code.
- Added Uniform Crossover -
Genemo.crossover.uniform
. - Fixed
Maximum call stack size exceeded
error when working with big populations (~130k individuals).
- Added
.npmignore
file to reduce package size. - Changed Travis config to deploy when git tag is added.
- Added link to browser example to README.
- Added "How to contribute" section to README.
- Flattened the structure of CHANGELOG file to be more readable.
- Changed keywords in package.json.
- Add support for web browsers by removing
Joi
from dependencies.
- Fixed vulnerabilities in dependencies.
- Fixed description of
Genemo.reproduce
- added missingRng
param tomutate
callback.
- Added
iterationCallback
option toGenemo.runEvolution
andGenemo.runEvolutionAsync
. - Added
Genemo.logIterationData
function.
- Added
Genemo.runEvolutionAsync
function. - Added
Genemo.reproduceAsync
function.
- Added more detailed docs for
Genemo.reproduce
function. - Added license badge in README.
- Fixed duplicated mutation in
Genemo.reproduce
function. - Added more tests.
- Added checking test coverage before pushing commits - required 100% coverage.
- Added running tests with Travis CI.
- Fixed error in
Genemo.crossover.kPoint(k)
function. - Added tests for
Genemo.crossover.kPoint(k)
function.
- Added Rank Selection -
Genemo.selection.rank({ minimizeFitness })
. - Added keywords in
package.json
. - Added
CHANGELOG.md
file. - Example 2 (Traveling Salesman Problem) is now using Rank Selection instead of Tournament Selection.
First public release.