~~NOTOC~~
====== Change Log ======
The latest features added, changes, and bug fixes appear first in the list. **Nightly Build** is the latest version of the code, but it might not have been uploaded to your website yet. This is usually the case, when new features, changes, or bug fixes have been done but not yet fully tested with all configurations. If your version identifier shows a newer version than the version shown in the change log, then your website is running a nightly build. This build might or might not contain all elements listed below under Nightly Build, as verification and testing of such features has not been finished yet. The version of the Nightly Build is the latest build available, which contains all elements listed.
You can verify which version of the code is running on your website by opening the **Credits** page, the version identifier is at the bottom of the page. The Credits page is accessible through the copyright link at the bottom of each page.
===== Nightly Build - Migration to Joomla 3.9 =====
Start of development of the Bethico League Software Suite goes back to 2009, when Joomla 1.5 was launched. It is now time to migrate to a current version, and by doing so, make sure that all security measures and server software versions are being maintained. There should be minimal effects and changes to the user interface, but some changes are inevitable. The migration of the code is done with a minimal amount of new features, changes, or bug fixes, besides the ones to make the site compliant with Joomla 3.9. Once the migration is completed, the development branch of Joomla 1.5 will be frozen, and site code will be replaced with league code for Joomla 3.9. The list of changes below contains all significant changes, both "internal" (not visible to the user of the site), and "external".
=== New features ===
- numerous security vulnerability fixes. The site will be moved to a new server, and HTTPS protocol will be enforced.
- front end login protection with captcha
- back end login protection with two factor authentication linked to user's mobile phone
- improved user experience
- all languages available to the league software can now be selected. This currently includes English, German, French, Korean, and Thai
- new and state of the art forum software
- compliance with EU's General Data Protection Regulation
- new bethico template views for "offline" and "page not found"
=== Changes ===
- upgrade Joomla CMS core version from 1.5.26 to 3.8.12
- upgrade Akeeba Backup Core component version 3.3.4 to 6.2.1
- upgrade ccBoard Forum component version 1.2-RC to Kunena Forum component version 5.1.1
- upgrade Phoca Download component version 1.3.6 to 3.1.4
- upgrade Phoca Gallery component version 2.7.4 to 4.3.10
- upgraded FontAwesome version 4.2 to version 4.7.
- league template name changed from "bco-ipl-m1" to "bethico".
- league component name changed from "com_ipl" to "com_bethico".
- permissions and captain functions are now separated. Changing a team captain does not affect member's permissions.
=== Bug Fixes ===
- Member view in back-end now shows all registered members and their access permissions, not only the ones registered in the current season.
===== Nightly Build - Version 2.1.18.11 (Build: 1511) =====
=== New features ===
- Upload schedule in back end now recognizes 4th column to override division id. This can be used to force a different match format. You may leave entries empty in 4th column to auto assign the division, and add individual division overrides to specific schedule entries (e.g. dates and matches).
=== Changes ===
- "View Ratings" added to Latest Results view
=== Bug Fixes ===
- Fixed an error in Top100 players stats view and related database query
- Wrong active season selection for multi-league setups in administrator back end
- Schedule view for individual leagues did not offer to select date
- Player handicap did display correctly, but with multiple entries for the same player (one for each season he/she played)
- Player division was not copied correctly between seasons for individual leagues
- Latest Results view showed only one arbitrary match per match date (forfeit, bye)
- Latest Results view did not show correct total if won games were awarded with more than 1 game point
- Latest Result view broken after upgrade to Version 2.1.18.8 Build 2714
- Goliath Winner view did not display if Division sort is selected
- Fixed bug in calculating start of season rating for multi-league setups. Regular league setups were not affected by this.
===== Version 2.1.18.8 (Build: 2714) =====
=== New features ===
- site can now handle draws, if the total match win games is an even number. Number of draw points to be awarded can now be entered in the back-end, together with number of match win points.
- site can now be setup with different number of game points per won game per bracket. With this feature, it is for example possible to have a team game at the end of the match, which adds 2 or 3 instead of only 1 game point to the total. Game win points cannot differ within the same bracket, but can differ between brackets.
- site can now handle overlapping seasons. Overlapping occurs if a new season is started before the previous season is finished, which might happen when different leagues merge into one.
=== Changes ===
- improved handling of skip dates in season calendar. Previously the number of skip dates for the season schedule was limited to maximum 3 different dates, now it is unlimited. In multi-league setups, skip dates can be entered valid for all leagues, or for specific leagues.
- improved handling of start of season rating for multi-league setups.
=== Bug Fixes & Improvements ===
- bugs fixed which were introduced with upgrade to the current database engine on 4 July 2018.
- goliath winner statistics.
- top 100 statistics.
- player streaks statistics. This is fixed, but note that loading the page in leagues who run since many years and with many players may take a very long time.
- calculation of marks thrown (for dart leagues).
- wrong calculation of start of season rating for migrated players.
- wrong calculation of start of season rating for all players, if a new season was setup between 4 July and 20 August 2018.
- incorrect ratings displayed in player ratings chart.
- incorrect ratings and season played when merging players.
- incorrect special games and pin statistics.
- incorrect player win ratio statistics.
- top 100 statistics view
- top 100 statistics were faulty when the same player achieved the same rating more than once.
- selection for "female" and "male" was faulty and has been removed. It is considered not to be very relevant, and it compromises page load times.
- top 10, 50, 100, 500, or all players can now be selected within the view. Default is the top 100 players.
- player streaks statistics view
- "Best streak" in player streaks statistics showed the best streak within the season, now shows the best streak ever recorded for the player. If the player's best streak was achieved more than once, then the latest achievement date will be shown.
- option "All Time Best" has been removed.
- top 10, 50, 100, 500, or all players can now be selected within the view. Default is the top 100 players.
- player win ratio statistics view
- column "Opponent Average" taken from each opponent's current rating has been removed, as it is not relevant.
- "Player Average" now shows the player's average rating throughout the season, without influence of the doubles partner's rating taken from doubles games.
- player stats page
- player stats page showed wrong streaks when forfeit games or games without a winner were recorded for a player.
- player stats page when viewed for a previous season showed current streaks, now shows streaks at the end of that season.
- fixed a bug where the best rating achieved before 2010 would mistakenly indicate it was achieved in a tournament game.
- fixed a bug where the best rating achieved before 2010 would not display correctly in the stats page of the player.
- fixed a bug where the player game history would not scroll to the correct date before 2010.
- "restore" in team edit listed some players who were active in the current or pervious season.
- team players who threw marks in team games (dart leagues only) would not show correctly when such players played in more than one season.
- wrong calculation of total match win points for arbitrary matches with byes added with average game win points and match win points.
- incorrect sequence of playoffs in list of playoffs view.
- merging players (administrators only) did not work, unless done in the "Itaewon Pool League" site.
===== Version 2.1.18.7 (Build: 710) =====
=== Changes ===
- "Doubles played" will now be hidden in playoff match views where doubles were not played. This applies to leagues who where no doubles are played, or leagues with playoff matches where the final result was achieved before getting to doubles games.
=== Bug Fixes ===
- fixed an issue where ratings would, under certain conditions, not display correctly in match view for individual leagues or tournaments, if the same player plays more than one time in a match.
- fixed a bug introduced recently where playoff matches would not display.
- fixed a bug introduced recently where the standings view would not display before a schedule for the new season has been uploaded.
- fixed a bug in Joomla 1.5.26 core where UTF characters would not be handled correctly in MySQL server versions higher than 5.
===== Version 2.1.18.6 (Build: 1806) =====
=== New features ===
- new view "Player Handicap". This view is useful for leagues where the rating is something like 5.000 ( from 2 to 10), where the handicap view will show a rounded number based on rating at a given time.
- the player details view now shows the handicap after the rating instead of the game number when the rating was taken, if the view "Player Handicap" with alias "player-handicap" is published in the menu.
- "Start of season rating" added to the Rating record in player details view.
- The "Join the league" text in the About view is not hard-coded anymore. League officials can go to the administrator back-end of the site and create a new article, or modify the existing article, within section "public" and category "about". Title and text of this article will now show as "Join the league" text.
=== Changes ===
- added notes to player standings for individual leagues: cup games, byes, forward date games.
- "singles" or "doubles" selection removed from statistics views for leagues which do not play any doubles games.
=== Bug Fixes ===
- fixed changing captain of a team affected the same player as a captain in other leagues in multi-league setups.
- division selection removed in statistics views for individual leagues (divisions are handled differently for individual leagues).
- choice of years fixed for statistics Top 100 view.
- player names did not expand in Player Schedule for individual leagues.
- after season recalculation, button "Standings" did not display the Standings view for individuals leagues.
===== Version 2.1.18.5 (Build: 2812) =====
=== New features ===
- in leagues where player lineup is determined by order of first bracket, it is now not necessary anymore to enter player names for other brackets. If the first bracket has a player sequence defined in the bracket settings, then any other bracket with a player sequence defined will have the players assigned to games by sequence of the first bracket.
=== Changes ===
- in Player Standings for individuals leagues, games played early for a future date now do not count towards total game stats anymore. Those games are still displayed, but add to the total game stats only from the date the game was scheduled to be played.
- in Player Rankings view, when the current date is past the end of the regular season, the first date to select was "end of regular season", then "current date" if before end of playoffs, or "end of playoffs" if current date is past the end of the playoffs. For current and past seasons, this has been changed to
- display "end of season" if no playoffs or tournaments follow the end of the regular season
- display "end of regular season" and then "today", if the current date is past the end of the regular season, and the end of the regular season is different from the end of the entire season
- display "end of regular season" and then "end of season", if the current date is past the end of the entire season including playoffs and tournaments
- hoover over week numbers in Standings view, or other date related information, to display a date now also works on mobile browsers. If you tap on the week number, the date of week appears, tapping again makes it disappear.
=== Bug Fixes ===
- fixed end of season rating display when viewing seasons other than the current season.
- fixed display of past seasons for individual leagues.
- weeks played included forfeit games. If the player did not actually play a game in a week where he was listed in the match, then the weeks played displayed incorrectly.
- forfeited matches of the the equivalent week of play from a different season would show in view "Latest Results".
- fixed calculation of opponent's ratings in Player Win Ratio view.
- Goliath Winners, Player Win Ratio, Player Streaks, and Player vs Player views fixed for individual leagues.
===== Version 2.1.18.3 (Build: 2809) =====
=== New features ===
- new code for multi-league setups to allow calculation of ratings across leagues, player names, logins and more being shared across leagues
- new shared tables through MySQL Views to allow multi-league setups
- modified logic for player entry and match entry
- added "copy" option for multi-league setups to copy an existing player from another league
- new code for individual player leagues, where players compete against each other without being member of a team
- added new views for individual standings, schedule, player schedule, latest results
=== Changes ===
- division names must now be fully qualified, which increases flexibility in naming. For example, "A" must now be "Division A", can be set in back-end under tab "Divisions".
- tournament view now shows date played at the bottom of the page
=== Bug Fixes ===
- fixed missing date selection in Player Rankings
- new status update code for "Season Recalculation". This new code solves several issues, not displaying the progress percentage correctly on mobile devices or on certain other circumstances, and sometimes the calculation progress got stuck in the middle of the recalculation.
- fixed progress indicator in season recalculation, under certain circumstances, indicating "NaN", or jumping to 100% completion while the calculation was still ongoing
===== Version 2.1.18.1 (Build: 3010) =====
=== New features ===
- pins for 9- and 10-Ball added.
=== Changes ===
- changed seeding logic for tournament entry. Before: each time when the tournament was saved, the player slots were filled with winners and losers of the previous round, over writing any manual changes such as forfeited games. New: manual changes are preserved and not over written anymore. This means you can enter a forfeit, or a player name where there was a different entry from the seeding logic (e.g. a player who forfeited his first game, but showed up for the second game in the losers bracket) during any of the tournament saving cycles, and those entries will be preserved.
- pins for multi-frame games can now be entered for winner and loser of the game.
- points and pins for billiard leagues now in separate slider in back-end, Season Setup.
- points and pins default settings now taken from previous season, if exists.
- bracket settings now include pin selection, to allow multi-game matches. Example: if a league plays 8- and 9-Ball in a match, then the bracket for 8-Ball can offer 8-Ball pins only, while the bracket for 9-Ball offers 9-Ball pins.
=== Bug Fixes ===
- fixed pin file handling, which sometimes caused pins not to display properly in the back-end.
- fixed marks handling for dart leagues.
- fixed an issue when the first run in the season is a doubles run with shared pins, the page crashed.
===== Version 2.1.18.1 (Build: 1106) =====
=== New features ===
- the league software is now branded as "Bethico League"
=== Changes ===
- new code for multi-frame games, including new calculation formula for ratings. In multi-frame games, winning all frames played will award twice the rating gain, where as winning with only one frame difference will award the same rating gain as if only one frame had been played. Frame winning ratios in between will award a rating gain between once and twice of a one-frame gain, factor example: 5:0 --> 2, 5:4 --> 1, 5:2 --> 1.5.
- logic for saving games in playoff matches changed. Before, playoff games would not be saved once the match was won by games. Now, all games with players selected will be saved.
- new selector in the season setup (back-end) to choose between games won and games difference (won / lost). This will show in Standings view.
- sorting default in the season setup (back-end) is now not set. If you need to have "Total points" as sorting criteria, you need to enable the checkbox.
- added copyright notices for contributors to the website.
- leagues can now manage their logos in folder// /images/bethicoleague//. Changed code in front-end and back-end to reflect those logos, and introduced default logo set.
=== Bug Fixes ===
- entering tournaments: under some conditions the site would change the bracket positions of players entered, and would not allow to rearrange it correctly. /* multiple matches were created for the same tournament, fixed in com_ipl/models/match.php/createMatch */
- save in "Edit Match" changed player positions when a game was skipped in temporary match entry, or when a game was entered incomplete, e.g. when entered player names of only one team when "save" was hit.
- schedule upload in back-end fixed for seasons without divisions.
- local time was not set correctly for the league, resulting in date/time sensitive functionality not working, e.g. "Season -> Schedule" would not change to next week's schedule at midnight of the league's play day.
- daylight savings time now handled correctly.
- the "Latest Results" page now includes arbitrary ruled matches.
- some season settings incorrectly saved when the season was modified in the back-end after season start.
===== Beginning of Change Log =====
1. November 2017, Bernard Condrau