Difference between revisions of "Release notes for WeBWorK 2.4.5"

From WeBWorK_wiki
Jump to navigation Jump to search
Line 63: Line 63:
 
that I'll have to take care of as they appear. It passes my test
 
that I'll have to take care of as they appear. It passes my test
 
suite, however, so I'm hoping they will be limited.
 
suite, however, so I'm hoping they will be limited.
  +
  +
* memory leak
  +
  +
Formula objects and Context objects contain reference loops, which
  +
prevent them from being freed properly by perl when they are no longer
  +
needed. This is a source of an important memory leak in WeBWorK. The
  +
problem has been fixed by using Scalar::Util::weaken for these
  +
recursive references, so these objects can be freed properly when they
  +
go out of scope. This should cause an improvement in the memory usage
  +
of the httpd child processes.
   
 
===== macros =====
 
===== macros =====

Revision as of 11:55, 24 June 2008

                                     WeBWorK                                    
                         Online Homework Delivery System                        
                                  Version 2.4.5.x                                 

                    Copyright 2000-2007, The WeBWorK Project                    
                              All rights reserved.                              

Details
-------

Release date: 2008 ?? July
CVS tag: rel-2-4-5 (.1)?
CVS branch: rel-2-4-patches
(the rel-2-4-dev is no longer being kept up to date)


Changes since 2.4.1

Major changes

PG

  • ability to override some of the parameters of the object's context is now inherited.

The following sets the relative tolerance of $x to 1 per cent. (See details in next section)

     $x = Real(1)=>with(tolerance=>.01);
     $y = sin($x);

$y will also have tolerance set to .01.

  • Diagnostics works in the Complex context (for plotting real valued functions)
$formula->cmp(diagnostics=>1);
  • Point context no longer includes vector operations
  • Memory leak in Formula fixed. (since revision 1.59)
  • Allow interval data to be given in more forms (eg, (a,b,"(",")") in addition to ("(",a,b,")"), since that is the order that the value() method returns the data.)
  • Added another context flag (ijkAnyDimension) that controls whether

vectors in ijk notation will conform to whatever dimension is used by the vector they are being compared to. When set, i+2*j will equal <1,2> even though i and j are vectors in 3-space. The value of ijkAnyDimension is 1 by default. This eliminates the need for the Vector2D context.

  • BEGIN_HINT/END_HINT, BEGIN_SOLUTION/END_SOLUTION now work like BEGIN_TEXT/END_TEXT. Hints are shown after a certain number of tries, and solutions are shown after the answers available date.

WeBWorK2

Other significant changes

PG

lib
  • ability to override some of the parameters of the object's context is now inherited.
The make() method now inherits all the settings of the parent object,
so that flags set by the user (e.g., tolerances, periods, and so on)
will be passed on as new objects are created.  For example, in

     $x = Real(1)=>with(tolerance=>.0001);
     $y = sin($x);

$y will also have tolerance set to .0001.

This also applies to binary operations, where the result will now
inherit all the values of either operand, with the left-hand operand
taking precedence when they both have a flag set but to different
values.

This is a significant change, and there may be unforeseen side effects
that I'll have to take care of as they appear.  It passes my test
suite, however, so I'm hoping they will be limited.
  • memory leak
Formula objects and Context objects contain reference loops, which
prevent them from being freed properly by perl when they are no longer
needed.  This is a source of an important memory leak in WeBWorK.  The
problem has been fixed by using Scalar::Util::weaken for these
recursive references, so these objects can be freed properly when they
go out of scope.  This should cause an improvement in the memory usage
of the httpd child processes.
macros
doc

WeBWorK2

Upgrade instructions

Upgrading from 2.4.1

Upgrading from 2.4.0

--------------------

Before beginning, back up your WeBWorK database and course directories.

To update WeBWorK to exactly 2.4.1, use the following commands:

cd /opt/webwork/webwork2
cvs -q up -dP -rrel-2-4-1

To update WeBWorK to the "tip" of the 2.4.x branch, which is mostly stable and
includes bug fixes and new features before they are officially released, use the
following commands:

cd /opt/webwork/webwork2
cvs -q up -dP -rrel-2-4-dev

If you are using the National Problem Library, re-run bin/NPL-update to update
the database format to the latest version.

No database changes occurred between 2.4.0 and 2.4.1, so running bin/wwdb_upgrade
is not necessary. No configuration file changes occurred between 

Upgrading from 2.3.x

--------------------

Before beginning, back up your WeBWorK database and course directories.

To update WeBWorK to exactly 2.4.1, use the following commands:

cd /opt/webwork/webwork2
cvs -q up -dP -rrel-2-4-1

To update WeBWorK to the "tip" of the 2.4.x branch, which is mostly stable and
includes bug fixes and new features before they are officially released, use the
following commands:

cd /opt/webwork/webwork2
cvs -q up -dP -rrel-2-4-dev

Merge changes from global.conf.dist, database.conf.dist, and
webwork.apache-config (if you are using Apache 1) or webwork.apache2-config (if
you are using Apache 2) into your configuration files.

Run bin/wwdb_upgrade -v to upgrade your database. If you receive errors about
modelCourse it is OK to go on -- modelCourse is not a real course.

If you are using the National Problem Library, the loadDB2 script in the
database_problems directory has been replaced with a new bin/NPL-update script
in the main webwork2 distribution. The problem library metadata is now stored
within the main webwork database. Run bin/NPL-update to load the problem
metadata into the its new location. It is safe to remove the separate
ProblemLibrary database.

Upgrading from 2.2.x

--------------------

Make sure you are using the sql_single database layout for all the courses you
wish to continue to use. After you upgrade, courses using other database
layouts will be inaccessible. Move non-sql_single courses out of your courses
directory.

The standard directory layout of WeBWorK has changed since 2.2.x. We now suggest
that you place the webwork2 directory, as well as the pg, courses, and
libraries, directories in /opt/webwork rather than in /opt.

To update WeBWorK to exactly 2.4.1, use the following commands:

cd /opt/webwork/webwork2
cvs -q up -dP -rrel-2-4-1

To update WeBWorK to the "tip" of the 2.4.x branch, which is mostly stable and
includes bug fixes and new features before they are officially released, use the
following commands:

cd /opt/webwork/webwork2
cvs -q up -dP -rrel-2-4-dev

Merge changes from global.conf.dist, database.conf.dist, and
webwork.apache-config into your configuration files.

Run bin/wwdb_check -v to verify that your database is up-to-date for version
2.3.0 (the first version that included automated database upgrades). Then run
bin/wwdb_upgrade -v to upgrade to bring your database up-to-date for version
2.4.1.

Getting help
------------

The best place to get support is in the WeBWorK discussion forums located at:
http://webwork.maa.org/moodle/course/view.php?id=2

To report bugs:
http://bugs.webwork.rochester.edu/

Lots of WeBWorK documentation:
http://webwork.maa.org/wiki/