diff --git a/CHANGELOG.md b/CHANGELOG.md index 8659b59..337189f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] + +## [1.1.1] - 2023-12-22 + ## Added - Add print statement to `BallotGraph` so that when you draw the graph without labels, it prints a dictionary of candidate labels for you. - Add an IRV election class, which is just a wrapper for STV with 1 seat. @@ -15,7 +18,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Add several methods to `PairwiseComparisonGraph`. Added two boolean methods that return True if there is a condorcet winner or if there is a condorcet cycle. Added two get methods that return the winner or the cycles. Cached the results of `dominating_tiers` and `get_condorcet_cycles`. - Added optional to_float method to `first_place_votes` if users want to see them as floats instead of Fractions. --Added a `by_bloc` parameter to `generate_profile`. If True, this returns a tuple, the first entry of which is a dictionary of PreferenceProfiles by bloc. The second entry is the aggregated profile. This is very helpful for analyzing the behavior of a single bloc of voters. Defaults to False for backwards compatibility. +- Added a `by_bloc` parameter to `generate_profile`. If True, this returns a tuple, the first entry of which is a dictionary of PreferenceProfiles by bloc. The second entry is the aggregated profile. This is very helpful for analyzing the behavior of a single bloc of voters. Defaults to False for backwards compatibility. - Created a `Cumulative` ballot generator class. The `Cumulative` class works like PL, but samples with replacement instead of without. The ranking order does not matter here, simply that candidates are listed on the ballot with multiplicity. - Created a `HighestScore` election class. This takes in a profile and a score vector, and returns the candidates with highest scores. There is a lot of flexibility in the score vector, so this class can run things like Borda, cumulative, etc. - Created a `Cumulative` election class which is just a subclass of `HighestScore` with the score vector set to all 1s. Thus anyone appearing on the ballot gets one point for each time they appear. diff --git a/docs/index.md b/docs/index.md index 30f5d77..4182b6b 100644 --- a/docs/index.md +++ b/docs/index.md @@ -9,7 +9,7 @@ VoteKit Documentation **VoteKit** is a Swiss army knife for computational social choice research. -**Version:** 1.1.0 **Date:** November 28, 2023 +**Version:** 2.0.0 **Date** March 1, 2024 **Helpful links:** [Source Repository](https://github.com/mggg/VoteKit) | [Documentation](https://mggg.github.io/VoteKit/) | [Issues](https://github.com/mggg/VoteKit/issues) | [MGGG.org](https://mggg.org/) diff --git a/pyproject.toml b/pyproject.toml index 43f6324..da706ae 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "votekit" -version = "1.1.1" +version = "2.0.0" description = "A Swiss Army Knife for computational social choice research" authors = ["MGGG "] readme = "README.md"