
This changelog file only registers (part of) changes to the server programs.

---------------------------------------------
Version 3.28 packed.
2003-03-25: Createxo open to class participants.
2003-03-23: Link between vote and access control.
	    User property changes: !setdef instead of !writefile.
2003-03-22: Vote system for virtual classes.
2003-03-21: A series of French documents submitted by B. Perrin-Riou et al.
2003-03-18: hint disallowed during exam.
	    cookie disorder in exams when cookies are activated in classlock.
2003-03-15: !values added ... for v in v1,v2,v3,...
	    `!random a,b repeat n' and `!randint a,b repeat n'.
2003-03-14: erf() and erfc() added to evalue().
2003-03-13: numerical integration in OEF/DOC now uses romberg() in MAXIMA.
2003-03-12: User asking for unavailable language provokes internal error.
	    !rawmath was adding spurious () after function names.
2003-03-11: New OEF reply types: checkbox, click, menu, radio.
2003-03-09: Supervisor now allowed to import public OEF exercises.
2003-03-08: Use cpp to process pre-source OEF and DED.
2003-03-07: Internal: added cutfor() for calc_solve() and calc_values().
2003-03-06: Variable name substitution in !values.
2003-03-05: Rapidfire requests for printed versions are disabled.
2003-02-28: WIMS now refuses to process executable files.
	    slib indexing and documentation.
2003-02-21: New reply type to OEF: chset.
2003-02-20: Fixed: segfault when HTTP_USER_AGENT is not defined.
	    Dynamic insertion in mhelp was in conflit with parent session.
	    Document pages requiring preserved \(...) recompiled.
	    slib structure added.
2003-02-17: More dependency program checks are included in maintenance tool.
2003-02-15: items2words() now respects parentheses-protected commas.
2003-02-13: user_error while outputing was not sent out.
	    getins w/o file name provoked segfault.
2003-02-12: Recognition of x', y'', etc. in formula processing.
2003-02-11: New reply types to OEF: fset and aset.
2003-02-10: Double call to authdelay when auth starts using user=...: auth always failed.
2003-02-08: texmath() bug for matrix exponentials.
2003-02-06: 2 wrong pointers in online maintenance page.
2003-02-05: Class document accessibility was not checked.
	    mhelp within subsession did not work.
	    Timing facilities added to OEF manager.
2003-02-03: More countermeasures against rapidfire exercise requests.
	    forum thread navigation bug fixed.
---------------------------------------------
Version 3.26 packed.
2003-01-26: forum/mboard/scripts/quote.sh was using m_* variables (no longer available).
2003-01-25: added umask(022) at the beginning of wims.
2003-01-24: bin/ins???..processor were erased by 'make distclean'.
2003-01-22: webget connection restrictions.
	    Delay for wrong user authentification: 5 seconds.
2003-01-21: Error messages are shown in the page when insert fails.
2003-01-20: Countermeasures against rapidfire exercise requests within worksheets.
2003-01-19: Missing software now generates user error.
2003-01-18: Library functions: filelength() and catfile().
	    modtool accepts OEF and Deductio modules.
	    mkpopular modification: accounting of different languages are now mixed.
2003-01-09: Output delayed to the end of the processing, using last.phtml.
	    Grouped execution of instex.
2003-01-07: OEF tex format $ translation bug fixed.
2003-01-06: evalue_compile() bug fixed (recognition of scientific notations).
2003-01-03: insmath_logic starts to work.
2002-12-30: mathexp now uses regex for conditional extract.
2002-12-20: configure: static link now checks existence of static library.
---------------------------------------------
Version 3.24 packed.
2002-12-01: Some bin programs switched to static linking, accelerating execution.
2002-11-28: Deductio starts.
2002-11-23: Maxima multiexec now uses line by line method.
2002-11-21: Cookies were interfering with popup mode.
2002-11-12: \(..) usedynamic bug fixed (several insmath in a same line).
2002-11-02: `!if .. issametext ..' was case-sensitive.
2002-11-01: latex2html (2002-1) fails when TMPDIR is set: unset before calling latex2html.
2002-10-31: oef2wims bug: file size limited to 16K.
	    oef2wims starts to print error messages.
2002-10-24: Score counting: new and hint are separated.
	    \help added to OEF.
2002-10-21: WebCopier is a very bad browser.
2002-10-20: Cleaned treatment of special characters in oef and doc.
2002-10-17: Takes care of response header fields 'Server:' and 'Status:'.
2002-10-16: Links for class authentification moved to adm/class/classes.
2002-10-14: \(...) usable in parameters and prompts of OEF.
2002-10-13: Fixed multiple folding bug in doc.
2002-10-10: Updates in Italian translation (Marina Cazzola).
	    Current server activities in online maintenance tool.
2002-10-08: Replaced [ ... -a ... ] and [ ... -o ... ] in shell scripts.
	    #!/bin/sh replaced by #! /bin/sh in shell scripts.
2002-10-07: oef2wims added mdef method (internal use only).
2002-10-06: Rational datatype activated in OEF and DOC using pari,
	    and complex datatype modified ('*' no longer translated to ' ').
2002-10-05: Bug in _subword(): strcpy() passes over string end.
	    Bug in user importation page (neighboring classes).
	    Bug in exo importation (when the importing class has no exo).
2002-10-04: Introduced configurable parameter default_anim_format (gif/mng).
2002-10-02: Extension and configurability of login/password limitations.
---------------------------------------------
Version 3.22 packed.
2002-09-30: Makefiles rewriting: whildcards, check before strip.
2002-09-29: Build options (dynamic, units, chemeq) added to configure.
2002-09-28: strtok() no longer used.
	    PATH definition is now dynamic.
2002-09-27: Portability to case-insensitive file systems.
	    Score dependency is deactivated when scoring is closed (sheets).
2002-09-26: Starts to use autoconf. Some first portability declarations.
	    Added `make distclean'.
2002-09-24: Link to Modtool in virtual classes.
2002-09-23: File deposit length limit can now be increased
	    independent of QUERY_STRING_LIMIT.
2002-09-22: Use internal variable manager; important acceleration.
	    $module_about is now only prepared when cmd=help.
	    Style sheet defaults to justify.
2002-09-21: string_modify(), substit() and float2str() cleaned and accelerated.
	    SUBST_LIMIT has changed meaning: now limit of nesting levels.
	    texgif acceleration: call_sh() -> execredirected().
	    Now tex is executed by safe uid.
	    oef and doc now makes use of static instex.
	    Added utility script 'oefcompile'.
2002-09-20: OEF variable number limit grows to 1024.
2002-09-19: Math middle alignment floats back, and prepared for configurability.
	    pari/gp temporary directory now correctly set.
2002-09-18: Fixed document indexing bug in distributions.
	    OEF manager variable saving method reorganized.
	    Number of replies and choices increased to 20 each.
2002-09-16: multiexec installed (only effective on ELF-interfaced programs).
	    The method of waitpid(..,..,WNOHAND) was wasting lots of cpu load.
	    Replaced by alarm(). Global time limit is also installed, with
	    a new module error message (timeup).
2002-09-15: exec_exec() removed (unnecessary).
	    !sh will no longer output when not outputing.
2002-09-14: Interfaces: added common.c.
	    Interfaces: illegal names are renamed instead of refused.
	    Interface to pari/gp: compatibility with version 1 deplecated.
2002-09-12: Mirror list update.
2002-09-11: Child process not loaded if no time left.
	    Post-reply variable processing in OEF exercises.
2002-09-10: Mirror site list accepts https sites.
---------------------------------------------
Version 3.20 packed.
2002-09-09: substitution forgotton in !text reverse.
2002-09-08: Absolute execution time limit to child processes.
	    Middle alignment of instex floates back to base.
2002-09-07: Bug in !htmlmath: e^-(2x) => e<sup>(2x</sup>.
2002-09-06: !solve did not accept substitution in variable name.
2002-09-02: Added configurable virtual class connection locks.
2002-09-01: Session cookies activated (configurable).
	    user_agent change within a session is now disallowed.
2002-08-31: Added class logo configuration.
	    Secure hosts added to class creation tool.
	    imagedir bug in OEF printable version (almost) repaired.
2002-08-30: Homepages header technical reorganization.
	    Modules: <input><br> --> <input> <br> to patch netscape justify bug.
	    Exam js clock bug fix (empty variable).
	    Homepage menu links (new, forum, ...) always pointed to English version.
2002-08-29: Appearance configuration (bgimg, css) for virtual classes.
	    background image file generator.
2002-08-28: Site-wide css definitions.
	    mhelpheader.phtml refined.
2002-08-27: Config parameter class_regpass is activated, for class creation rights.
	    page bgcolor becomes globally configurable via page_bgcolor.
	    Site-configurable background image files.
	    Presentation setup now also applies to homepage.
2002-08-08: Added program huffman (variable length encoding).
2002-08-07: Added internal variable wims_developer to keep developer authentification.
2002-07-31: Added variable wims_htmlbody. Global page modifications using it.
2002-07-27: More strict name check in file deposits.
	    Developer account management added to online site manager.
	    useropts now kept in user definition files (in virtual classes).
	    Change background colors for virtual classes.
2002-07-25: File deposit in Createxo (within virtual classes).
2002-07-23: Mirroring virtual classes.
2002-07-22: Interface to Yacas.
2002-07-20: Direct connection interface with other web servers.
2002-07-18: More variables for document page replacements in virtual classes.
2002-07-17: added exec_sh (was using calc_sh).
2002-07-16: adm/ subdirectory in scripts/ only accessible to trusted modules.
	    Direct link for editing work sheet presentation page.
	    Modify class property by site manager erased supervisor password.
2002-07-15: EmailSiphon is a very bad browser.
	    https added to webget (depends on openssl).
	    OEF wlist input bug (a line of code is missing).
2002-07-09: gifs directory opens for read by insdraw.
2002-07-07: oef2wims bug fix: nested \for variable set, multi-line variables.
	    General tool link available to class participants.
2002-07-03: \step enters into feedback conditions.
2002-07-02: big/small endian bug fixed in texgif (tfm.c)
---------------------------------------------
Version 3.18 packed.
2002-06-29: added class_quota, doc_quota, class_regpass, doc_regpass to config.
	    Disk quota system for documents and classes.
	    File deposits in documents.
2002-06-25: Score dependencies in exam sheets.
2002-06-23: Score dependencies in work sheets.
2002-06-22: Possibility to replace virtual class user pages by document blocks.
2002-06-19: Multi-step answers in OEF.
2002-06-17: \if and \for added to OEF syntax.
2002-06-14: doc: parameter substitution forgotten in \link, \embed and \target.
2002-06-13: sh script trying strict conformity: $[...] -> $((...))
2002-06-09: Neighboring classes: exercise importation bug fixed.
	    Exam page deactivated when try number is exhausted.
	    Erase sharing links when erasing an expired class.
2002-06-07: Reset variables in oef printable version, between each exercise.
2002-06-01: ins_limit default lifted to 150.
	    Italicized letters in htmlmath.
	    Rationalization and acceleration of !insmath.
	    Cleaning old instex pictures in housekeep.daily
2002-05-31: Reusability of static instex.
2002-05-30: Automatic recognition of LaTeX source in texgif (rudimentary).
	    LaTeX source submission in documents (relies on LaTeX2HTML).
2002-05-29: user_log() => segfault on public sheet (classe=NULL)
2002-05-28: Createxo.fr raw mode was not updated ?!
	    createxo (en,fr): erase old submit.def before generating new one.
2002-05-26: added !solve.
	    Virtual classes: comparison with average scores by participants.
2002-05-25: OEF reply and choice order is now changeable by author.
	    Embedded replies in OEF manager.
2002-05-23: Static and dynamic compilations.
2002-05-22: Parent session erasure bug during exam.
2002-05-21: Opera added to good agent list.
---------------------------------------------
Version 3.16 packed.
2002-05-20: Added activity statistics for virtual classes.
2002-05-13: Bug fix: exam simulation was prohibited by class-wide restriction.
	    Added !values, !leveldata.
2002-05-11: Added evalue_compile(), levelcurve().
2002-05-10: Code reorganization: start using dynamic libwims.
2002-05-06: Modtool added backup and restore.
2002-04-27: Curve comparing program: curvecomp.
2002-04-25: java input applet.
2002-04-24: Document-wide header definition.
	    Added alt= to instex.
2002-04-23: insplot bug: insplot_data was not reachable from another request.
2002-04-18: New message alert in virtual classes.
2002-04-16: Erase documents by authors.
---------------------------------------------
Version 3.14 packed.
2002-04-14: New comparison relations: issametext, issamecase
2002-04-12: Font color in dvigif (via \special{color=...}).
2002-04-11: Subscription bug fixed in htmlmath() and texmath().
	    special functions in oef2wims and msg2wims unified.
2002-04-07: added !readproc.
2002-04-06: \form, \if and \for available for documents.
	    added !row, !rowcnt, !randrow ... (internal and undocumented).
	    added !text reverse
2002-04-05: Documents now accept parameters (parm1..parm20).
2002-04-04: Exam interface re-designed: no need to register, etc.
	    OEF reply conditions and feedback tests accept special functions.
	    cleaning() includes tmp/sessions directory.
	    flydraw moved to other/bin, for secured execution.
	    OEF and doc draw accept animations.
2002-04-01: OEF input analyzing scripts moved to public place.
2002-03-30: Some remaining calls to isfinite() changed to finite().
	    Trying to define a NAN for systems having no such definition.
	    Added !select (for columns/rows) and !column.
2002-03-27: exec security enhancement via wrap..exec.
---------------------------------------------
Version 3.12 packed.
2002-03-18: OEF atext input added relevancy check.
2002-03-13: Patch for gd 1.2: border check in filltoborder.
2002-03-12: Createxo reinput forgotten in raw mode.
2002-03-05: Hidden variables in function reply (items 2 and up).
2002-03-04: \draw in documents did not accept parameters.
2002-03-01: Added simplify() to OEF and doc syntax.
2002-02-28: OEF units input manager bug fix.
2002-02-27: Erasing some unused commands: splitlines, ...
	    Security enhancements in commands.
2002-02-23: Direct texgif, bypassing gs.
2002-02-17: Typo in oef2wims: statement processing stopped after \draw.
2002-02-15: Added randomrow and randomitem to OEF and doc syntax.
2002-02-14: Createxo multiple choice fields reinput typo.
---------------------------------------------
Version 3.11 packed.
2002-02-11: oef2wims: translation of ! distroys comparison conditions.
2002-02-10: Added type case, nocase, atext, wlist to OEF input.
2002-02-08: Added matrix, \rows, \row to OEF and doc syntax.
2002-02-06: Modtool authentification bug fixed.
	    condition tester accepts || and &&.
2002-02-05: Fixed mhelp session bug when caller is a subsession.
2002-02-04: !shuffle can now directly shuffle lists.
	    OEF manager added printable version.
	    Fixed variable order bug in sheet printable version (executed statement).
2002-02-02: Direct authentification with password (home module only).
2002-01-31: Dynamic drawings in documents and OEF exercises.
2002-01-29: Site document secret codes were included in distribution.
2002-01-28: Date error: Popularity counts were reversed.
2002-01-23: Bug in class user registration: firstn, lastn, email becomes litteral.
2002-01-22: Appearance modification allowed for active worksheets.
2002-01-21: Bug in sheet manager: good sheet erased in special circumstances.
---------------------------------------------
Version 3.10 packed.
2002-01-14: rpm packages (i386-Linux).
2002-01-10: Class management by site manager.
2002-01-05: Printable version of worksheets.
	    oef2wims: `!' becomes litteral.
2002-01-04: Erase messages by forum supervisor.
2002-01-02: Class forum moved to class directory.
2002-01-01: Class authentification method changed (now use adm/class/classes)
		Limited compatibility in the home module.
	    Change class within neighboring virtual classes.
	    Added !sh.
2001-12-30: Neighboring classes: resource importation and sharing.
	    `>&/dev/null' replaced by `&>/dev/null' in shell scripts.
2001-12-28: Added !restart (change module). For trusted modules.
2001-12-26: Virtual class selective backup and restoration.
	    Online configuration of virtual classes.
2001-12-24: added !defread (non-documented).
2001-12-23: Added checkhost() and !checkhost (non-documented).
	    Definition of secure hosts for class supervisors.
2001-12-22: Security enhancement in class/forum/doc registration managements
		(special characters).
2001-12-21: Spreadsheet link in virtual classes (English and French).
2001-12-19: WIMS changes name extension at dynamic insertion.
	    Added command `getfile'. All files are application/octet-stream.
		For trusted modules, non-documented.
2001-12-18: added !setdef (trusted modules only).
	    Change participant properties by class supervisors.
	    Recover deleted participants. Add user by supervisor.
	    !filelist must use call_sh() instead of call_ssh(), for pathname expansion.
2001-12-16: Normalisation in support software configuration parameters.
2001-12-14: Virtual class changed to version 3: file locations moved.
	    Query strings added `+' after `&' (to avoid browser translation).
2001-12-13: OEF now accepts \feedback. (Thanks to a suggestion of Jan Hlavacek.)
2001-12-12: Content selection in OEF intro page.
2001-12-11: oef2wims format now defaults to html (was tex). No effect on
		existing resources.
	    Auto math formatting available in oef2wims.
	    OEF exercises with no reply accepted.
2001-12-10: Popup help mode.
2001-12-09: Apache configuration automation with new aliases.
		WIMS can now be called outside user space.
	    RPM packaging starts to work (with home directory relocation).
	    Binary directories clean up.
2001-12-08: Configuration parameters cleaning up and online configuration.
2001-12-06: Document manager accepts file contents.
2001-12-05: File submission mechanism (for trusted modules).
2001-12-04: File permission check by site manager.
	    Request length limit quartupled (256K), for file submissions.
2001-12-02: WIMS document manager is ready.
2001-12-01: Added !defof.
2000-11-30: !item counting was wrong when first got item is empty.
	    Added !reinput. Createxo reinforced using !reinput.
2000-11-29: Site manager authorization for online site maintenance.
2000-11-28: Some more compatibility fixups in instex.
	    Added !detag.
2001-11-27: Forbidden user variables now silently ignored instead of
		generating user error (allow_violation).
	    Browsers are translating & strings when a text is put into a
		textarea. Createxo now corrects this (still partial).
2001-11-23: msg2wims was not in global makefile.
2001-11-18: Reorganization of front page.
	    Added default about page.
	    Instex was incompatible with Konqueror: use -coalesce
2001-11-11: Added site browsing module (en, fr).
2001-11-10: Module indexing protocol changed (more condensed).
	    More home search facilities.
2001-11-08: Search tool category in home page can also give popup forms.
---------------------------------------------
Version 3.01 packed.
2001-10-31: Facilities to recover lost exam session.
2001-10-27: public_html/scripts now holds files that can be called by any
	    module via !read.
---------------------------------------------
Version 3.00 packed.
2001-08-16: OEF manager added two options (allchoices and idontknow).
2001-08-15: home page lists added starting point.
2001-06-28: time bug: `now' was volatile!
---------------------------------------------
Version 2.45 packed. (Devel. version)
2001-06-25: Added `all module' search category.
2001-06-23: Code cleaning: fopen() -> accessfile() at many places.
2001-06-22: Fixups and enhancements in exam sheet management.
2001-06-20: Global score restriction in virtual classes.
	    Score time restriction in virtual classes.
	    Uniformize get-current-time in main program.
	    Typo: current score was not whown when exo number >10.
2001-06-18: Public work sheet database.
2001-06-17: Delete file in Modtool.
2001-06-15: Uniformized search engine from home page.
2001-06-12: Main program changes name (webmath -> wims).
2001-06-09: several call_sh() switched to call_ssh().
2001-06-07: Direct module indexer starts to work (w/o pgsql).
2001-06-02: Referencing error when wims.conf is missing.
	    Facility for automatic download of new distribution (wimsget).
2001-06-01: Several source configuration bugs.
	    Score counting change: prohibit simultaneous scoring. (This is not
	    100% compatible with earlier data due to parmreg.)
2001-05-30: gif_crop and chem-eq do not compile under new Linux. Removed from
            Makefile.
2001-05-28: added Modtool (online development of modules).
2001-05-10: WIMS can now also work behind https.
2001-05-01: Added configuration parameter gnuplot_format.
2001-04-21: OEF manager added equation reply type.
---------------------------------------------
Version 2.42 packed.
2001-04-02: reguser typo fixed.
2001-04-02: Added class_log() (security measure in virtual classes).
2001-03-31: All Wims popup windows are now chromeless (javascript).
2001-03-30: Security in virtual classes: one-time personal passwords.
	    Session closed when user quits the class.
	    (English and French versions only)
2001-03-24: Security in virtual classes: new user cannot use 
	    account names where an erased user has worked.
2001-03-19: Popup operating mode allowing people to embed Wims tools into
	    their own web pages w/o installing the server.
2001-03-18: itemnum() counted wrong when first item is enclosed list.
2001-03-17: Students could see hidden sheets by directly typing url addresses.
	    !replace added keyword `internal'.
	    Popup windows are now focused using javascript.
	    Added !nonempty (lines or items).
2001-03-09: msg2wims was not compiling.
2001-03-08: variable reset bug in OEF manager (replytype).
---------------------------------------------
Version 2.41 packed.
2001-03-02: Virtual classes: ignore user scores with very low average.
2001-03-01: Spanish translation (kernel+douzen tools) by Jos Maria Sanchez.
2001-02-26: parameter blocking in virtual classes had corrupt variables.
2001-02-15: Typo in plot command of flydraw.
---------------------------------------------
Version 2.40 packed.
2001-02-06: Forum user registration email was sent to wrong address.
---------------------------------------------
Version 2.39 packed (internal).
2000-12-08: !translate added keyword `internal'.
2000-11-30: regclass starting (very unsufficient) anti-abuse feature.
2000-11-28: !text expand divided by 0 when mask is empty.
2000-11-24: Added some more TeX mathfonts (ldots, ddots, vdots).
2000-11-23: Corrected translator bug when one dictionary item is
	    subword of another.
2000-11-22: translator now accepts suffix translation (before main translation).
2000-11-21: search_list => segfault when table is empty.
2000-11-20: Added priority site configuration.
	    Encyclopedia now defaults to internal.
2000-11-14: Databases (dictionary, fortune) were omitted in the package.
---------------------------------------------
Version 2.37 packed.
2000-11-13: Source code location changed (ftp service closed by firewall).
2000-11-11: Added shortpath.c, computing shortest path linking given points.
2000-11-07: Reference to Maxima updated.
---------------------------------------------
Version 2.36 packed.
2000-11-07: Italian version added (thanks to Marina Cazzola).
2000-10-30: name substitution added in !exchange.
2000-10-03: pointer to Plouffe's inverter updated.
2000-09-10: !replace entered infinite loop when to-replace string is empty.
2000-09-05: fixing some bad references in virtual classes.
---------------------------------------------
Version 2.35 packed.
2000-08-28: exam structure in virtual classes.
2000-08-16: housekeep must use wrapexec.
2000-08-14: Modif to bin/{pari,povray}, to adapt to Ray 3D.
---------------------------------------------
Version 2.34 packed.
2000-06-13: Unable to find broken instex image bug, block (erase) it.
2000-06-11: Standardized href in exercises.
2000-06-08: bug in Pari interface: comments were not recognized.
	    added !listcomplement
2000-06-07: var.def accepts arrays.
---------------------------------------------
Version 2.32 packed.
2000-06-03: OEF modules now included in standard distribution.
	    addmodule bug introduced from adm/ modules reorganization.
	    psql modules field names protected by double quotes.
	    module log is disabled by default.
2000-05-29: Bug in forum user registration password check.
	    Online creation of message boards.
	    \special disabled in !instex.
2000-05-28: Interface to Octave.
	    Function name aliases were forgotten in Maxima interface.
2000-05-26: Virtual class score computation reorganization, adding manually
	    attributed scores (English and French versions).
2000-05-24: added !mailto (for trusted modules).
2000-05-23: isfinite() -> finite().
2000-05-21: added non-panicking internal_warn() method.
2000-05-19: Module log now creates directory tree.
---------------------------------------------
Version 2.30 packed.
2000-05-17: adm/ modules reorganization.
2000-05-14: Added message board to each class.
2000-05-12: Record 0 now allowed.
2000-05-09: Calls to system() are replaced by exec().
2000-05-06: added !insmath.
	   !rawmath no longer translates []{} into ()().
	   Improvements in rawmath() and texmath().
2000-05-04: Commas enclosed in parentheses are no longer item separators.
2000-05-02 Fixed problem with effective and real uid (for gnuplot).
	   session directory closed to other users.
2000-05-01 fix NAN comparison bug.
	   Eval name table unification (acceleration). getnum() replaced by strtod().
	   Flydraw added evalue, plot, linewidth, arrow, lattice, etc.
2000-04-26 fly replaced by flydraw.
2000-04-22 OEF manager accepts more reply types:
	   units, matrix, vector, set, formal.
	   units-filter by Georges Khaznadar.
2000-04-20 added !deaccent and !declosing.
---------------------------------------------
Version 2.23 packed.
2000-04-13 Partial compatibility effort with DOS 0D0A files.
	   subsession string accumulation: fixed.
2000-04-12 anti-cheating: random suspension of random generation of exercises.
	   Users are allowed to suspend score registration.
2000-04-10 `:' bug in scoring system fixed.
2000-04-04 added !msg.
---------------------------------------------
Version 2.20 packed.
2000-03-30 added class portal (adm/classes)
2000-03-25 General help pages.
	   Window size control for subsessions (javascript).
	   Powermarks is a bad browser.
2000-03-24 Score register was open for expired sheets (fixed).
2000-03-21 added variable wims_form_method.
	   Allows supervisor to change participant password by force.
2000-03-17 eCatch is a bad browser.
---------------------------------------------
Version 2.13 packed.
2000-03-11 added !reset. Change syntax of !exchange (added !exchange var1,var2).
2000-03-01 Classes: allow scores to be computed according to user formula.
---------------------------------------------
Version 2.12 packed.
2000-02-16 Forms now use post method to get around URI length limit.
2000-02-08 modifications in class management (move exercise in worksheet,
	   delete/modify class exercises).
---------------------------------------------
Version 2.11 packed.
2000-01-31 Allow class supervisors to erase exercises. (Modifs to createxo)
2000-01-27 added !texmath (linear math to tex source).
	   sec(x) and csc(x) admitted.
2000-01-19 cpu limit cut to half or 1/4 when the site is busy.
2000-01-17 Changed log rotation method, adding config variable old_log_files.
2000-01-16 Interface to Maxima.
---------------------------------------------
Version 2.10 packed.
2000-01-11 Fixed bug in module indexing program (multi-language priority).
	   Referer keepup during session.
2000-01-10 Mirror listing page prepared (but not open due to lack of mirrors).
2000-01-09 added !module.
2000-01-06 !shuffle added option even|odd.
2000-01-05 Partially disabled cache control for home module.
---------------------------------------------
Version 2.07 packed.
2000-01-03 added cache control lines.
1999-12-25 Source directory reorganized.
	   Added cyclicode (cyclic code generator).
	   Added !text interact and !text repeat.
---------------------------------------------
Version 2.05 packed.
1999-12-23 Simplified Chinese version officially open.
	   Translators: team in ECNU lead by CHEN Zhijie.
---------------------------------------------
Version 2.04 packed.
1999-12-13 Bug in wordchr, itemchr, linechr causing crash when
	   searched-for string is empty. Fixed.
1999-12-10 Parameter passing under !read (wims_read_parm).
1999-12-06 Change to html/auth.phtml.*
1999-12-05 interface program sources relocated.
1999-12-03 More adm modules in Chinese.
1999-12-01 A private .htaccess file was not deleted in the public distribution.
---------------------------------------------
Version 2.03 packed.
1999-11-29 Some adm files and modules in Chinese incorporated.
1999-11-17 Interface to GAP.
1999-11-11 Expiration management takes cgi_name into account.
	   add site_description and site_keywords to wims.conf.
1999-11-08 Important bug fix: a process number limit (rlimit_nproc) of 32
	   was much too small. Lifted to 512.
---------------------------------------------
Version 2.01 packed.
1999-11-05 Delete participant and hide sheets by supervisor.
	   Password change facilities.
1999-11-03 Regclass: email address check reinforced.
1999-11-01 Intelligent determination of module according to cgi_name.
1999-10-30 public phtml files reorganized.
---------------------------------------------
Version 2.00 packed.
1999-10-28 Session names lifted to 10 characters, to ensure uniqueness.
1999-10-26 Subsessions now have different appearance.
1999-10-24 Class structure reorganized: sql is no longer used for it.
1999-10-23 Unified PATH setup through wims.conf.
1999-10-17 Function log10(x) added to Pari and Mupad interfaces.
---------------------------------------------
Version 1.55 packed.
1999-10-03 cmd=help should not write to last.html. Corrected.
1999-09-30 robot trapper also works for expired sessions.
---------------------------------------------
Version 1.53 packed.
1999-09-26 bad agent reorganization.
1999-09-24 added a robot trapper to the system.
	   Logo bug fixed.
1999-09-23 MemoWeb is a very bad user agent.
1999-09-20 bug fix in calls to output(): `%' was sometimes interpreted.
1999-09-18 stat module acceleration and language detection.
---------------------------------------------
Version 1.50 packed.
1999-09-06 minor touches in variable passing mechanism (security features).
1999-09-04 Detail of individual user work added into class supervisor facilities.
	   added worksheet source management.
1999-09-02 Robot access management bugfix and more restrictions.
1999-08-29 added dictionary-translator as an exec program.
1999-08-28 module searching engine is working.
1999-08-26 caching sql for acceleration. module_init_parm bug fix.
---------------------------------------------
Version 1.35 packed.
1999-08-23 added some big parentheses to mathfont.
1999-08-21 added $wims_intro_parm (to be managed by the module).
1999-08-15 added !exchange.
1999-08-12 added !rawmatrix.
---------------------------------------------
Version 1.34 packed.
1999-08-08 HTTrack is a very bad user agent.
1999-08-05 added illegal module change detection (often in robot accesses).
1999-08-04 session management overhaul: subsession, serial.
---------------------------------------------
Version 1.33 packed.
1999-08-02 added factorial evaluation to evalue().
1999-08-01 module indexing speedup. More national flags.
1999-07-23 misc bug fixes for compatibility with RedHat 6.0.
1999-07-03 Mupad interface `!' char checking bug fix.
1999-07-02 Pointer to Eric's Treasure Troves changed.
---------------------------------------------
Version 1.32 packed.
1999-06-25 oef translator accepts analyzed answers (numerical only).
1999-06-24 varchr() modified (add underscore detection)
1999-06-23 !pari about, !mupad about, with all module about.phtml changed.
1999-06-22 $pari_header_2...$pari_header_8, same for mupad.
1999-06-16 getvar() bugfix (empty name)
---------------------------------------------
Version 1.30 packed.
1999-06-15 added !debug.
1999-06-13 bugfix in itemchr().
1999-06-12 added !positionof.
	log file was occasionally overwritten when simultaneous access
	occurs while it is being renamed.
1999-06-11 islineof, notlineof in !if.
1999-06-09 pari and mupad interface security enhancement (illegal keywords).
1999-06-08 !replace enhancement: word, item, line replacement.
1999-06-07 added variable ins_out.
1999-06-04 line counting bug in open_workfile().
---------------------------------------------
Version 1.25 packed.
1999-05-29 float2str() acceleration for integers.
1999-05-25 Preliminary interface to octave.
1999-05-22 Programs called by !exec and !mexec can now set return variables
	(by writing to $session_dir/exec.var)
1999-05-18 added !distribute.
1999-05-10 added !text, with a first batch of commands. Doc updated accordingly.
1999-05-09 Changed file reading method (speed optimization).
1999-04-27 adaptation of pari/gp interface for 2.0.14 (goodbyestring)
---------------------------------------------
Version 1.24 packed.
1999-04-23 added parameter $pari_header and $mupad_header
	space characters in query string are thrown away. (currently useless)
1999-04-22 Bug fix in substit() when string terminates with a $.
---------------------------------------------
Version 1.23 packed.
1999-04-04 Added !singlespace, !nospace, !lines2words...,
	!listintersect, !listunion, !listuniq.
	Multiple-output of executions are now controled by the file exec.type.
1999-02-16 Added $wims_exec_out_2...
---------------------------------------------
Version 1.21 packed.
1999-01-27 Bug fix in evalue (|x| version of absolute value)
---------------------------------------------
Version 1.20 packed.
1998-12-29 Selective score registration mecanism for registered users.
1998-12-28 Adding 2-parm functions to evalue().
1998-12-27 evalue() adopts more strict syntax check.
1998-12-25 oef creator starts to work.
	Worksheet was lost when the exercise is renewed.
1998-12-21 comparison added isitemof and notitemof.
	oef manager starts to work.
1998-12-14 Users are prohibited to enter raw $ signs (will be replaced by &#36;).
	!varlist adds a switch ``nofn''.
1998-12-13 |x| now recognized by !rawmath (and replaced by abs(x)).
1998-12-12 fixing a score delay bug/misfeature in bottom reference box.
	all sscanf() replaced by atof, atoi.
---------------------------------------------
Version 1.17 packed.
1998-12-10 added !sort.
	Bugfix in simultaneous request prohibition: incompatibility with getframe.
---------------------------------------------
Version 1.16 packed.
1998-12-07 Bugfix in simultaneous request prohibition.
	Bugfix in evalue() (exponential number).
---------------------------------------------
Version 1.15 packed.
1998-12-05 Simultaneous request prohibited (user_error).
	Unmatched_parentheses now allows the user to correct the error.
1998-12-04 User parentheses check reinforced to all 3 kinds (), {}, []
	Server load control: requests refused when thresholds exceeded.
1998-12-03 User error message file now in phtml format.
1998-12-02 !translate no longer calls tr when only simple translations.
---------------------------------------------
Version 1.14 packed.
1998-11-30 !replace no longer calls sed when there is no regexp. (acceleration)
1998-11-26 added !bound.
1998-11-23 added !formselect, !formradio, !formbar. Doc updated.
	Modules will be progressively changed to use them.
---------------------------------------------
Version 1.13 packed.
1998-11-21 added good browser `HtmlViewer'.
1998-11-20 Bug fix in client charset determination (intro pages).
	First language in configure file's site_languages is now default.
---------------------------------------------
Version 1.12 packed.
1998-11-16 Minor bug fixes in sheet preparation for supervisor.
1998-11-15 Fix a typo in mathname_split() which created infinite loop.
	!insplot sets a variable ins_animation (yes no).
	Added $wims_warn_rawmath_parm.
1998-11-12 Variable wims_main_font, defining client charset.
1998-11-06 More options in usage statistics.
---------------------------------------------
Version 1.11 packed.
1998-11-03 More optimization in _skip_if_contents().
	Animation in !insplot is now using convert. gifmerge is no longer used
	(incompatibility with gd 1.3).
	Added definitions `translator' and `translator_address' in modules'
	INDEX files.
1998-11-02 Module log disabled for robot access.
	Start multilanguage support: configuration variable site_languages
	and wims variable $wims_site_languages.
	Site languages can be defined in wims.conf.
---------------------------------------------
Version 1.10 packed.
1998-10-31 added !header, !title and !tail, to standardize html format.
	Doc and most modules updated accordingly.
1998-10-30 automatic detection of other languages for light pages.
1998-10-29 added !headmenu, for header menu bar. All modules updated accordingly.
	added variable wims_ref_bgcolor, cofigurable.
1998-10-28 New visitors' home page, refering to two pages in adm/light (new, bestof).
	bug fix in !mexec.
1998-10-26 slight modif of adm/stat, file plotdata.sh (last plotting point)
1998-10-25 slight reorg of insplot
---------------------------------------------
Version 1.06 packed (misc. bug fix).
1998-10-18 cmd_output_too_long is now user_error.
---------------------------------------------
Version 1.05 packed.
1998-10-13 added OmniWeb to the list of recognized browsers.
---------------------------------------------
Version 1.04 packed.
1998-09-16 log column in var.def is now optional (defaults to 0).
---------------------------------------------
Version 1.03 packed.
1998-09-13 added a new command !varlist.
1998-09-10 Bug fix in evaluation (it gave -3^2=9)
---------------------------------------------
Version 1.02 packed 1998-09-08 (misc. modif.)
Version 1.01 packed (misc. bug fix).
Version 1.00 packed.
1998-08-23 added system for messages of the day.
1998-08-18 user scoring system starts to work.
1998-08-14 class, sheet, exo: first working structure.
---------------------------------------------
Version 0.17.4 packed.
1998-08-09 ready to accept creation of class and registration of participants.
1998-08-09 added ins_warn=fail when dynamic insertion fails.
---------------------------------------------
Version 0.17.3 packed (emergency bug fix).
Version 0.17.2 packed.
1998-08-04 User/supervisor authentification started.
1998-08-03 added !sql (administrative use only).
1998-08-01 Module database starts to work.
---------------------------------------------
Version 0.17.1 packed.
Version 0.16.4 packed.
1998-07-19 Request w/o command: now go to intro or new, depending on 
	the existence of intro.phtml.
	   added module_init_parm.
---------------------------------------------
Version 0.16.3 packed.
1998-07-17 referer log fixup: links pointing to intro were not counted.
1998-07-09 cotangent function now recognized at all levels.
	   line length increased to 16K.
---------------------------------------------
Version 0.16.2 packed (minor bug fix).
Version 0.16.1 packed.
1998-06-30. added multiplot support in insplot..processor.
---------------------------------------------
Version 0.15.11 packed.
1998-06-15. added backward link list.
---------------------------------------------
Version 0.15.10 packed.
1998-06-13. uniformed treatment of page expiration. (escape var: wims_expire)
1998-06-12. added automatic recognition of robot accesses.
----------------------------------------------
Version 0.15.9 packed (emergency bug fix).
Version 0.15.8 packed (minor fixes).
----------------------------------------------
Version 0.15.7 packed.
1998-06-09. bug correction in module_log().
	    added bookmark indication to homeref.
----------------------------------------------
Version 0.15.6 packed.
1998-06-07. predetermine_language also looks at user agent language.
1998-06-06. added referer log.
1998-06-05. default language is now English.
	    corrected error log methods.
----------------------------------------------
Version 0.15.5 packed.
1998-06-03. Home module is now always expired (it cannot allow cache)
	    added automatic determination of module language extension.
----------------------------------------------
Version 0.15.4 packed.
1998-06-01. Home is now a module.
1998-05-31. log and account includes all clicks.
	    improvements to stat module.
----------------------------------------------
Version 0.15.3 packed.
1998-05-23. TeX inserts now have border cut. Alignment problems disappear.
	    Misc tex bugs.
1998-05-21. added statistics module.
----------------------------------------------
Version 0.15.2 packed.
1998-05-17. bug fix: ref_base.
1998-05-15. log method modified. (now appending)
1998-05-13. Access accounting started. (Via cron)
----------------------------------------------
Version 0.15.1 packed (misc bug fixes).
----------------------------------------------
Version 0.14.1 packed.
1998-05-04. !href target bug corrected.
----------------------------------------------
Version 0.14 packed.
1998-05-02. Warning structure established (via !warn and $wims_warn_...)
	    !insplot: patch of gnuplot integer arithmetic problem.
	    !htmlmath improvement.
1998-05-01. rawmath routine rewritten.
1998-04-30. A very simple interface for Plouffe's Inverter.
1998-04-27. added commands !filewrite and !fileappend.
----------------------------------------------
Version 0.13.3 packed.
1998-04-13. added command !append.
1998-04-12. added user options: language and texsize.
	    texsize can also be changed within modules (via $wims_texsize).
----------------------------------------------
Version 0.13.2 packed.
1998-04-07. bug correction on session creation when old session expired.
	    added listfile (privileged command)
----------------------------------------------
Version 0.13.1 packed.
1998-04-06. replace and translate secured (using env parms).
1998-03-31. i will now be interpreted by pari and mupad as I.
----------------------------------------------
Version 0.12 packed.
1998-03-29. session cleaning reorganisation: more clever.
1998-03-27. wims logo created.
----------------------------------------------
Version 0.11.7 packed.
1998-03-27. tex size starts to be configurable.
	    instexst no longuer drops files into module's homes.
1998-03-24. added mathsubst and evalsubst
1998-03-21. added iswordof, isvarof in !if.
1998-03-20. Insplot is now animated.
1998-03-19. TeX, mathfont and insplot: misc. improvements.
----------------------------------------------
Version 0.11.6 packed.
1998-03-18. eval() now knows and outputs NaN and Inf.
	    added htmlmath (preliminary version).
1998-03-17. added module_about structure.
	    added math fonts structure. (variables starting with m_ )
-----------------------------------------------
Version 0.11.5 packed.
1998-03-14. server now reads module's INDEX file, storing definitions
	    into module_... variables.
	    added wims_html_header.
	    Tests also existence of intro.phtml, help.phtml, etc.
	    !instexst filename is now optional, and !instex calls it whenever possible.
	    !form now accepts optional cmd value.
1998-03-13. subst_limit increased from 36 to 3000.
            added !homeref.
1998-03-10. added encyclopedia pointer.
-----------------------------------------------
Version 0.11.4 packed.
1998-03-09. user variables. if module defined and cmd not: set cmd=new.
	    Expired sessions send directly to wims homepage.
1998-03-08. patches to MuPAD TeX output bugs and incompatibilities.
1998-03-07. change evaluation order: 3/5*2 is now left-associative, as other softwares.
1998-03-05. added randitem, randword, ...
-----------------------------------------------
Version 0.11.2 packed.
1998-02-21. added httpd_ variables. Doc updated accordingly.
1998-02-21. added rawmath common error correction.
------------------------------------------------
Version 0.11.1 packed.
1998-02-20. added general_log_limit and user_agent log.
1998-02-19. added ins_align and wims_version_date. No subst for !href.
1998-02-18. added cleansessions call (to be used via cron)
1998-02-17. template modules reorganisation.
1998-02-17. !instexst now works in intro.phtml
	(not very correctly: using $HOME/tmp for temporary directory.)
-----------------------------------------------
1998-02-12. First version (0.10) packed.

