Skip to content

PG 2.21 Release Candidate#1393

Open
drgrice1 wants to merge 295 commits into
mainfrom
PG-2.21
Open

PG 2.21 Release Candidate#1393
drgrice1 wants to merge 295 commits into
mainfrom
PG-2.21

Conversation

@drgrice1

Copy link
Copy Markdown
Member

This is the release candidate for WeBWorK 2.21. Please re-target any pull requests that you want to get into the release for this branch.

jeis4wpi and others added 30 commits September 16, 2025 14:32
The following dependencies are updated:

* jsxgraph: 1.10.1 -> 1.11.1
* plotly.js-dist-min: 2.23.0 -> 3.1.0
* sortablejs: 1.15.2 -> 1.15.6
* autoprefixer: 10.4.19 -> 10.4.21
* chokidar: 3.6.0 -> 4.0.3
* cssnano: 6.1.2 -> 7.1.0
* postcss: 8.4.38 -> 8.5.6
* prettier: 3.2.5 -> 3.6.2
* rtlcss: 4.1.1 -> 4.3.0
* sass: 1.75.0 -> 1.90.0
* terser: 5.30.4 -> 5.43.1
* yargs: 17.7.2 -> 18.0.0

All libraries are now at their latest version.

Note that the only change to the PG code required is a minor change to
the generate-assets.js script due to a change in the usage of yargs.
Fix several issues with the `contextInteger.pl` macro.
…sion to molecular form, and allow comparisons based on molecular forms, better handling of charges
Fix typo in POD generation of parserCheckboxList.pl
See issue #1301 for details of the changes and examples to test with.
Fix issues with the legacy NumberWithUnits.
The `format_matrix_HTML` method uses `span` tags to format the html
output for matrices. This is a problem when that is used to format the
output for an `ans_array` answer because the answer inputs inside now
are wrapped in `div` tags (so that the feedback button works in a valid
html way).  So this just switches to using `div`s instead.  This doesn't
change the result at all since the containg array layout div already has
`display:inline-block` set.

There is one minor tweak to the style.  I added `text-align:center;` to
the cells.  This just looks better in about all of the cases that I have
observed. Note that this is also consistent with when these objects are
displayed in math mode via MathJax or as an image with the image display
mode.

Note that method is used ans_array matrix, vector, and point answer
rules, as well as the "Entered" feedback preview of the student answer
for those answers. It also affects the "textual" correct answer, but
that actually isn't used for anything anymore.
openwebwork/mathquill#39 and
openwebwork/mathquill#40 have been merged and a
new version of @openwebwork/mathquill have been merged.  This updates to
the newly published version that includes those fixes.
Update the MathQuill version to pull in some fixes.
Fix invalid html for ans_array answers.
This fixes issue #1325.  The change is just what @dpvc suggested.  There
is a MWE posted in the issue.
Fix contextFraction.pl with reduceConstants disabled.
Remove badges that are basically broken.
Change all webwork.maa.org links to openwebwork.org
Alex-Jordan and others added 30 commits June 8, 2026 17:13
The POD is rather heftily rewritten, and there were a lot of issues in
the code that were fixed.  I don't even remember all of them, since I
did this several months ago.

One issue was with the `set_plot_option_aliases` method.  It defined the
aliases with a hash with duplicate keys.  That means only the last one
of the duplicates actually worked. So the definition needed to be
inverted to function right.

Another option was with incorrectly names svg colors.

Also, switch to using the new plots `padding` option instead of using a
multiplier. The `padding` options scales better.

Don't blindly add the `fill => 'self'` option to everything.  Just add
it to things that can be possible filled. In fact, since the
`add_rectangle` method handles this, the `StatisticalPlots.pl` macro
does not need to.

Also, there was quite a bit of general code clean up.
Clean up and fix issues in the `StatisticalPlots.pl` macro.
Add horizontal overflow to `.problem-content` divs and solution and hint bodies.
Rework the `MathJax.typesetPromise` usage.
subMatrix method for Matrix Math Objects
A side effect of #1397 is that output (stdout and stderr) from system
calls is no longer suppressed. This was previously accomplished by
piping the output to `/dev/null`.  However, since those system commands
are no longer executed in a spawned shell, that cannot be done.

This suppresses the output generated by the execution of `dvisvgm` in
`LaTeXImage.pm` by adding the flat `--verbosity=0`.  This is specific to
this call, and errors or output from other system calls will still come
through, but this one is particularly annoying since it occurs when the
unit tests are run, and messes up the results output for the unit tests.
In the `removeRow` and `removeColumn` methods of `lib/Value/Matrix.pm`
check that the index is numeric before using it in a numeric comparison.

This causes warnings when the unit tests are run because the string
comparison is done last, and so the numeric comparisons are performed
with the string input.
Suppress output from `dvisvgm` in `LaTeXImage.pm`.
Check for a numeric value before using numerically.
Developers will need to install and use this version to match the
workflow.

Also update Github workflows to use node 24, and the actions in the
workflows to their newest versions. For now these are still running on
Ubuntu 24.04, since an official runner image for Ubuntu 26.04 has not
been released yet.  Also because there is a runner image, but some of
the rserve unit tests are failing with it.  Note that the rserve tests
are passing on my locak machine running Ubuntu 26.

The docker test build is updated to use Ubuntu 26.04.  The rserve tests
also are passing with this build.
allow empty containers in PGML
fully close most HTML tags in niceTables
don't try to remove a Matrix's only row (or only column)
This changes the feedback buttons in two ways.

1) Use copies of the bootstrap classes to color buttons. This way the
   feedback colors don't get changed by theming on the client side.
   The themes can still modify the actual classes used to change
   the buttons if desired, but the feedback buttons themselves can be
   themed independently of other bootstrap buttons.

2) Create a new feedback class "unknown" to use when showing the
   results of a problem with `$showPartialCorrectAnswers=0`. Currently
   on problems with limited feedback, it can be unclear to the student
   that they actually submitted the answer vs previewed the answer.
   This is accomplished by marking the buttons as incorrect if
   no answer is correct (0% on the problem), and marking them
   as "unknown" which shows a yellow button with a question mark
   in a circle if the problem is partially correct.
`$self` should be `$ans`.  It seems that I changed the third parameter
of the checker from `$self` to the more customary `$ans`, but forgot to
change the usage in the method. Since that is used to skip the adaptive
parameter check when the equivalence message post filter is called, if
you submit an answer that is incorrect, but differs by a constant, and
then submit the correct answer you get the message that "your answer is
equivalent to the previous answer" even though the previous answer was
incorrect, but the current answer is correct.
A missing space in the JSXGraph.pm package causes the `div` for the
JSXGraph image to have invalid attributes. It turns out this is fixed by
the `Mojo::DOM` xml parsing that occurs in the `post_process_content`
phase of the translator, and even if that doesn't fix it most browsers
handle this okay, but HTML validation doesn't like it.  In any case, it
should be fixed.
It should be correct == student.
Fix a minor html validity issue with the plots.pl macro.
Fix a typo in the AdaptiveParameters sample problem.
This add the fill_colors option to the add_barplot method.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants