Difference between revisions of "Release notes for WeBWorK 2.20"

From WeBWorK_wiki
Jump to navigation Jump to search
(Add vulnerability fixes)
 
(4 intermediate revisions by the same user not shown)
Line 4: Line 4:
   
 
== New WeBWorK Features ==
 
== New WeBWorK Features ==
 
  +
* Fix several security vulnerabilities [https://github.com/openwebwork/webwork2/pull/2691], [https://github.com/openwebwork/webwork2/pull/2718], [https://github.com/openwebwork/pg/pull/1219], [https://github.com/openwebwork/pg/pull/1220], [https://github.com/openwebwork/pg/pull/1229]
* Improvements to efficiency of database calls
 
  +
* Improvements to efficiency of database calls ([https://github.com/openwebwork/webwork2/pull/2709], [https://github.com/openwebwork/webwork2/pull/2710], [https://github.com/openwebwork/webwork2/pull/2711], [https://github.com/openwebwork/webwork2/pull/2712], [https://github.com/openwebwork/webwork2/pull/2713], [https://github.com/openwebwork/webwork2/pull/2714], [https://github.com/openwebwork/webwork2/pull/2715])
* Fix a memory leak
 
  +
* Fix a memory leak, which should improve memory usage by WeBWorK processes [https://github.com/openwebwork/webwork2/pull/2703]
* Change student and instructor emails from plain text to HTML
+
* Change student and instructor emails from plain text to HTML [https://github.com/openwebwork/webwork2/pull/2675]
* LTI Section information
+
* Allow the ability to synchronize section information from your Learning Management System when using LTI authentication [https://github.com/openwebwork/webwork2/pull/2700]
* You can now load a problem directly from the Problem Editor, or start with any of the sample problems
+
* You can now load a problem directly from the Problem Editor, or start with any of the sample problems [https://github.com/openwebwork/webwork2/pull/2677]
* Use achievement item form??
+
* Students can now use achievement items directly from the Problem Set page [https://github.com/openwebwork/webwork2/pull/2664]
* Change field types when upgrading database - update tables in admin course
+
* The "Upgrade Courses" feature in Course Administration now checks and fixes additional things:
* Improvements to adding users when creating a new course
+
** Data types of database columns are checked and corrected [https://github.com/openwebwork/webwork2/pull/2650]
* Add the ability to manage secrets for two-factor authentication to the admin interface
+
** Links to standard libraries and problems (Open Problem Library, Contrib, Student Orientation) are added if they are not present. [https://github.com/openwebwork/webwork2/pull/2750]
* More configurability for when grades are sent back to the Learning Management System using LTI
+
* There are now more options for adding users during new course creation (e.g. adding multiple instructors during course creation) [https://github.com/openwebwork/webwork2/pull/2619]
* Update the Shibboleth authentication module to work with the current version of WeBWorK
+
* Add the ability to manage secrets for two-factor authentication to the admin interface [https://github.com/openwebwork/webwork2/pull/2618]
* Fix error in displaying how often grades are sent back to the LMS
+
* More configurability for when grades are sent back to the Learning Management System using LTI [https://github.com/openwebwork/webwork2/pull/2617]
* Problem editor upgraded to CodeMirror 6 - introduces new features - accordioning, text completion
+
* Update the Shibboleth authentication module to work with the current version of WeBWorK [https://github.com/openwebwork/webwork2/pull/2611]
* Add option for LTI 1.3 where students can work on assignments even if they are not linked to the LMS and grade passback is set to homework
+
* Fix error in displaying how often grades are sent back to the LMS [https://github.com/openwebwork/webwork2/pull/2601]
* Importing set definition files with paths to problem files that contain spaces now works
+
* Problem editor upgraded to CodeMirror 6 - introduces new features: accordioning, autocompletion, improved syntax highlighting [https://github.com/openwebwork/webwork2/pull/2595]
  +
* Add option for LTI 1.3 where students can work on assignments even if they are not linked to the LMS and grade passback is set to homework [https://github.com/openwebwork/webwork2/pull/2589]
  +
* Importing set definition files with paths to problem files that contain spaces now works [https://github.com/openwebwork/webwork2/pull/2570]
   
 
== New PG Features and Improvements ==
 
== New PG Features and Improvements ==
   
* Improvements to degree n matrices (https://github.com/openwebwork/pg/pull/1216)
+
* Improvements to degree n matrices (matrices/tensors of more than two dimensions) [https://github.com/openwebwork/pg/pull/1216]
* RServe interface rewritten to no longer require Statistics::R::IO
+
* The interface with Rserve has been rewritten within PG. The `Statistics::R::IO::Rserve` package is no longer required or used [https://github.com/openwebwork/pg/pull/1229]
* Improvements to the GraphTool
+
* Improvements to the GraphTool [https://github.com/openwebwork/pg/pull/1218]
** Tools for polygons
+
** Tools for polygons [https://github.com/openwebwork/pg/pull/1191]
** Sine wave tool added
+
** Sine wave tool added [https://github.com/openwebwork/pg/pull/1157]
** Vector tool
+
** Vector tool added [https://github.com/openwebwork/pg/pull/1195]
** Improvements to fill tool
+
** Improvements to fill tool [https://github.com/openwebwork/pg/pull/1206]
* Improvements to contextReaction.pl (https://github.com/openwebwork/pg/pull/1114)
+
* Improvements to contextReaction.pl [https://github.com/openwebwork/pg/pull/1114]
* New contextExtensions.pl (https://github.com/openwebwork/pg/pull/1106)
+
* New contextExtensions.pl [https://github.com/openwebwork/pg/pull/1106]
** Fraction contexts are now extensions of the parent context (https://github.com/openwebwork/pg/pull/1108)
+
** Fraction contexts are now extensions of the parent context [https://github.com/openwebwork/pg/pull/1108]
** Units now implemented as MathObject classes - contextUnits.pl (https://github.com/openwebwork/pg/pull/1107)
+
** Units now implemented as MathObject classes - contextUnits.pl [https://github.com/openwebwork/pg/pull/1107]
  +
* New plots.pl macro that allows a more modern, more efficient way of generating a wide variety of plots. See documentation at https://webwork.maa.org/pod/pg/macros/graph/plots.html [https://github.com/openwebwork/pg/pull/1245]
   
 
== Breaking changes ==
 
== Breaking changes ==
   
 
* <code>custom_problem_grader_0_60_100</code> has been removed. Problems should be converted to <code>custom_problem_fluid</code>
 
* <code>custom_problem_grader_0_60_100</code> has been removed. Problems should be converted to <code>custom_problem_fluid</code>
* Change in behaviour when comparing a degree 1 matrix and a degree 2 matrix (https://github.com/openwebwork/pg/pull/1227)
+
* Change in behaviour when comparing a degree 1 matrix and a degree 2 matrix [https://github.com/openwebwork/pg/pull/1227]
   
 
== Deprecated Functionality ==
 
== Deprecated Functionality ==
   
* TODO
 
  +
== Updated Dependencies ==
  +
* It is recommended to install <code>Cpanel::JSON::XS</code>
  +
* Any version of <code>perltidy</code>
  +
* Several perl packages are no longer required, and can be removed from your system
  +
** Array::Utils
  +
** Email::Sender::Simple
  +
** HTML::Tagset
  +
** HTML::Template
  +
** IO::Socket::SSL
  +
** JSON
  +
** JSON::MaybeXS
  +
** Net::LDAPS
  +
** Net::SMTP
  +
** Net::SSLeay
  +
** Padwalker
  +
** Path::Class
  +
** Safe
  +
** Statistics::R::IO
  +
** Template
   
 
== Upgrade Instructions ==
 
== Upgrade Instructions ==

Latest revision as of 19:02, 20 June 2025

Construction.png This article is under construction. Use the information herein with caution until this message is removed.
Warning : This page should be considered incomplete until the release of 2.20 has been announced

New WeBWorK Features

  • Fix several security vulnerabilities [1], [2], [3], [4], [5]
  • Improvements to efficiency of database calls ([6], [7], [8], [9], [10], [11], [12])
  • Fix a memory leak, which should improve memory usage by WeBWorK processes [13]
  • Change student and instructor emails from plain text to HTML [14]
  • Allow the ability to synchronize section information from your Learning Management System when using LTI authentication [15]
  • You can now load a problem directly from the Problem Editor, or start with any of the sample problems [16]
  • Students can now use achievement items directly from the Problem Set page [17]
  • The "Upgrade Courses" feature in Course Administration now checks and fixes additional things:
    • Data types of database columns are checked and corrected [18]
    • Links to standard libraries and problems (Open Problem Library, Contrib, Student Orientation) are added if they are not present. [19]
  • There are now more options for adding users during new course creation (e.g. adding multiple instructors during course creation) [20]
  • Add the ability to manage secrets for two-factor authentication to the admin interface [21]
  • More configurability for when grades are sent back to the Learning Management System using LTI [22]
  • Update the Shibboleth authentication module to work with the current version of WeBWorK [23]
  • Fix error in displaying how often grades are sent back to the LMS [24]
  • Problem editor upgraded to CodeMirror 6 - introduces new features: accordioning, autocompletion, improved syntax highlighting [25]
  • Add option for LTI 1.3 where students can work on assignments even if they are not linked to the LMS and grade passback is set to homework [26]
  • Importing set definition files with paths to problem files that contain spaces now works [27]

New PG Features and Improvements

  • Improvements to degree n matrices (matrices/tensors of more than two dimensions) [28]
  • The interface with Rserve has been rewritten within PG. The `Statistics::R::IO::Rserve` package is no longer required or used [29]
  • Improvements to the GraphTool [30]
    • Tools for polygons [31]
    • Sine wave tool added [32]
    • Vector tool added [33]
    • Improvements to fill tool [34]
  • Improvements to contextReaction.pl [35]
  • New contextExtensions.pl [36]
    • Fraction contexts are now extensions of the parent context [37]
    • Units now implemented as MathObject classes - contextUnits.pl [38]
  • New plots.pl macro that allows a more modern, more efficient way of generating a wide variety of plots. See documentation at https://webwork.maa.org/pod/pg/macros/graph/plots.html [39]

Breaking changes

  • custom_problem_grader_0_60_100 has been removed. Problems should be converted to custom_problem_fluid
  • Change in behaviour when comparing a degree 1 matrix and a degree 2 matrix [40]

Deprecated Functionality

Updated Dependencies

  • It is recommended to install Cpanel::JSON::XS
  • Any version of perltidy
  • Several perl packages are no longer required, and can be removed from your system
    • Array::Utils
    • Email::Sender::Simple
    • HTML::Tagset
    • HTML::Template
    • IO::Socket::SSL
    • JSON
    • JSON::MaybeXS
    • Net::LDAPS
    • Net::SMTP
    • Net::SSLeay
    • Padwalker
    • Path::Class
    • Safe
    • Statistics::R::IO
    • Template

Upgrade Instructions

  • First update the webwork2 and pg code. For this run
    > cd /opt/webwork/webwork2
    > git fetch origin
    > git checkout WeBWorK-2.20
    > git pull
    > cd /opt/webwork/pg
    > git fetch origin
    > git checkout PG-2.20
    > git pull
  • Update the javascript and css assets for webwork2 and pg with
    > cd /opt/webwork/webwork2/htdocs
    > npm ci
    > cd /opt/webwork/pg/htdocs
    > npm ci
  • Run bin/check_modules.pl to ensure you have all programs/modules (although there are no new dependencies for this release).
  • Restart the webwork2 server: >sudo systemctl restart webwork2
  • If you use the webwork2 job queue, then that will also need to be restarted. Do that with: >sudo systemctl restart webwork2-job-queue
  • You should update the modelCourse via: rsync -av /opt/webwork/webwork2/courses.dist/modelCourse/ /opt/webwork/courses/modelCourse/
  • Upgrade the admin course by executing the upgrade_admin_db.pl script.
  • Make sure to upgrade courses from the admin course to relegate changes to the database.