- Upgrade Flask from 3.0.3 to 3.1.0
- Upgrade Plotly.js v2 from 2.35.2 to 2.35.3
- Upgrade Ployly.js v3 from 3.0.0-rc.1 to 3.0.0-rc.2
- Upgrade nanoid from 3.3.7 to 3.3.8 to fix a security vulnerability for a package required to compile, minify and copy generated CSS files
- Replace the
use_latest_plotly
application configuration setting withuse_plotly_v3
to set the version of Plotly.js to use in the application. The default value isfalse
. - Remove the
stable
andlatest
labels from Plotly.js versions. See "Component Changes" for more information. - Change the color scale for both "Monthly Aggregate Score" and "Monthly Average Score" heatmaps to provide more contrast across the range.
- Use different color scales for "Monthly Aggregate Score" and "Monthly Average Score" heatmaps due to the former having an order of magnitude large scale.
- Standardize on colors from the IBM Design Language for chart colorways.
- Add missing page titles on various pages.
- Standardize use of
page_title
variable across all Panelists and Shows pages.
- Upgrade Plotly.js versions and introduce Plotly.js 3.0.0-rc.1
- Plotly.js v2.x has been upgraded from 2.28.0 (formerly labeled
stable
) and 2.35.0 (formerly labeledlatest
) to 2.35.2- Both
plotly-latest.min.js
andplotly-stable.min.js
symlinks will point toplotly.min.js
, which in turn points to 2.35.2
- Both
- Setting
use_plotly_v3
totrue
will use 3.0.0-rc.1 - Previous versions of the Plotly.js files remain under
app/static/js
for the time being and will be removed in a future release
- Plotly.js v2.x has been upgraded from 2.28.0 (formerly labeled
- Update
wwdtm-theme
to set font weight for header and footer navigation links to500
- Tweak responsive font sizing for
root
inwwdtm-theme
with a range of 14.5px and 16.75px
- Re-add responsive font sizing for
:root
inwwdtm-theme
with a range of 14px and 16.5px
- Remove responsive font sizing for
:root
inwwdtm-theme
.
- Upgrade wwdtm from 2.12.1.post0 to 2.14.0
- Upgrade ruff from 0.6.9 to 0.7.4
- Upgrade black from 24.8.0 to 24.10.0
- Replace all references of
named_tuple=
in database cursors todictionary=
due to cursors usingNamedTuple
being marked for deprecation in future versions of MySQL Connector/Python - Update code that is impacted by the database cursor type change from
NamedTuple
todict
- Upgrade wwdtm from 2.11.0 to 2.12.1.post0
- Add initial pytest coverage reporting using
pytest-cov
, which can be generated by running:pytest --cov=app tests/
- Correct naming of testing function for
robots.txt
route
- Add missing Umami Analytics config logic update
- Add missing Umami Analytics template file
- This non-release does not include any application changes. The version number presented by the application will still be 3.0.0.
- Removal of the
serve
NPM package as it is not used and one of its dependencies requires a package that has a high severity vulnerability.
- Frontend code refactor due to switching from Materialize to Bootstrap
- Replacing Materialize frontend toolkit with Bootstrap
- Replacing Materialize Icons with Bootstrap Icons
- Refactor the frontend structure to use Bootstrap frontend components and conventions
- Include the required IBM Plex web fonts with the application to remove use of Google Fonts
- User interface changes
- Change the behavior of the main navigation to combine navigation links into a single list that are listed in the top navbar on
xl
screen size or in an off-canvas side nav on smaller screens - Improve legibility and readability in font size changes and increased color contrast when using the dark mode color theme
- Include a color theme toggle in the main navigation to allow the reader to switch the theme on-the-fly
- Note: When switching color themes on a page that contains a chart, you will need to reload the page in order to render the chart in a matching color theme.
- Change the behavior of the main navigation to combine navigation links into a single list that are listed in the top navbar on
- Fix warnings and errors reported by pylint
- Add an experimental
block_ai_scrapers
config key that will block known AI scraping and crawling bots (default: false) - Cleanup configuration processing code
- Upgrade gunicorn from 22.0.0 to 23.0.0
- Replace Materialize CSS 1.2.2 with Bootstrap 5.3.3
- Existing Materialize CSS and JS files will be preserved to prevent cached versions of the application from breaking
- Materialize-related files will be removed in a future minor release
- Upgrade Plotly.js from 2.25.2 to 2.28.0 (stable) and from 2.28.0 to 2.35.0 (latest)
- Move web analytics tags out of
base.html
intohead.html
- Add support for Umami web analytics via
settings.umami_analytics
config object with the following keys:
Config Key | Description |
---|---|
_enabled |
Set value to true to enable adding Umami script tag (default: false ) |
url |
URL of the Umami analytics script |
data_website_id |
Umami Site ID |
data_auto_track |
Set value to false to disable auto event tracking (default: true ) |
data_host_url |
Override the location where Umami data is sent to |
data_domains |
Comma-delimited list of domains where the Umami script should be active |
- Change the database queries and application logic for several modules to remove the need to unset the MySQL session variable
ONLY_FULL_GROUP_BY
- Add experimental support for MariaDB 11.4.2
- Upgrade ruff from 0.3.6 to 0.5.1
- Upgrade black from 24.3.0 to 24.4.2
- Upgrade pytest from 8.1.1 to 8.1.2
- Change the footer font color to remove alpha transparency to improve readability
- Upgrade wwdtm from 2.8.2 to 2.10.0, which requires Wait Wait Stats Database version 4.7 or higher
- Upgrade wwdtm from 2.8.0 to 2.8.2
- Upgrade flask from 3.0.0 to 3.0.3
- Upgrade gunicorn from 21.2.0 to 22.0.0
- Upgrade ruff from 0.1.13 to 0.3.6
- Upgrade pytest from 7.4.4 to 8.1.1
- Upgrade black from 23.12.1 to 24.3.0
- Add support for GitHub sponsorship link in the side pop-out nav, dropdown nav menu and in the footer by way of the
settings.github_sponsor_url
config key - Change link color to match that of the Wait Wait Stats Page link color
- Change the how render and version information is rendered on screens with a width less than 1200px to align left rather than right
- General code cleanup and fixing typos
- Add support for Patreon link in the side pop-out nav, dropdown nav menu and in the footer by way of the
settings.patreon_url
config key - Upgrade Plotly.js latest version from 2.26.0 to 2.28.0
- Calculate the appropriate value for the max y-axis range for the Bluff the Listeners Counts chart
- Upgrade wwdtm from 2.6.1 to 2.8.0
- Switch to Ruff for code linting and formatting (with the help of Black)
- Upgrade black from 23.11.0 to 23.12.1
- Upgrade wwdtm from 2.6.0 to 2.6.1
- Upgrade wwdtm from 2.5.0 to 2.6.0, which requires Wait Wait Stats Database version 4.4 or higher
- Remove unneeded slash in an empty tag for the Materialize CSS include
Starting with version 2.6.0, support for all versions of Python prior to 3.10 have been deprecated.
- Replace
dateutil.parser.parse
withdatetime.datetime.strptime
- Upgrade wwdtm from 2.4.1 to 2.5.0, which drops supports for Python versions prior to 3.10 and includes:
- Upgrade MySQL Connector/Python from 8.0.33 to 8.2.0
- Upgrade numpy from 1.24.4 to 1.26.0
- Upgrade black from 23.10.1 to 23.11.0
- Remove
py38
andpy39
fromtool.black
inpyproject.toml
- Bump minimum pytest version from 7.0 to 7.4 in
pyproject.toml
- Upgrade Flask from 2.3.2 to 3.0.0
- Upgrade gunicorn from 20.1.0 to 21.2.0
- Upgrade pycodestyle from 2.11.0 to 2.11.1
- Upgrade pytest from 7.4.0 to 7.4.3
- Upgrade black from 23.7.0 to 23.10.1
- Upgrade wwdtm from 2.2.0 to 2.4.0
- Fix a bug with Panelists: Scores by Appearance route where panelists who have appearances on the show, but do not have corresponding scores, causes an error.
- Add support for displaying panelist decimal scores stored in a new table column in the Wait Wait Stats Database instead of the standard integer scores. This is handled via version 2.2.0 of the
wwdtm
library and a newuse_decimal_scores
setting in theconfig.json
application configuration file. By default, the value will be set tofalse
and must be changed totrue
, and the appropriate changes have been deployed to the Wait Wait Stats Database. - Increase digits after the decimal point in the "Monthly Average Score Heatmap" from 4 to 5 for consistency
- Removed Aggregate Count plot from the "Panelist: Score Breakdown" chart
- Add a new
use_latest_plotly
setting in theconfig.json
application configuration file to set whether or not to use the stable version symlinked asplotly-stable.min.js
or the latest version symlinked asplotly-latest.min.js
. For backward compatibility,plotly.min.js
is a symlink that points toplotly-stable.min.js
- Upgrade wwdtm from 2.1.0 to 2.2.0, which also includes the following changes:
- Upgrade NumPy from 1.24.2 to 1.24.3
- Upgrade Plotly.js from 2.23.1 to 2.25.2 (stable) and 2.26.0 (latest)
- Upgrade black from 23.3.0 to 23.7.0
- Upgrade flake8 from 6.0.0 to 6.1.0
- Upgrade pycodestyle from 2.10.0 to 2.11.0
- Upgrade pytest from 7.3.1 to 7.4.0
- Upgrade Plotly.js from 2.20.0 to 2.23.1
- Upgrade Flask from 2.2.3 to 2.3.2
- Upgrade wwdtm from 2.0.8 to 2.1.0, which also includes the following changes:
- Upgrade MySQL Connector/Python from 8.0.31 to 8.0.33
- Upgrade NumPy from 1.23.4 to 1.24.2
- Upgrade python-slugify from 6.1.2 to 8.0.1
- Upgrade pytz from 2022.6 to 2023.3
- Move pytest configuration from
pytest.ini
intopyproject.toml
- Upgrade flake8 from 5.0.4 to 6.0.0
- Upgrade pycodestyle from 2.9.1 to 2.10.0
- Upgrade pytest from 7.2.0 to 7.3.1
- Upgrade black from 22.10.0 to 23.3.0
- Upgrade Materialize from 1.2.1 to 1.2.2
- Upgrade Plotly.js from 2.18.1 to 2.20.0
- Upgrade Flask from 2.2.2 to 2.2.3
- Upgrade Werkzeug from 2.2.2 to 2.2.3 to fix a security vulnerability
- Upgrade Plotly.js from 2.17.0 to 2.18.1
- Fix issue with
stats_url
not being added toapp.jinja_env.globals
upon application startup
- Upgrade Materialize from 1.1.0 to 1.2.1
- Restructuring template folder locations to match the structure used by the Wait Wait Stats Page and Wait Wait Reports
- Updating copyright year for all code files and add copyright block to
static/css/style.css
andstatic/js/init.js
- Upgrade Plotly.js from 2.13.3 to 2.17.0
- Use
dict.get(key, default_value)
inapp/__init__.py
to get/set configuration values in order to avoid application startup errors if configuration keys are not set- Default value for
time_zone
isUTC
- Default values for any URL is an empty string
- Default value for
- Adding
mastodon_url
andmastodon_user
configuration keys in thesettings
section of the config file - If the
mastodon_url
andmastodon_user
keys contain a value, insert a link withrel="me"
attribute for profile link validation, in the page footer
- Upgrade wwdtm from 2.0.7 to 2.0.8, which also includes the following changes:
- Upgrade MySQL Connector/Python from 8.0.30 to 8.0.31
- Upgrade NumPy from 1.23.2 to 1.23.4
- Upgrade python-slugify from 5.0.2 to 6.1.2
- Upgrade pytz from 2022.2.1 to 2022.6
- Upgrade Flask from 2.2.0 to 2.2.2
- Upgrade Werkzeug from 2.2.1 to 2.2.2
- Upgrade flake8 from 4.0.1 to 5.0.4
- Upgrade pycodestyle from 2.8.0 to 2.9.1
- Upgrade pytest from 7.1.2 to 7.2.0
- Upgrade black from 22.6.0 to 22.10.0
- Fix an issue where the
time_zone
configuration value was being assigned tosettings_config
twice, instead of being assigned to bothsettings_config
anddatabase_config
- Fix an issue where an incorrect route was being referenced in
panelists.routes.score_breakdown_details()
, causing an unhandled error
- Upgrade wwdtm from 2.0.5 to 2.0.7, which also includes the following changes:
- Upgrade MySQL Connector/Python from 8.0.28 to 8.0.30
- Upgrade NumPy from 1.22.3 to 1.23.2
- Upgrade pytz from 2022.1 to 2022.2.1
- Add an additional query that unsets
ONLY_FULL_GROUP_BY
flag and sets the appropriate flags for the session-levelsql_mode
for queries that return an error due to MySQL Server setting theONLY_FULL_GROUP_BY
flag by default. Queries and application logic for the respective functions will need to be rearchitected in a future release.
- Upgrade Plotly.js from 2.12.1 to 2.13.3
- Made changes to how gender is referenced in the dataset names for the Panel Gender Mix chart and update the corresponding test
- Upgrade Flask to 2.2.0
- Upgrade Werkzeug from 2.1.2 to 2.2.1
- Upgrade Plotly.js from 2.11.1 to 2.12.1
- Update guests, hosts, locations, panelists, scorekeepers and shows routes and redirects so that canonical routes now have a trailing slash and requests made without a trailing slash will get redirected
- Upgrade pytest from 6.2.5 to 7.1.2
- Add type hinting to pytest scripts
- Upgrade Black from 22.1.0 to 22.6.0
- Change Black
target-version
to removepy36
andpy37
, and addpy310
- Fixed typo in
500
error page
- Replace (lib)wwdtm 1.2.x with wwdtm 2.0.5 (or higher)
- Upgrade Flask from 2.0.1 to 2.1.1
- Upgrade Materialize from 1.0.0 to 1.1.0
- Upgrade Plotly.js from 2.4.2 to 2.11.1
- Complete restructuring of the Flask application to use Blueprints design pattern
- Convert the application from using uWSGI to serve the application to Gunicorn to match the changes made with the Wait Wait Stats API and Wait Wait Stats Page
- Adding tests by way of
pytest
- Introduction of
black
for code formatting