This is a broad overview of the changes that have been made over the lifespan of this library.
- Slightly simplify TrueSkill calculations
- Add full support for rating more than 2 teams with TrueSkill
- Includes match quality, expected outcomes, and the rating function
- Add expected_score_rating_period functions for all rating systems
- Overhaul documentation
- Add Rating, RatingSystem, RatingPeriodSystem, TeamRatingSystem, and MultiTeamRatingSystem traits
- Renamed
match_quality_teams
tomatch_quality_two_teams
for consistency
- Added
expected_score_multi_team
function forweng_lin
- Renamed
expected_score_teams
->expected_score_two_teams
for bothweng_lin
andtrueskill
- Added
weng_lin_multi_team
, andMultiTeamOutcome
struct - Renamed
weng_lin_teams
->weng_lin_two_teams
- Renamed
trueskill_teams
->trueskill_two_teams
- Perform Step 1 of Glicko calculation
- Perform Step 6 of Glicko-Boost calculation
- Return a more descriptive error on
get_first_dwz
function instead of returning None
- Added FIFA rating algorithm (Men)
- Change every function that takes a Vec to now take a Slice
- Add more From implementations for rating structs
- Add optional serde support
- Major restructuring of ratings, configs and outcomes
- Ratings and Configs now reside in the rating algorithms files
- Outcomes now reside in the lib.rs file
- Added USCF rating algorithms
- Added Glicko-Boost algorithm
- Added boolean parameter to results tuple in Sticko rating period function to indicate advantages
- Calculate Sticko rating period function like Glicko and Glicko-2
- Calculating Glicko rating period and Glicko-2 rating period properly now
- Increase performance and readability of some functions
- Added
to_chess_points()
function toOutcomes
enum - Fix slight inaccuracy (<0.01%) in Glicko-2 volatility calculations
- Add EGF rating algorithm
- Add Sticko rating algorithm
- Improve performance of some functions
- Add Apache/MIT dual license
- Add some GitHub templates
- Implement more From traits for Ratings
- Overhaul examples
- Add some benchmarks
- Overhaul documentation
- All functions now use references instead of taking ownership unnecessarily
- Add Weng-Lin (A Bayesian Approximation Method for Online Ranking) calculations
- Return original teams when a team is empty in
trueskill::trueskill_teams
- Add
new
anddefault
implementations forDWZRating
new
implementation forIngoRating
now requires an age to be set
- Fix typos
- Overhauled documentation
- Add team calculations for TrueSkill
- These include
trueskill::trueskill_teams
,trueskill::expected_score_teams
,trueskill::match_quality::teams
- These include
- Fix major bug in TrueSkill draw calculations
- Would just give you your old rating if you had a draw, works properly now
- Improved performance of
rating_period
functions - Improved docs main page
- Add
rating_period
functions, these allow to get a single rating from a list of results.- The following functions have been added:
dwz::dwz_rating_period
,elo::elo_rating_period
,glicko::glicko_rating_period
,glicko2::glicko2_rating_period
,ingo::ingo_rating_period
,trueskill::trueskill_rating_period
.
- The following functions have been added:
- Add config structs:
EloConfig
,GlickoConfig
,Glicko2Config
,TrueSkillConfig
- These allow you to change some values used in the algorithm to further customise the behaviour
- The following functions require a config now:
elo::elo
,glicko::decay_deviation
,glicko2::glicko2
,trueskill::trueskill
,trueskill::match_quality
,trueskill::expected_score
- Fix some spelling issues
- Implement eq for Outcomes
- Refactor some loops
- Replace
.unwrap_or()
usage in DWZ calculations
- Add Ingo calculations
- Add TrueSkill calculations
- Added DWZ calculations
- Fix major bug in glicko-2 volatility calculations
- This would yield a wildly incorrect solution when the players came back from a "losing streak"
- Added Glicko (1) calculations
- Renamed old GlickoRating to Glicko2Rating
- New GlickoRating is for the Glicko System now
- Added confidence_interval function to Glicko2 and Glicko
- Fix some clippy issues
- elo::expected_score now takes in two EloRatings instead of f64
- Added default implementation for GlickoRating and EloRating
- Improved CI
- Improved docs
- Added rating deviation decay function for Glicko-2
- Initial release
- Includes Glicko-2 and Elo functions to calculate scores and expected outcomes