# Release notes for PG 2.3.1

 This article has been retained as a historical document. It is not up-to-date and the formatting may be lacking. Use the information herein with caution.

## Introduction

The WeBWorKTeam is pleased to announce the release of PG 2.3.1. This release builds on PG 2.3.0, adding several bug fixes and low-impact feature enhancements. Changes include:

• Allow the _check subroutine in the BOP and UOP classes to affect the isConstant property.
• Allow matrices to set their own templates (instead of using "c" for all columns), and handle missing open and close delimiters better.
• Fixed unit checking so that units can include spaces (like 4 ft / min). Also fixed a problem where units were not being reported as part of the student's entered answer.
• Fix problem with formula comparisons involving vector-valued formulas. The coordinates for the vectors used in checking equality were plain Perl reals rather than Parser-based reals, and so the comparisons were being done using exact rather than fuzzy comparisons.
• Make vector ijk mode use the TeX definitions from the i, j and k constants as defined in the context, if they exist, otherwise fall back on the defaults.
• Fixed problem where a zero with units would me marked as "not looking like a number with units".
• Fixed bad check for if the complex number is 1, which caused the reduce function to incorrectly remove the complex number when used in multiplication.
• Improve error handling in the PGasu.pl macro package.
• Fixed a problem with function checking when vars are specified with limits and the vars are not in alphabetical order. (The Parser expects the limits and test points to have coordinates specified in alphabetical order, so they need to be reordered if the author has them in another order.)
• Use \cdot when a number is followed by a numeric fraction. (See %BUG{1114}%.)
• Fixed a problem with checking Matrices of dimension 1 ╳ n. (See %BUG{1122}%.)
• Fixed a problem where str_cmp would not accept blank answers. (See %BUG{1123}%.) Note that the "n questions remain unanswered" message will give away how many blank entries there are supposed to be, so there is not really much point in using it.
• Fixed a problem where email could not be sent from PG problems.
• Allow overridden Parser classes to generate error messages that the student will see. (For formulas, error messages are trapped silently by the overridden == and will not be seen. This lets Parser objects force a message to be seen.)
• Updated NumberWithUnits to use Parser::Legacy::NumberWithUnits rather than having a separate implementation here. This will guarantee that it is consistent with num_cmp() and prevents unneeded duplication of code.
• Fixed a problem where the TeX version included two copies of the units (one in TeX mode and one from the string() output).
• Security: Tighten constraints on which macro files can be loaded without restriction. Previously, any macro file whose name contained the strings dangerousMacros.pl, PG.pl, or IO.pl would be loaded without restriction.

## Installation

Refer to InstallationManualV2pt3. This document covers installation and upgrading of both WeBWorK and PG.

## Help

If you need help installing or using PG, visit the WeBWorK discussion group and post your question there. The developers and many experienced WeBWorK users monitor this forum.

## Bug Reports & Feature Requests

Please submit bug reports and feature requests at http://bugs.webwork.rochester.edu/.

-- Main.SamHathaway - 03 Nov 2006