Updated
Fri Sep 14 09:13:49 EDT 2007
for tsh 3.200.
Version | Event | Changes |
3.200 | Development |
|
3.190 | September 2007 Toronto 2007 UK NSC Semi-Finals |
- “
Addscore ”, was complaining too much about scores when “config entry = 'spread' ”. (Reported by Stewart Holden).
- Added “
SPITroast ” command for UK-style rotisserie pools (Evan Simpson, issue 6).
- Added “
STATisticS ” command for generating summary statistics for a tournament.
- “
MISSing ” now accepts an optional second argument, a division name (Stewart Holden, issue 5).
- “
RANDomscores ” ABSP-unrated player score distribution bug fixed (Stewart Holden, issue 43).
- “
KOTH ” and other standard pairings commands honour “config gibson=1 ”(Stewart Holden, issue 33).
- “
config prize_bands ” defaults to one quarter of division size, not one.
- Added “
luckySTIFF ” command as opposite for TUFFluck (Stewart Holden).
- Added “
SPITroast ” command for UK-style rotisserie pools (Evan Simpson, issue 6).
- ‘tsh.css’ is now copied to the event directory when “
config html_in_event_directory = 1 ” is in effect. (Stewart Holden, issue 62).
- Corrected “
AUPAIR ” to handle byes correctly (Barry Harridge, issue 63).
- Massive code changes made to support simultaneous (multithreaded) operation of the web server and command-line interface.
- Regression testing implemented, see ‘util/regression.pl’.
- “
config alpha_pair_page_break = 10 ” is now the default value in the NSA realm (and 10000 in the ABSP realm), and is used to determine whether or not to switch to two-column printing when no photos are used. (Stewart Holden, issue 65)
- “
TUFFluck ” is now a built-in command, not an external one, the order of its arguments is reversed, and it generates HTML files (Stewart Holden).
|
3.180 | 2007 Players Championship |
- HTML reports are now generated only in the directory (folder) designated by “
config html_directory ”, and no longer in the event directory. This is because reports which included player photos were not able to refer correctly to the location of those photos. If you find this confusing, use “config html_in_event_directory = 1 ”. (Reported by Jennifer Miller).
- Added “
Browse ” command.
- “
config bye_spread ” defaults to 50, but can be set to 75 for ABSP use (for Stewart Holden).
- “
config realm = 'absp' ” sets various configuration variables to ABSP defaults, also chooses alternate default ‘tsh.css’ file which shows starts/replies but suppresses boards.
- Added “
DOCumentation ” command.
- Rewrote “
HighLoss ” command, now generates HTML, does not have hyphen in its name.
- Rewrote “
HighWin ” command, now generates HTML, does not have hyphen in its name.
- Rewrote “
LowLoss ” command, now generates HTML, does not have hyphen in its name.
- Rewrote “
LowWin ” command, now generates HTML, does not have hyphen in its name.
- Added “
AVErages ” command for Stewart Holden.
- “
RoundRobin ” command takes an initial optional integer argument specifying how many times each player should play his/her opponent consecutively (Stewart Holden).
- Added “
BrowseLast ” command.
- Long standing problem with reserved tables finally fixed (Stewart Holden).
- “
ResultsByRound ” command now also lists number of losses, in case of players missing games completely.
- Most report-generating commands have been rewritten for code clarity.
- “
RoundRATings ” and “RATings ” rewritten for easier maintenance. Next player is shown where available even when ABSP ratings are in effect, but the player name is no longer ever shown (just the ID), to make room for a new column (overridden by “config no_show_last ”) showing details of the last game, for the sake of player verification.
- “
showWallChart ” was displaying one too many rounds; it no longer does so (Stewart Holden, issue 34).
- “
config board_stability ” is ignored at the beginning of a session. (issue 35)
- “
InitFontes ” interacts correctly with “config reserved ”. (issue 36).
- “
config show_divname ” forces division names to be displayed, even when there is only one division.
- “
Addscore ” command warns if an entered score is less than 100.
- “
ChewPair ” was overestimating the number of players in contention (issue 37).
|
3.170 | Toronto LCT |
- “
config flight_cap ” will let you override the default top-flight cap of 4 * number-of-rounds-remaining in Chew Pairings.
- Added “
ShowDivisionScoreCards ” command for Stewart Holden.
- “
config pair_page_break = 15 ” will force a page break after every 15 players in regular pairings.
- Added “
CheckRoundScores ” command for Ben Greenwood.
- Added “
update-pix ” command for Kath Mullholand.
- Added “
config player_photos = 1 ” option for Kath Mullholand.
- Changed “
config entry = 'absp' ” option to “config entry = 'spread' ”for Stewart Holden.
- “
config table_method = 'consecutive' ” will assign one board per table, tables numbered beginning at 1 in the alphabetically first division, then continuing consecutively in each subsequent division (Stewart Holden).
- “
classes A 3 ” in the configuration file will declare 3 subdivisions of equal size in Division A, for use in awarding class prizes (Stewart Holden).
- Configuration errors pause to let you see them, even on old Windows systems (Mauro Pratesi).
- Added “
TRUNCATEROUNDS ” command for Stewart Holden.
- Corrected “
DELETEscore ” command to work in a spread-entry environment for Stewart Holden.
- Added “
TOTalScore ” command for Stewart Holden.
|
3.160 | Dallas Open |
- tsh should complain once and revert to black-and-white rather than crash if something is seriously wrong with its colour environment
- tourney.pl -C works again
- TSH/Command modules can be anywhere in @::INC
- Major internal rewrite to support ongoing web interface development. Please be sure to do a dry run if you are using this release at a tournament.
- Default pairings will begin with one or more round robins if the number of rounds remaining to pair is greater than the number of players in a division.
- “
config force_koth ” will force a round of unrestricted KOTH at the end of default pairings.
- “
config alpha_pair_page_break = 15 ” will force a page break after every 15 players.
- The “
InitFontes ” command will avoid assigning byes to top-rated players, will assign better-quality pairings in odd divisions, and will if you really want to let you use it in a division with only three players. Its board number assignment algorithm has also been substantially improved.
- Added “
etc lifeg ” extension field.
- “
RATings ” command automatically accounts for split ratings
- “
config split1 ” is now deprecated.
|
3.150 | Toronto Open |
- Removed spurious error message from “
ShowPairings ”, introduced in 3.140 when player photos are not found.
- Fixed “
SUBMIT ” command to actually work in non-debug mode.
- Cross-platform support for “
config backup_directory ”.
- Fixed “
showWallChart ” command so that it doesn't display cryptic messages when used with track_firsts turned off (Vince Castellano).
- Added “
ShowManyPairings ” command (Vince Castellano).
- Cleaned up generation of HTML files and indices.
- Cleaned up generation of CSCs.
- Added “
config allow_gaps = 1 ” to permit leaving unassigned gaps in a CSC. This necessitated a small change in the .t file format and major changes through tsh. As a side benefit, the “InitFontes ” command will work around partly paired initial rounds, as long as the number of partly-paired players needing opponents is even in each round.
- Fixed “
Addscore ” command, now checks correctly for things that don't look like scores.
- Rewrote contender detection code in“
ChewPair ” yet again. The new version takes into account all available game data, including that from partly scored rounds.
- Added experimental “
PRiZes ” command, which lists all prizes to be awarded.
- “
ShowPairings ” command lists all byes ahead of unpaired players.
- Added “
config board_stability ”, which tries to keep one player from each game at the same board.
|
3.140 | 2006 MWMST |
- “
config port = 7777 ” enables a multiuser version with graphical user interface in the very early stages of development.
- The “
part-of-name1,part-of-name2 ” syntax introduced in 3.110 works within “Addscore ”
- Added hooks to “
ShowPairings ” to support display of player photos when available
- Use Term::ReadLine where available, so that you can scroll back instead of retyping commands.
- Fixed a semi-obscure bug in “
ChewPair ” that could affect top pairings at the end of a tournament: the primary criterion for choosing opponents is now whether or not they can catch up to the current leader.
- Added “
SUBMIT ” command to submit ratings data (currently only for NSA ratings, others added on request)
|
3.130 | 2006 BMSC |
- “
RoundRobin ” command balances starts and replies for groups sized 2-26
- Corrected bug that might have sometimes led to incorrect assignment of starts and replies
|
3.120 | 2006 USSO |
- “
FactorPair ” command no longer does opponent availability optimisation.
- “
ResultsByRound ” command now also lists contestant ranks prior to start of selected range, to facilitate computing USSO "Best Record Day n by Player In Bottom Half" prizes.
- “
TUFFluck ” external command works with case-sensitive filesystems.
|
3.110 | Saxon 2006 |
- “
config rating_system = 'nsa lct' ” enables LCT ratings multipliers (for Wes Eddings)
- “
LOOK ” command works within “Addscore ”
- “
config entry = 'absp' ” sets data entry to winner-loser-spread mode, generally suppresses display of raw game scores in favour of spread.
- “
update-dict ” external command fetches dictionary files, which are too big to be included in the regular distribution.
|
3.100 | July 2006 Toronto |
- config autopair is slightly less finicky about format (Peter Keller).
- “
LOOK ” command now uses SOWPODS2003 and TWL2006 lexica.
- Spurious error messages generated when pairing odd divisions for multiple rounds (InitFontes, RoundRobin) are gone.
- An error message is displayed if no divisions are defined in the configuration file.
- tsh is much more tolerant of non-native line breaks in its configuration and data files.
- Using a configuration file marks it as modified, so that tsh will choose it the next time it is run.
- If you can't remember a player's number, you can enter it as “
part-of-name1,part-of-name2 ”. For example, if “Chew, John ” is the only person whose family name contains “CHE “, he can be referred to as “che, ”.
- When division sizes were close to the number of rounds being played, it is easy for bottom-ranked players to clinch positions near the bottom and be relegated to playing each other for several rounds. Chew pairings now check for this condition and do not allow two players who have already played each other to be separated from a flight of contenders.
|
3.090 | 2006 Toronto LCT |
- A tournament can use default pairings for some divisions and automatic pairings for others.
|
3.080 | BAT 2006 |
- “
config initial_schedule ” specifies number of rounds of InitFontes pairings to use at start of default pairings
- If “
config html_directory ” does not exist and cannot be created, an error message says so.
- “
ShowPairings ” command shows table numbers in alpha mode, correctly handles byes in alpha mode.
- Added “
util/multiroto ” to report on rotisserie pools that span more than one tournament.
- Fixed a semi-obscure bug in “
ChewPair ”. When using pairings based on the second preceding round, the number of rounds used to compute the contender cap had been too large by one.
|
3.070 | NSSC 2006 |
- “
RANDomscores ” command now generates who goes first randomly to improve verisimilitude of reports on simulated runs
|
3.060 | Toronto vs. Mississauga 2006 |
- Added “
exagony ” configuration option.
- Added “
TeamStandings ” command
- “
RATings ” command correctly accounts for scoreless byes
- “
STandings ” command correctly accounts for scoreless byes
|
3.050 | Dallas Open 2006 |
- If you are using xterm terminal emulation and have specified the “
event_name ” configuration option, tsh will identify itself in your window title bar.
- “
ShowscoreCard ” formats correctly even when first and seconds are not assigned.
- Under some circumstances, the downloaded executable files would not be executable for OS/X users. I think I've fixed the problem, and documented how to fix it locally if it recurs.
- At Kath Mullholand's request, the “
high-win ” external command (and the other three similar ones) now display a header that identifies the division.
- Quality of pairings is slightly improved by disabling a speed optimization that tries to pair first those players with a smaller number of candidate opponents, when the number of players to be paired in a group is no more than twelve.
- At Mary Rhoades' request, the “
ShowPairings ” command now also generates alphabetical pairings listings in addition to the old rank-based listings.
- The “
Addscore ” no longer accepts scores outside the range [-150,1500].
- Added “
UPSETs ” command to list top ratings upset games.
- The
munge-scores.pl utility, used by several external and utility commands, now reports player numbers, so those external commands will report them too.
|
3.040 | Oshawa 2006 |
- Colour prompts for Windows users disabled by default, still optionally selectable. Windows colour is apparently broken in the most recent ActivePerl distribution.
- If an html_directory needs to be created, lib/tsh.css is copied into it.
- Fixed an obscure bug in “
ChewPair ” that made it occasionally crash.
- Utility command “
util/truncate_t ” is tolerant of blank lines.
- Added top-level script “
get-tsh.pl ”, built using “update ” external command, to act as a standalone download tool for tsh. That is, you can if you want to download just this one script, run it and it will fetch everything else for you. Useful if you have a mostly complete installation but have somehow managed to wreck either your “tsh.pl” or part of the software update mechanism.
- The “
update ” external command was saying that some files had been updated even when no files had been updated. That bug is fixed.
|
3.030 | WSC 2005 |
- Support for scoreless byes.
- Fixed a bug that caused starts/replies to be instable.
- Fixed “
ChewPair ” command and pairing system: Gibson spread threshold now based on some historical data, leaders paired against lower-ranked contenders.
- “
Addscore ” won't let you switch to a division whose results have all been entered.
- “
AUPAIR ” command supports byes.
- Added “
player_number_format ” configuration option.
- Added “
show_teams ” configuration option.
- “
RATings ” command shows next opponent if paired. (Suggested by David Acton.)
- 0-point bye counts as a loss, not a tie.
- Fixed a bug where pairings display would stop if a table was unoccupied.
- Fixed a bug in bin/munge-scores that led to games with byes appearing in high/low win/loss lists.
- “
MISSing ” command lists players in current standing order.
- Tweaked code for reserved table assignments, think there might still be a problem.
- For a few versions, you had to specify the max_rounds configuration option to make pairings commands work. This should no longer be necessary, though it is still recommended.
|
3.020 | Kingston 2005 ("Now... with tint control!") |
- All remaining commands converted to using newer parsing code.
- “
LOOK ” command checks for dictionary at runtime.
- “
UnPairRound ” command does not affect inactive players, minor bugs fixed.
- “
EditScores ” command deletes future byes when a player is (re)activated.
- “
RANDomscores ” command sets spread to 50 points for scheduled byes.
- Fixed a bug where if you asked for pairings too far in advance, inactive player records would still have byes added.
- Colour prompts for Windows users too.
- “
MISSing ” command ignores inactive players, displays board numbers when known.
- “
ShowscoreCard ” shows board numbers.
- “
UPDATE ” command will delete read-only files (like src/TSH/blib/lib/TSH/Pair.pm) to make way for their replacements.
- “
Addscore ” prevents entry of Rd. N+1 results when Rd. N is incomplete even when switching divisions.
- Several commands explicitly report when pairings have failed.
- Added “
RandomPair ” command.
- Added “
etc team ” extension field.
- Added “
config initial_exagony ” configuration parameter.
|
3.010 | Kingston 2005 |
- Added “
ON ” and “OFF ” subcommands to“EditScore ” to permit enabling and disabling a player.
- “
ShowscoreCard ” detects truncated .t files.
- “
ShowscoreCard ” reports nonstandard spreads for inactive players.
- Removed a bug that caused multiple byes to be appended each round to inactive players.
- Removed two bugs introduced in 3.000 that caused odd divisions to severely misbehave.
- Removed bug introduced in 3.000 that caused round robins to fail sometimes.
UnPairRound command will delete scored byes if they are the only scores in round.
RANDomscores command deals more appropriately with partially scored rounds, completing them rather than adding one score to each player regardless of number of scores recorded.
- Deprecated
PartialSWiss command finally deleted.
- First sample folder cleaned up.
RoundRobin command works with inactive players.
- In many places, the division name is now not displayed if the tournament has only one division.
PAIR PairMany commands allows either player number to be zero for a bye.
PAIR , PairMany commands unpairs opponents of repaired players, assigning 50-point byes if necessary.
KOTH , Pair1324 commands works with inactive players, uses consecutive repeat avoidance, matching starts and replies, minimizing repeats as secondary criteria.
- “
FactorPair ” command released.
|
3.000 | MWMST 2005 |
- Finished implementing “
ChewPair ” command and pairing system, which is now the default if pairings are asked for and no other system was specified.
- Added “
HUH ” command for explaining error messages.
- Rewrote “
HELP ” command to give detailed help about individual commands.
- Added “
AUPAIR ” command for exporting to that ratings file format.
- Many commands rewritten to conform to new internal code standards to support faster software updates and smaller runtime memory usage.
- Fixed a bug in “
ShowPairings ” which had caused it to omit boards where more than two players had erroneously been scheduled to play.
- Added “
DEBUG ” command for selectively toggling debugging on and off.
- “
SWiss ” command is now just an alias for “NewSwiss ”.
- Added “
config external_path ” to allow user plug-in directories.
|
2.980 | NSC 2005 |
- “
ResultsByRound ” command creates printable HTML files.
- Added very experimental versions of “
FactorPair1 ” and “FactorPair ” commands.
- Added “
config prize_bands ” to expand support for Chew pairings.
- Added “
config save_interval ” to auto-save when entering a large number of scores.
- Added “
config rating_system ” to allow computation of ABSP tournament ratings in “rat ” command.
- Added “
maketm ” external command to generate TourneyMan data files.
- Added “
high-loss-round ” external command to list high losses in each round.
- Added “
high-win-round ” external command to list high wins in each round.
- Added “
util/parsetm ” utility to import TourneyMan data files.
- “
roto ” allows any number of players per team.
- “
showWallChart ” syntax does not require “-f” before round number anymore.
- External command “
show12 ” shows counts of firsts and seconds for each player.
- The board at which each game was played is recorded (in “etc board”) and will not change once assigned.
|
2.975 | ABSP compatibility |
- Added “
ABSPgrid ” command.
- Added “
config colour ”.
- Made external commands work with Windows XP.
- Reorganized search algorithm for configuration files. It’s now (1) files or directories specified on the command line, (2) the most recently changed among */config.tsh and */tsh.config, or (3) tsh.config. The intent is that users should have one tsh directory with a subdirectory for each event.
- Added “
update ” external command, which downloads updates to the distribution.
|
2.960 | Albany NY |
- Added “
tuffluck ” external command.
- Partly functional version of “
ChewPair ” command added.
- ScoreCard command generates HTML version that can be printed as replacement for lost scorecard.
- WallChart command generates HTML version.
- Round-by-round HTML files are automatically indexed.
- New RATING subcommand in EditScores.
- Contextual help in EditScores.
- EditScores can be used before any results are entered.
- Initial .t files may omit trailing semicolon.
|
2.950 | Toronto LCT |
- Addscore prevents entry of Rd. N+1 results when Rd. N is incomplete.
- New external command “
show12 ” displays table of firsts/seconds.
- First/second forecasts/assignments are now more accurate.
|
2.940 | Stamford CT |
- Optional specification of configuration file on command line.
- NewSwiss tries to minimize repeat pairings.
|
2.930 | CNSC 2005 |
- Addscore reports how many scores remain unentered.
- Two-part tournaments are correctly split-rated.
|
2.920 | Thunder Bay ON 2005 |
- Added some more three-word names to tourney.pl.
|
2.910 | BAT 2005 |
- Added config gibson.
- Added config max_rounds.
- The timestamp of the most recent score entered for each player is now recorded.
- Added ROTO command.
- Code for reserved table assignments is working again.
- Forecasts of firsts and seconds are purged before new forecasts are generated, which addresses a potential problem with corrupt stale data when players have systematically misreported firsts and seconds.
- Added config no_text_files.
- Added config html_directory.
- Autopair supports PAIR1324.
- Fixed a bug that prevented calculation of the ratings of unrated players.
|
2.900 | BAT 2005 |
|
2.850 | NSSC 2005 |
- Fixed a bug introduced to RoundStanding in 2.800 (?).
|
2.840 | NSSC 2005 |
- Fixed a bug introduced in 2.800 (?) where missing pairs were displayed twice.
|
2.830 | NSSC 2005 |
- Generated HTML is somewhat more legible and conformant.
|
2.820 | NSSC 2005 |
- Corrected determination of firsts and seconds.
|
2.810 | NSSC 2005 |
- Added external command (plug-in) interface
- Partial support for active/inactive players
- 'off' extension field in '.t' files
MISSING and ShowPairings show "draws" if players must draw
- config name_format = "%-22s"
- config max_name_length = 22
- config assign_firsts = 0
showWallChart and showScoreCard adjust column with to widest team name.
|
2.800 | NSSC 2005 |
EditScore now displays the current scorecard before each prompt, rather than after changes.
- You can now enter the word
first or second at the EditScore prompt to specify that the player went first or second.
MISSING and ShowPairings display firsts and seconds if known.
config track_firsts = 1 enables tracking of who went first or second in each game. tsh will use NSA rules for determining firsts and seconds, and complain if scores are not entered in order of play if known.
- Auto-pairing used to be available only when a division was completely unpaired. Now, you can still auto-pair even after entering a few manual pairings.
- You can now write
config variable = value instead of perl $config'variable = value in tsh.config.
- Byes are automatically chosen and assigned by the
NS , KOTH and Pair1324 commands.
- The
BYE command is now deprecated. It is no longer documented, and will be deactivated soon. Use the PAIR and Addscore commands instead.
- The
ShowPairings command used to always list everyone and their opponent (if any). Now, if no players are paired, it says so rather than listing everyone as unpaired.
- The
PAIR command used to always echo back the names and standings of the players you just (manually) paired. Now it only does so if you changed an existing pairing.
- The
SWiss , PartialSWiss , PRESWiss and PrePreSWiss commands are now deprecated. They are no longer documented, and will be deactivated completely soon. Use NewSwiss instead.
- You can now enter 'es' when in
Addscore mode, to go into EditScore on the most recently entered (and presumably mistaken) score.
EditScore command sometimes didn’t correctly record changes when editing multiple divisions, does so now.
UnPairRound command used to sometimes give incorrect error messages, but no longer does so.
Pair1324 documentation used to say that below 4th place, pairings were KOTH. This is untrue (they continue 5-7, 6-8, etc.) and the documentation has been corrected.
- All command parsers rewritten to give consistent response and more specific descriptions of syntax errors.
RoundStandings used to misreport results in the current round, if not all scores had been entered, now reports correctly.
- Division name may now be specified in command lines, even when event only has one division.
- Distribution now in ZIP format.
- Documentation rewritten.
- Randomization of player orderings is now much less random, so first-round table assignments stay stable unless roster is changed.
- Some spurious warning messages deleted.
- Support added for new generalized .t files.
ShowPairings now generates HTML.
- Trailing commas in player names are suppressed.
|
2.740 | Newsday SSC | |
2.730 | Newsday SSC | ShowPairings catches and shows more pairing errors.
|
2.720 | Newsday SSC | |
2.710 | Newsday SSC | - Player names may include nonterminal numerals.
|
2.700 | Newsday SSC | - HTML output from standings command.
|
2.600 | Oshawa 2005 | RoundRobin command added.RATings command added.
|
2.500 | MWMST 2004 | - Trying to autopair a round twice doesn’t crash tsh.pl.
|
2.400 | Albany 2004 | - Fixed
wc -f # . - Autopair works at start of tournament.
MISSING lists divisions in alphabetical order.- 'm' synonym for 'missing' in score entry mode.
|
2.300 | BAT 2004 | - Autopair added.
EditScore emits updated scorecard.
|
2.210 | Montreal QC 2004-03 LCT | - Suppressed a spurious error message.
|
2.200 | Cambridge ON 2004 | - "Cambridge pairings" added.
|
2.100 | CNSC 2003 | Addscore gives updated cumes as a check.
|
2.000 | MWMST 2003 | MISSING lists missing data in score entry mode.- Teed log files have '.doc' extension, no embedded spaces.
|
1.900 | CWSCQT 2003 | - Added
ShowPairings -p as kludge to work with make-rr.pl.
|
1.800 | Albany 2003 | ScoreCard shows opp ratings.UnPairRound reports on problem players.- Table numbers can be arbitrary strings .
- Entering a division name changes divisions in score entry mode.
ShowWallChart -f r lists beginning with round r only.
|
1.700 | Boston 2003 | EditScore added.NewSwiss code added, first manually paired player can be 0 for an unscored bye pairing.
|
1.600 | Boston 2001 | InitFontes works for any number of players, not just 4n and 4n+2.
|
1.500 | Toronto 2001 | |
1.400 | Boston 2001 | |
1.300 | Danbury 2001 | |
1.200 | 2000 CNSC | |
1.103 | 1999 MWMST | |
1.000 | None | |