Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
570 commits
Select commit Hold shift + click to select a range
fbb186f
Make sure that a proctored test becomes unproctored when graded by in…
drgrice1 May 6, 2026
0501be7
Fix the active colors of the selected test or filter in the test nav.
drgrice1 May 6, 2026
3bc49ca
Fix an invalid localization string in a maketext call.
drgrice1 May 16, 2026
e833a82
Merge pull request #2977 from drgrice1/bugfix/localization-bracket
Alex-Jordan May 17, 2026
f445baf
Merge pull request #2968 from drgrice1/bugfix/gateway-test-proctor-grade
Alex-Jordan May 18, 2026
8ab7c33
Merge pull request #2969 from drgrice1/fix-grading-overtime-proctored…
Alex-Jordan May 18, 2026
dfcd6e0
Merge pull request #2970 from drgrice1/dark-mode-test-nav-colors
Alex-Jordan May 18, 2026
e1f08b1
Merge pull request #2966 from somiaj/bugfix-credit-set-items
Alex-Jordan May 18, 2026
d1560a4
Merge pull request #2950 from drgrice1/bugfix/change_user_id
Alex-Jordan May 18, 2026
2c92b48
Fix colors on the proctor login page for dark mode.
drgrice1 May 6, 2026
0d61a75
Merge pull request #2974 from drgrice1/dark-mode-proctor-login-alt
somiaj May 18, 2026
4ee0094
Improve the speed of the database user retrieval for the student nav.
drgrice1 May 13, 2026
a3d5379
Switch to getting all users from the database and filtering via Perl.
drgrice1 May 18, 2026
5890b0d
Merge remote-tracking branch 'origin/main' into WeBWorK-2.21
drgrice1 May 18, 2026
cf7d744
Remove the `Demo` set.
drgrice1 Dec 19, 2025
3efedc2
Merge pull request #2979 from drgrice1/setDemo-remove
pstaabp May 19, 2026
3d4a619
Remove a symbolic link accidentally added in #2979.
drgrice1 May 19, 2026
4d47dd4
Merge pull request #2980 from drgrice1/demo-link-oops
pstaabp May 19, 2026
980a79f
Merge pull request #2975 from drgrice1/student-nav-speed-tweak
somiaj May 19, 2026
d82338c
Fix the test nav.
drgrice1 May 19, 2026
216973d
Merge pull request #2981 from drgrice1/bugfix/gateway-test-nav
somiaj May 19, 2026
fc9021d
Add extension time factor setting.
somiaj May 2, 2026
1a4bda6
Better keep track of which sets are complete in achievements.
somiaj May 2, 2026
6f02778
Rework resizing of the problem editor.
drgrice1 Apr 18, 2026
7a3d557
Perhaps fix the Mac alternate key bindings.
drgrice1 May 18, 2026
5b5b8b5
Merge pull request #2965 from somiaj/add-extension-time-setting
Alex-Jordan May 19, 2026
2e09c5e
Merge pull request #2964 from somiaj/add-completed-set-ids
Alex-Jordan May 19, 2026
784b035
Merge pull request #2954 from drgrice1/pgeditor-resizing
Alex-Jordan May 21, 2026
8bebdc7
Initial work on new student grades page.
somiaj Feb 19, 2026
ff2ee3a
Add weights and option to hide/show weights/attempts to Grades.
somiaj May 21, 2026
fd8f3d1
Updates from code review.
somiaj May 23, 2026
c699698
Merge pull request #2917 from somiaj/new-grades-page
drgrice1 May 23, 2026
9985d90
Cleanup modelCourse achievements.
somiaj May 21, 2026
b0cf69b
Update npm dependencies to latest versions.
drgrice1 Apr 20, 2026
3316fea
Update the required version of node to 22.
drgrice1 May 23, 2026
41edfe3
Merge pull request #2986 from drgrice1/update-npm-dependencies
Alex-Jordan May 24, 2026
2ddb85c
update the Student Orientation for MathJax 4
Alex-Jordan May 23, 2026
9270596
Merge pull request #2984 from somiaj/clean-achievements
Alex-Jordan May 24, 2026
2f02612
Merge pull request #2985 from Alex-Jordan/mathjax4-student-orientation
somiaj May 26, 2026
c70e083
Fix issues with reseting two-factor authentication in the accounts ma…
drgrice1 May 26, 2026
5061879
Fix an invalid import that is causing warnings.
drgrice1 May 26, 2026
f1cefc3
Merge pull request #2988 from drgrice1/bugfix/instructor-2fa-reset
Alex-Jordan May 27, 2026
6926afe
Switch `package-lock.json` to lockfile version 3.
drgrice1 May 27, 2026
3ddf241
Minor clean up in the htdocs directory.
drgrice1 May 27, 2026
812a883
Merge pull request #2987 from drgrice1/bugfix/invalid-import
somiaj May 27, 2026
d2cf4e2
Merge pull request #2989 from drgrice1/lockfile-version-3
Alex-Jordan May 27, 2026
7b6ae48
Merge pull request #2990 from drgrice1/minor-htdocs-cleanup
Alex-Jordan May 27, 2026
56da9e6
add-on conf files
Alex-Jordan Jun 4, 2026
01dda64
javascript for Add Course add-on-conf multiselect
Alex-Jordan Jun 5, 2026
863a143
Suggested clean up and minor issue fixes.
drgrice1 Jun 6, 2026
a65deb7
run perltidy on defaults.config
Alex-Jordan Jun 5, 2026
9493f95
Fix the issue with MathJax rendering when certain fonts are used.
drgrice1 Jun 6, 2026
d238e7b
Merge pull request #3002 from drgrice1/mathjax-issue-fix
Alex-Jordan Jun 7, 2026
b4ad841
Remove an unused variable in `templates/ContentGenerator/ProblemSet/v…
drgrice1 Mar 17, 2024
70ac462
Remove the bold tag from the unused sub-display error for the admin c…
drgrice1 Mar 29, 2024
bd7b3e5
Add a `main` landmark to pages.
drgrice1 Apr 12, 2026
70f10c5
Make the course archive generated via the file manager an immediate d…
drgrice1 Jun 8, 2026
38a6109
Make permissions for viewing an edit file consistent within the `Prob…
drgrice1 Jun 8, 2026
157d0fa
Fix contrast when viewing the xml of a hardcopy theme in the PG edito…
drgrice1 Jun 8, 2026
1b55e62
Fix a warning due to the way the sort methods are called in the job m…
drgrice1 Jun 8, 2026
6900e04
Fix a major bug with the navigation that everyone has certainly seen.
drgrice1 Jun 8, 2026
315d06d
Also tweak the width setting when the sidebar is hidden.
drgrice1 Jun 8, 2026
0d97805
Merge pull request #3010 from drgrice1/bugfix/navigation-toggle
pstaabp Jun 9, 2026
8048b78
Merge pull request #3004 from drgrice1/landmarks
pstaabp Jun 9, 2026
78a0239
Merge pull request #3001 from Alex-Jordan/perltidy-defaults-config
pstaabp Jun 9, 2026
d0f0d1e
Merge pull request #3007 from drgrice1/odds-and-ends
somiaj Jun 9, 2026
55ee0a3
Merge pull request #3009 from drgrice1/bugfix/job-manager-sort-warning
Alex-Jordan Jun 9, 2026
a142b0f
Merge pull request #3008 from drgrice1/hardcopy-theme-view-background
dlglin Jun 9, 2026
bc58925
Merge pull request #3006 from drgrice1/consistent-permissions-tmp-pro…
Alex-Jordan Jun 9, 2026
57cb6e1
Merge pull request #3005 from drgrice1/file-manager-course-archive-do…
Alex-Jordan Jun 9, 2026
724fb0f
Merge pull request #36 from drgrice1/conf-suggestions
Alex-Jordan Jun 6, 2026
79a7c65
Merge pull request #3000 from Alex-Jordan/conf
drgrice1 Jun 9, 2026
12889a9
Add a case for incompatible Perl package versions in `check_modules.pl`.
drgrice1 Jun 9, 2026
65def78
Merge pull request #3013 from drgrice1/check-modules-incompatible-ver…
somiaj Jun 10, 2026
c6236d3
Update to `perltidy` version 20260204.
drgrice1 Jun 10, 2026
41bf7ff
Perltidy the Perl files in the code base.
drgrice1 Jun 10, 2026
072a7cb
Fix the PG critic report in the editor for dark mode.
drgrice1 Jun 10, 2026
bc13c21
Merge pull request #3016 from drgrice1/pgeditor-critic-dark-mode
Alex-Jordan Jun 11, 2026
cbb1769
Re-render a problem in the PG problem editor after a perltidy failure.
drgrice1 Jun 10, 2026
519f6c0
Merge pull request #3014 from drgrice1/perltidy-update
Alex-Jordan Jun 13, 2026
6f377ef
Merge pull request #3015 from drgrice1/pgeditor-rerender-after-perlti…
somiaj Jun 14, 2026
1f3563b
Improvements for the "Save As" form in the PG editor.
drgrice1 Jun 11, 2026
ea0bc2a
Add validation of the target file name in the "Save As" tab.
drgrice1 Jun 12, 2026
c1b551e
Rework when the "save" tab is shown, and when the file being edited i…
drgrice1 Jun 12, 2026
558704e
Update the PG problem editor help.
drgrice1 Jun 12, 2026
f3abb2f
Merge pull request #3017 from drgrice1/pgeditor-improvements
somiaj Jun 14, 2026
d870e7b
Set default in achievement evaluator editor save as form.
somiaj Jun 14, 2026
4068d31
LTI 1.1 configure number of digits to round score.
somiaj Jun 15, 2026
2472dba
Merge pull request #3019 from somiaj/lti-1-1-round-score
dlglin Jun 16, 2026
4963d78
Typo fixes.
somiaj Jun 16, 2026
7a3d20f
Merge pull request #3020 from somiaj/typo-fixes-3019
Alex-Jordan Jun 21, 2026
0dcaee0
Merge pull request #3018 from somiaj/achievement-editor-save-as-default
Alex-Jordan Jun 21, 2026
e11a7bb
docs: fix some typos
jeis4wpi Jun 23, 2026
f2e3ea3
Merge pull request #3024 from drgrice1/typos
drgrice1 Jun 23, 2026
e0ff098
Add a custom sagecell server URL option.
drgrice1 Dec 18, 2025
3c7ed1e
Merge pull request #2951 from drgrice1/sagecell-custom-url-option
somiaj Jun 24, 2026
e69fd51
Update the docker build.
drgrice1 Apr 22, 2026
bc7868b
Switch the docker build to Ubuntu 26.
drgrice1 Jun 1, 2026
d41f950
docs: fix more typos
jeis4wpi Jun 24, 2026
b487770
Merge pull request #2958 from drgrice1/docker-build-update
somiaj Jun 24, 2026
cf99460
Merge pull request #3028 from drgrice1/more-typo-fixes
drgrice1 Jun 24, 2026
3d98aa1
Merge pull request #2996 from drgrice1/docker-build-update-ubuntu-26
somiaj Jun 24, 2026
67aa4ca
configure mathjax to line break long display math
Alex-Jordan Jun 24, 2026
861c93c
Drop the repost parameter form the LTI self-posting form used after the
taniwallach Jun 26, 2026
d35b6a9
Merge pull request #3032 from taniwallach/lti-self-posting-drop-repos…
Alex-Jordan Jun 30, 2026
08c3fd8
Disabled tabs for the PG editor.
drgrice1 Jun 15, 2026
727f184
Recreate course template symlinks after unarchiving
drdrew42 Jul 3, 2026
fdeefdf
Remove the partial course directory when unarchiving fails
drdrew42 Jul 3, 2026
b29b201
Recreate symbolic links when extracting an archive in the File Manager
drdrew42 Jul 3, 2026
099c60b
Merge pull request #3025 from drgrice1/pgeditor-disabled-tabs
pstaabp Jul 7, 2026
b60d855
A better approach for dark mode for some rendering in the editor.
drgrice1 Jun 23, 2026
a1da3c7
Remove the html2xml endpoint.
drgrice1 Jun 26, 2026
3f8ae4c
Merge pull request #3029 from drgrice1/better-pg-editor-dark-mode
Alex-Jordan Jul 7, 2026
a62774e
icon indicator on the Assignments page if a set's dates have been ove…
Alex-Jordan Jun 25, 2026
0852659
Deny scripts for two npm packages.
drgrice1 Jul 1, 2026
f0300c5
Add a margin to the bottom of the "Future Assignments" on the student…
drgrice1 Jul 6, 2026
02ac0b3
Merge pull request #3034 from drgrice1/remove-html2xml-endpoint
Alex-Jordan Jul 7, 2026
c255e34
Merge pull request #3035 from drgrice1/deny-scripts
Alex-Jordan Jul 7, 2026
ad3befd
Upgrade MathJax to version 4.1.3.
drgrice1 Jul 6, 2026
4daf3d9
typos identified by github.com/crate-ci/typos
Alex-Jordan Jun 25, 2026
4b5196c
Merge pull request #3039 from drgrice1/grades-margin
pstaabp Jul 7, 2026
de0fa6a
Merge pull request #3040 from drgrice1/update-mathjax-again
Alex-Jordan Jul 7, 2026
699c161
Merge pull request #3037 from drdrew42/bugfix/unarchive-course-extern…
Alex-Jordan Jul 7, 2026
4d58ba2
Merge pull request #3031 from Alex-Jordan/typos
drgrice1 Jul 7, 2026
79c02cf
Merge pull request #3030 from Alex-Jordan/override-indicator
pstaabp Jul 7, 2026
482ce8e
Merge pull request #3026 from Alex-Jordan/mathjax-linebreak
pstaabp Jul 7, 2026
5093faf
Determine unarchive source course ID from archive contents, not filename
drdrew42 Jul 7, 2026
c395ca7
Abort a course archive when the database dump actually fails
drdrew42 Jul 7, 2026
7cbc180
typos identified by github.com/crate-ci/typos
Alex-Jordan Jul 8, 2026
d2e95a6
show file size of archived courses when unarchiving
Alex-Jordan Jul 9, 2026
bbaeb3b
For pages in the admin course, use 'Course ID' instead of 'Course Name'
Alex-Jordan Jul 9, 2026
adb4216
Style the 'Unarchive' page labels the same as similar pages
Alex-Jordan Jul 9, 2026
f6404cf
Adjust column widths for certain pages in the admin course
Alex-Jordan Jul 9, 2026
da34ce9
Combine the `listArchiveCourses` and `statArchiveCourses` methods.
drgrice1 Jul 9, 2026
55543a7
Merge pull request #37 from drgrice1/archive-sizes-suggestion
Alex-Jordan Jul 9, 2026
cf77a85
typos identified by github.com/crate-ci/typos
Alex-Jordan Jul 8, 2026
40aa7c8
For Unarchive Course page, use archive file's top fodler name for cou…
Alex-Jordan Jul 9, 2026
298e24b
Adjust column widths for certain pages in the admin course
Alex-Jordan Jul 10, 2026
772fc03
Merge pull request #3045 from Alex-Jordan/typos-ContentGenerator
drgrice1 Jul 11, 2026
56fed46
Protect the required course symbolic links from deletion in the file …
drgrice1 Jul 3, 2026
c0c1f84
Fix Caliper::Entity calling nonexistent prHintsAfter() method
xcompass Jul 11, 2026
503a3af
Merge pull request #3044 from Alex-Jordan/typos
drgrice1 Jul 11, 2026
0d83b13
Merge pull request #3050 from ubc/caliper-fixes
Alex-Jordan Jul 11, 2026
1c00550
Merge pull request #3042 from drdrew42/bugfix/archive-dump-failure-no…
Alex-Jordan Jul 11, 2026
7c9b06b
Merge pull request #3036 from drgrice1/file-manager-protect-links
Alex-Jordan Jul 11, 2026
4f7fca8
Alternate approach to delaying showing problem content until after Ma…
drgrice1 Jun 7, 2026
18b7270
Change the extension used by `perltidy`.
drgrice1 Jul 12, 2026
4ed2c5d
Prevent Caliper problem entity from dying on problem-group source files
xcompass Jul 11, 2026
52f23a6
Fix duplicated word in default exception template
xcompass Jul 11, 2026
08693d5
Save the useMathView user setting on the User Settings page
xcompass Jul 11, 2026
9b7c626
Build the library browser alert toast with DOM methods
xcompass Jul 11, 2026
19ece11
Fix stale comment in site.conf.dist referencing removed database.conf
xcompass Jul 11, 2026
04a7856
Merge pull request #3053 from ubc/upstream-exception-template-what-wh…
Alex-Jordan Jul 14, 2026
e05838f
Merge pull request #3055 from ubc/upstream-options-save-mathview
Alex-Jordan Jul 14, 2026
3a5591e
Merge pull request #3056 from ubc/upstream-siteconf-stale-databasecon…
Alex-Jordan Jul 14, 2026
ffcda3e
Merge pull request #3058 from ubc/upstream-caliper-group-source-guard
Alex-Jordan Jul 14, 2026
d245ae9
Merge pull request #3052 from drgrice1/change-perltidy-ext
pstaabp Jul 14, 2026
07a87f1
Merge pull request #3021 from drgrice1/mathjax-alt-delay-experiment
pstaabp Jul 14, 2026
41265d5
Implement a reset password flow.
drgrice1 Jul 7, 2026
b55c0f4
Merge pull request #3043 from drdrew42/bugfix/unarchive-course-id-fro…
drgrice1 Jul 14, 2026
9685946
Merge pull request #3047 from Alex-Jordan/archive-sizes
drgrice1 Jul 14, 2026
757fc95
Suggestion from #3043.
drgrice1 Jul 14, 2026
f781a16
Merge pull request #3060 from drgrice1/bugfix/unarchive-course-id-fro…
pstaabp Jul 14, 2026
6919b64
Merge pull request #3041 from drgrice1/password-reset-flow
Alex-Jordan Jul 14, 2026
7956cc2
Merge pull request #3054 from ubc/upstream-setmaker-toast-xss
pstaabp Jul 14, 2026
a0e470a
Update the `webwork2.pot` file once more.
drgrice1 Jul 15, 2026
ea24f9c
Make the color scheme chooser active theme check work.
drgrice1 Jul 15, 2026
57ff904
Make the workflow work for Perl scripts without a Perl extension.
drgrice1 Jul 16, 2026
77df1eb
Merge pull request #3061 from drgrice1/update-localization
pstaabp Jul 16, 2026
ee74a1c
Translate webwork2.pot in ru_RU [Manual Sync]
transifex-integration[bot] Jul 16, 2026
df7ba2d
Translate webwork2.pot in tr [Manual Sync]
transifex-integration[bot] Jul 16, 2026
6b01069
Merge pull request #3064 from openwebwork/tx_translations_update_1861…
drgrice1 Jul 16, 2026
52de9a5
Merge pull request #3077 from drgrice1/turkish-rework
drgrice1 Jul 16, 2026
420c2cb
Translate webwork2.pot in fr [Manual Sync]
transifex-integration[bot] Jul 16, 2026
e798b6b
Translate webwork2.pot in es [Manual Sync]
transifex-integration[bot] Jul 16, 2026
0ffda77
Merge pull request #3067 from openwebwork/tx_translations_update_9cda…
drgrice1 Jul 16, 2026
8654d55
Translate webwork2.pot in ko [Manual Sync]
transifex-integration[bot] Jul 16, 2026
c22d5fb
Merge pull request #3066 from openwebwork/tx_translations_update_57f4…
drgrice1 Jul 16, 2026
3f27180
Translate webwork2.pot in el [Manual Sync]
transifex-integration[bot] Jul 16, 2026
a002596
Merge pull request #3070 from openwebwork/tx_translations_update_d23a…
drgrice1 Jul 16, 2026
52fe776
Translate webwork2.pot in zh_CN [Manual Sync]
transifex-integration[bot] Jul 16, 2026
8defea5
Merge pull request #3068 from openwebwork/tx_translations_update_97ac…
drgrice1 Jul 16, 2026
67e8015
Translate webwork2.pot in fr_CA [Manual Sync]
transifex-integration[bot] Jul 16, 2026
0d7c44f
Merge pull request #3069 from openwebwork/tx_translations_update_b662…
drgrice1 Jul 16, 2026
631c4a8
Merge pull request #3071 from openwebwork/tx_translations_update_6cdd…
drgrice1 Jul 16, 2026
98c916a
Translate webwork2.pot in cs_CZ [Manual Sync]
transifex-integration[bot] Jul 16, 2026
20eb195
Translate webwork2.pot in zh_HK [Manual Sync]
transifex-integration[bot] Jul 16, 2026
5563c1e
Merge pull request #3073 from openwebwork/tx_translations_update_69a3…
drgrice1 Jul 16, 2026
26775db
Translate webwork2.pot in hu [Manual Sync]
transifex-integration[bot] Jul 16, 2026
940710d
Merge pull request #3074 from openwebwork/tx_translations_update_e78b…
drgrice1 Jul 16, 2026
48d41a6
Merge pull request #3072 from openwebwork/tx_translations_update_1991…
drgrice1 Jul 16, 2026
457cb7e
Translate webwork2.pot in de [Manual Sync]
transifex-integration[bot] Jul 16, 2026
5847d35
Merge pull request #3076 from openwebwork/tx_translations_update_426a…
drgrice1 Jul 16, 2026
56fefbc
Translate webwork2.pot in he_IL [Manual Sync]
transifex-integration[bot] Jul 16, 2026
d0534d5
Merge pull request #3075 from openwebwork/tx_translations_update_2c8d…
drgrice1 Jul 16, 2026
175ab06
Fix some HTML validation issues.
drgrice1 Jul 19, 2026
f2b6811
Merge pull request #3078 from drgrice1/html-validation-issues
somiaj Jul 21, 2026
c883845
Merge pull request #3063 from drgrice1/perltidy-workflow-shebang-check
somiaj Jul 21, 2026
6390d91
Merge pull request #3062 from drgrice1/bugfix/color-scheme-chooser-check
somiaj Jul 21, 2026
5ad1ede
Add LTI 1.3 features.
drgrice1 May 22, 2026
0f83d7b
Make the `registration_token` parameter in the registration response …
drgrice1 Jun 5, 2026
aa373d4
Add a course selection step in content item selection for LTI 1.3.
drgrice1 Jun 1, 2026
802f237
Restrict LTI authentication by LTI course map.
drgrice1 Jun 1, 2026
1e4f8e0
Merge pull request #2995 from drgrice1/lti-1.3-features-plus-course-c…
dlglin Jul 21, 2026
87bf79e
Update npm dependencies once more.
drgrice1 Jul 21, 2026
486157f
Merge pull request #3079 from drgrice1/update-npm-dependencies
somiaj Jul 22, 2026
111dcba
Allow users (with high enough permission) to set their answer date to…
Alex-Jordan Jul 23, 2026
4ade6b4
Make conditional release in the set details page use a select.
Alex-Jordan Jul 23, 2026
4d1bb3f
Guidance for an instructor who has not set the LMS context ID
Alex-Jordan Jul 23, 2026
7d0296e
Force password reset.
Alex-Jordan Jul 23, 2026
41fcca9
Fix a cut and paste error in the reset password template.
drgrice1 Jul 26, 2026
57a8d71
Merge pull request #3087 from drgrice1/reset-password-typo
Alex-Jordan Jul 26, 2026
4be16de
add role="alert" to various alerts
Alex-Jordan Jul 26, 2026
f6fd2d2
move the test navigation table into a nav element
Alex-Jordan Jul 26, 2026
55d6fae
make screen reader announce Format as the group context for the radio…
Alex-Jordan Jul 26, 2026
5739289
use aria-labels, not alt text, on icons
Alex-Jordan Jul 26, 2026
efcc9c4
Merge pull request #3088 from Alex-Jordan/gw-table
pstaabp Jul 27, 2026
620243b
Merge pull request #3089 from Alex-Jordan/announce-errors
pstaabp Jul 27, 2026
9ed437c
Merge pull request #3091 from Alex-Jordan/aria-labels
pstaabp Jul 27, 2026
084b836
make escape close navigation on narrow screen
Alex-Jordan Jul 26, 2026
caeb9d5
Fix some security vulnerabilities.
drgrice1 Jul 26, 2026
39148fb
Merge pull request #3080 from Alex-Jordan/conditional-release
pstaabp Jul 28, 2026
e9f7cb9
Merge pull request #3095 from Alex-Jordan/sr-format-group
somiaj Jul 28, 2026
8931ae8
Merge pull request #3093 from Alex-Jordan/escape
somiaj Jul 28, 2026
ccef7dc
Merge pull request #3082 from Alex-Jordan/lms-context-id
somiaj Jul 28, 2026
f3c816b
Merge pull request #3100 from drgrice1/security-vulnerabilities
Alex-Jordan Aug 2, 2026
f578302
make a few anchors with role=button activate upon use of spacebar
Alex-Jordan Jul 26, 2026
65e11c7
Merge pull request #3096 from Alex-Jordan/button-space
somiaj Aug 2, 2026
0bc7aa4
put aria-sort attributes on tables in Instructor Tools
Alex-Jordan Jul 26, 2026
bad0fb3
Remove the WeBWorK SOAP service.
drgrice1 Jul 2, 2026
84de776
MathJax 4.1.3 does not display math properly when inside an RTL setting.
taniwallach Aug 3, 2026
815d7b4
Merge pull request #3106 from taniwallach/mathjax-413-rtl-patch
pstaabp Aug 3, 2026
abcc7a0
Merge pull request #3105 from drgrice1/webwork-soap-remove
somiaj Aug 3, 2026
e642132
Merge pull request #3094 from Alex-Jordan/aria-sort
drgrice1 Aug 3, 2026
fcf54ed
Add error handling in the pg problem edit.
pstaabp Jul 8, 2026
39ce98d
Rework the error handling.
drgrice1 Jul 25, 2026
199e654
Update the npm development dependencies once again to fix security vu…
drgrice1 Aug 3, 2026
bd7caa8
show links to sets even when you are not assigned to those sets
Alex-Jordan Jul 27, 2026
ed76536
Merge pull request #3108 from drgrice1/npm-dependency-update-yet-again
pstaabp Aug 4, 2026
c962c60
Refuse to extract symbolic links in archives that point outside the c…
drgrice1 Aug 3, 2026
6b549ce
button to announce remaining time on test
Alex-Jordan Jul 28, 2026
15573e1
buttons for reordering problems in a set details page
Alex-Jordan Jul 26, 2026
faf3238
Merge pull request #3101 from drgrice1/pgml-convert-pgeditor-revised
Alex-Jordan Aug 4, 2026
302bfd2
Merge pull request #3097 from Alex-Jordan/set-links
pstaabp Aug 4, 2026
7ca5d5f
Control force password reset at Add Users page too.
Alex-Jordan Jul 23, 2026
82d8fb1
Merge pull request #3107 from drgrice1/no-extract-unsafe-links
Alex-Jordan Aug 4, 2026
2018800
Merge pull request #3083 from Alex-Jordan/change-password
pstaabp Aug 4, 2026
8e9e6a0
Merge pull request #3090 from Alex-Jordan/keyboard-rearrange
pstaabp Aug 4, 2026
53f28b9
Merge pull request #3081 from Alex-Jordan/show-answers-early
drgrice1 Aug 4, 2026
053e93e
Merge pull request #3099 from Alex-Jordan/timer-button
drgrice1 Aug 4, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .github/FUNDING.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,4 @@ community_bridge: # Replace with a single Community Bridge project-name e.g., cl
liberapay: # Replace with a single Liberapay username
issuehunt: # Replace with a single IssueHunt username
otechie: # Replace with a single Otechie username
custom: ["https://webwork.maa.org/wiki"]
custom: ['https://wiki.openwebwork.org/wiki']
26 changes: 20 additions & 6 deletions .github/workflows/check-formats.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,26 +18,40 @@ jobs:
image: perl:5.38
steps:
- name: Checkout code
uses: actions/checkout@v4
uses: actions/checkout@v6
- name: Install dependencies
run: cpanm -n Perl::Tidy@20240903
run: cpanm -n Perl::Tidy@20260204
- name: Run perltidy
shell: bash
run: |
git config --global --add safe.directory "$GITHUB_WORKSPACE"
shopt -s extglob globstar nullglob
perltidy --pro=./.perltidyrc -b -bext='/' ./**/*.p[lm] ./**/*.t && git diff --exit-code

perl_files=(./**/*.p[lm] ./**/*.t ./**/*.at)

for f in bin/* bin/dev_scripts/*; do
if [[ -f "$f" && ! "$f" == *.* ]]; then
if head -n 1 "$f" | grep -qE '^#!.*(\bperl\b)'; then
perl_files+=("$f")
fi
fi
done

if [ ${#perl_files[@]} -gt 0 ]; then
perltidy --pro=./.perltidyrc -b -bext='/' "${perl_files[@]}"
git diff --exit-code
fi

prettier:
name: Check JavaScript, style, and HTML file formatting with prettier
runs-on: ubuntu-24.04
steps:
- name: Checkout code
uses: actions/checkout@v4
uses: actions/checkout@v6
- name: Install Node
uses: actions/setup-node@v4
uses: actions/setup-node@v6
with:
node-version: '20'
node-version: '24'
- name: Install Dependencies
run: cd htdocs && npm ci --ignore-scripts
- name: Check formatting with prettier
Expand Down
42 changes: 26 additions & 16 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ RUN echo Cloning branch $PG_BRANCH branch from $PG_GIT_URL \

# We need to change FROM before setting the ENV variables.

FROM ubuntu:24.04
FROM ubuntu:26.04

ENV WEBWORK_URL=/webwork2 \
WEBWORK_ROOT_URL=http://localhost:8080 \
Expand Down Expand Up @@ -79,12 +79,17 @@ RUN apt-get update \
libclass-tiny-antlers-perl \
libclass-tiny-perl \
libcpanel-json-xs-perl \
libcrypt-dev \
libcrypt-jwt-perl \
libcrypt-openssl-x509-perl \
libcryptx-perl \
libdata-dump-perl \
libdata-structure-util-perl \
libdatetime-perl \
libdatetime-format-xsd-perl \
libdatetime-hires-perl \
libdbd-mysql-perl \
libdbd-mariadb-perl \
libdevel-checklib-perl \
libemail-address-xs-perl \
libemail-date-format-perl \
Expand All @@ -98,12 +103,14 @@ RUN apt-get update \
libfile-copy-recursive-perl \
libfile-find-rule-perl-perl \
libfile-sharedir-install-perl \
libfile-slurper-perl \
libfuture-asyncawait-perl \
libgd-barcode-perl \
libgd-perl \
libhtml-scrubber-perl \
libhtml-template-perl \
libhttp-async-perl \
libio-compress-perl \
libiterator-perl \
libiterator-util-perl \
liblocale-maketext-lexicon-perl \
Expand All @@ -117,6 +124,11 @@ RUN apt-get update \
libmodule-pluggable-perl \
libmojolicious-perl \
libmojolicious-plugin-renderfile-perl \
libmoose-perl \
libmoosex-types-common-perl \
libmoosex-types-datetime-perl \
libmoosex-types-perl \
libmoosex-types-uri-perl \
libnet-https-nb-perl \
libnet-ip-perl \
libnet-ldap-perl \
Expand All @@ -126,10 +138,10 @@ RUN apt-get update \
libpandoc-wrapper-perl \
libpath-class-perl \
libpath-tiny-perl \
libperl-critic-perl \
libphp-serialization-perl \
libpod-wsdl-perl \
libsoap-lite-perl \
libsql-abstract-perl \
libssl-dev \
libstring-shellquote-perl \
libsub-uplevel-perl \
libsvg-perl \
Expand All @@ -145,9 +157,12 @@ RUN apt-get update \
libtext-csv-perl \
libthrowable-perl \
libtimedate-perl \
libtypes-serialiser-perl \
libuniversal-can-perl \
libuniversal-isa-perl \
liburi-encode-perl \
libuuid-tiny-perl \
libxml-generator-perl \
libxml-parser-easytree-perl \
libxml-parser-perl \
libxml-semanticdiff-perl \
Expand All @@ -173,19 +188,19 @@ RUN apt-get update \
texlive-science \
texlive-xetex \
tzdata \
util-linux-extra \
zlib1g-dev \
zip $ADDITIONAL_BASE_IMAGE_PACKAGES \
&& curl -fsSL https://deb.nodesource.com/setup_20.x | bash - \
&& curl -fsSL https://deb.nodesource.com/setup_24.x | bash - \
&& apt-get install -y --no-install-recommends --no-install-suggests nodejs \
&& apt-get clean \
&& rm -fr /var/lib/apt/lists/* /tmp/*

# ==================================================================
# Phase 4 - Install additional Perl modules from CPAN that are not packaged for Ubuntu or are outdated in Ubuntu.

RUN cpanm install -n \
Statistics::R::IO \
DBD::MariaDB \
Perl::Tidy@20220613 \
RUN cpanm -n \
Perl::Tidy@20260204 \
Archive::Zip::SimpleZip \
Net::SAML2 \
&& rm -fr ./cpanm /root/.cpanm /tmp/*
Expand Down Expand Up @@ -213,9 +228,6 @@ COPY --from=base /opt/base/pg $APP_ROOT/pg
# 6. Install third party javascript files.
# 7. Apply patches

# Patch files that are applied below
COPY docker-config/pgfsys-dvisvmg-bbox-fix.patch /tmp

RUN echo "PATH=$PATH:$APP_ROOT/webwork2/bin" >> /root/.bashrc \
&& mkdir /run/webwork2 /etc/ssl/local \
&& cd $APP_ROOT/webwork2/ \
Expand All @@ -225,14 +237,12 @@ RUN echo "PATH=$PATH:$APP_ROOT/webwork2/bin" >> /root/.bashrc \
&& /usr/sbin/locale-gen \
&& echo "locales locales/default_environment_locale select en_US.UTF-8\ndebconf debconf/frontend select Noninteractive" > /tmp/preseed.txt \
&& debconf-set-selections /tmp/preseed.txt \
&& rm /etc/localtime /etc/timezone && echo "Etc/UTC" > /etc/timezone \
&& rm -f /etc/localtime /etc/timezone && echo "Etc/UTC" > /etc/timezone \
&& dpkg-reconfigure -f noninteractive tzdata \
&& cd $WEBWORK_ROOT/htdocs \
&& npm install \
&& cd $PG_ROOT/htdocs \
&& npm install \
&& patch -p1 -d / < /tmp/pgfsys-dvisvmg-bbox-fix.patch \
&& rm /tmp/pgfsys-dvisvmg-bbox-fix.patch
&& npm install

# ==================================================================
# Phase 7 - Final setup and prepare docker-entrypoint.sh
Expand All @@ -246,7 +256,7 @@ COPY docker-config/docker-entrypoint.sh /usr/local/bin/

ENTRYPOINT ["docker-entrypoint.sh"]

# Add enviroment variables to control some things during container startup
# Add environment variables to control some things during container startup
ENV SSL=0 \
PAPERSIZE=letter \
SYSTEM_TIMEZONE=UTC \
Expand Down
32 changes: 23 additions & 9 deletions DockerfileStage1
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# This is the Stage 1 Dockerfile, which builds a base OS image (webwork-base)
# on top of which the WeBWorK parts will be installed by the Stage 2 Dockerfile.

FROM ubuntu:24.04
FROM ubuntu:26.04

# ==================================================================
# Phase 1 - Set base OS image install stage ENV variables
Expand Down Expand Up @@ -41,12 +41,17 @@ RUN apt-get update \
libclass-tiny-antlers-perl \
libclass-tiny-perl \
libcpanel-json-xs-perl \
libcrypt-dev \
libcrypt-jwt-perl \
libcrypt-openssl-x509-perl \
libcryptx-perl \
libdata-dump-perl \
libdata-structure-util-perl \
libdatetime-perl \
libdatetime-format-xsd-perl \
libdatetime-hires-perl \
libdbd-mysql-perl \
libdbd-mariadb-perl \
libdevel-checklib-perl \
libemail-address-xs-perl \
libemail-date-format-perl \
Expand All @@ -60,16 +65,17 @@ RUN apt-get update \
libfile-copy-recursive-perl \
libfile-find-rule-perl-perl \
libfile-sharedir-install-perl \
libfile-slurper-perl \
libfuture-asyncawait-perl \
libgd-barcode-perl \
libgd-perl \
libhtml-scrubber-perl \
libhtml-template-perl \
libhttp-async-perl \
libio-compress-perl \
libiterator-perl \
libiterator-util-perl \
liblocale-maketext-lexicon-perl \
libmariadb-dev \
libmath-random-secure-perl \
libmime-base32-perl \
libmime-tools-perl \
Expand All @@ -79,6 +85,11 @@ RUN apt-get update \
libmodule-pluggable-perl \
libmojolicious-perl \
libmojolicious-plugin-renderfile-perl \
libmoose-perl \
libmoosex-types-common-perl \
libmoosex-types-datetime-perl \
libmoosex-types-perl \
libmoosex-types-uri-perl \
libnet-https-nb-perl \
libnet-ip-perl \
libnet-ldap-perl \
Expand All @@ -88,10 +99,10 @@ RUN apt-get update \
libpandoc-wrapper-perl \
libpath-class-perl \
libpath-tiny-perl \
libperl-critic-perl \
libphp-serialization-perl \
libpod-wsdl-perl \
libsoap-lite-perl \
libsql-abstract-perl \
libssl-dev \
libstring-shellquote-perl \
libsub-uplevel-perl \
libsvg-perl \
Expand All @@ -107,9 +118,12 @@ RUN apt-get update \
libtext-csv-perl \
libthrowable-perl \
libtimedate-perl \
libtypes-serialiser-perl \
libuniversal-can-perl \
libuniversal-isa-perl \
liburi-encode-perl \
libuuid-tiny-perl \
libxml-generator-perl \
libxml-parser-easytree-perl \
libxml-parser-perl \
libxml-semanticdiff-perl \
Expand All @@ -135,19 +149,19 @@ RUN apt-get update \
texlive-science \
texlive-xetex \
tzdata \
util-linux-extra \
zlib1g-dev \
zip $ADDITIONAL_BASE_IMAGE_PACKAGES \
&& curl -fsSL https://deb.nodesource.com/setup_20.x | bash - \
&& curl -fsSL https://deb.nodesource.com/setup_24.x | bash - \
&& apt-get install -y --no-install-recommends --no-install-suggests nodejs \
&& apt-get clean \
&& rm -fr /var/lib/apt/lists/* /tmp/*

# ==================================================================
# Phase 3 - Install additional Perl modules from CPAN that are not packaged for Ubuntu or are outdated in Ubuntu.

RUN cpanm install -n \
Statistics::R::IO \
DBD::MariaDB \
Perl::Tidy@20220613 \
RUN cpanm -n \
Perl::Tidy@20260204 \
Archive::Zip::SimpleZip \
Net::SAML2 \
&& rm -fr ./cpanm /root/.cpanm /tmp/*
Expand Down
13 changes: 4 additions & 9 deletions DockerfileStage2
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ RUN echo Cloning branch $PG_BRANCH branch from $PG_GIT_URL \

# We need to change FROM before setting the ENV variables.

FROM webwork-base:forWW220
FROM webwork-base:forWW221

ENV WEBWORK_URL=/webwork2 \
WEBWORK_ROOT_URL=http://localhost:8080 \
Expand Down Expand Up @@ -73,9 +73,6 @@ COPY --from=base /opt/base/pg $APP_ROOT/pg
# 6. Install third party javascript files.
# 7. Apply patches

# Patch files that are applied below
COPY docker-config/pgfsys-dvisvmg-bbox-fix.patch /tmp

RUN echo "PATH=$PATH:$APP_ROOT/webwork2/bin" >> /root/.bashrc \
&& mkdir /run/webwork2 /etc/ssl/local \
&& cd $APP_ROOT/webwork2/ \
Expand All @@ -85,14 +82,12 @@ RUN echo "PATH=$PATH:$APP_ROOT/webwork2/bin" >> /root/.bashrc \
&& /usr/sbin/locale-gen \
&& echo "locales locales/default_environment_locale select en_US.UTF-8\ndebconf debconf/frontend select Noninteractive" > /tmp/preseed.txt \
&& debconf-set-selections /tmp/preseed.txt \
&& rm /etc/localtime /etc/timezone && echo "Etc/UTC" > /etc/timezone \
&& rm -f /etc/localtime /etc/timezone && echo "Etc/UTC" > /etc/timezone \
&& dpkg-reconfigure -f noninteractive tzdata \
&& cd $WEBWORK_ROOT/htdocs \
&& npm install \
&& cd $PG_ROOT/htdocs \
&& npm install \
&& patch -p1 -d / < /tmp/pgfsys-dvisvmg-bbox-fix.patch \
&& rm /tmp/pgfsys-dvisvmg-bbox-fix.patch
&& npm install

# ==================================================================
# Phase 5 - Final setup and prepare docker-entrypoint.sh
Expand All @@ -106,7 +101,7 @@ COPY docker-config/docker-entrypoint.sh /usr/local/bin/

ENTRYPOINT ["docker-entrypoint.sh"]

# Add enviroment variables to control some things during container startup
# Add environment variables to control some things during container startup
ENV SSL=0 \
PAPERSIZE=letter \
SYSTEM_TIMEZONE=UTC \
Expand Down
18 changes: 9 additions & 9 deletions LICENSE
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
Online Homework Delivery System
Version 2.*

Copyright 2000-2025, The WeBWorK Project
Copyright 2000-2026, The WeBWorK Project

All rights reserved.

Expand All @@ -13,19 +13,19 @@
Software Foundation; either version 2, or (at your option)
any later version, or

b) the "Artistic License" which comes with this package.
b) the "Artistic License" 1.0 which comes with this package.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See either
the GNU General Public License or the Artistic License for more details.

You should have received a copy of the Artistic License with this
package, in the file named "Artistic" inside the `doc` folder. If not, we'll be glad to provide
one.
You should have received a copy of the Artistic License 1.0 with this
package, in the file named "Artistic" inside the `doc` folder. If not,
you can find a copy at https://github.com/openwebwork/webwork2/blob/main/doc/Artistic
or https://perlfoundation.org/artistic-license-10.html.

You should also have received a copy of the GNU General Public License
along with this program in the file named "Copying" inside the `doc` folder. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307, USA or visit their web page on the internet at
http://www.gnu.org/copyleft/gpl.html.
along with this program in the file named "Copying" inside the `doc` folder.
If not, you can find a copy at https://github.com/openwebwork/webwork2/blob/main/doc/Copying
or https://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
Loading