Yamwi release 2026-04-29

Leo Butler <[email protected]> Thu, 30 Apr 2026 04:40:34 +0000
Newsgroups gmane.comp.mathematics.maxima.general
Message-ID <[email protected]>
Release 2026-04-29

The Yamwi development team is pleased to announced a new release (v. 2026-04-29).

Yamwi (Yet Another Maxima Web Interface<https://github.com/leo-butler/yamwi/>) is a web interface to the computer algebra system Maxima<https://maxima.sourceforge.io/>. It is based on based on Linux+Apache+Php. Originally developed by Mario Rodríguez Riotorto and hosted on Sourceforge, the project is being continued by a new team of developers on Github.

Important Note

This release contains a critical security fix. Site administrators are advised to update to this release immediately.

Security
New prohibited words

  *   eval_lisp_string: this function allows execution of arbitrary code (see Issue 19<https://github.com/leo-butler/yamwi/issues/19>).

Formerly prohibited words

  *   kill is no longer a prohibited word. The functionality of kill has been restricted, so kill(all) and kill(allbut(...)) elicit warnings. Killing variables that hold important state information for Yamwi is also prohibited (see Issue 16<https://github.com/leo-butler/yamwi/issues/16> and Commit daf5d7b40f<https://github.com/leo-butler/yamwi/commit/daf5d7b40f3a62af03b62dd171bb5a4c3e4a57f9>).
  *   demo is no longer a prohibited word. It is now a synomym for batch, since Yamwi does not allow for line-by-line interaction (see Issue 15<https://github.com/leo-butler/yamwi/issues/15>).
  *   load(drawdf); works as intended; load is no longer a prohibited word (see Issue 1<https://github.com/leo-butler/yamwi/issues/1>).
  *   concat, sconcat and printf are no longer prohibited (see Issue 18<https://github.com/leo-butler/yamwi/issues/18>).
  *   translate and compile are no longer prohibited.
  *   entermatrix no longer prohibited (see items 6 and 8 in the next section).

Changes to the User-Interface

  1.  Input and output may now be displayed as Lisp S-expressions (Sexps). Users who are curious about how Maxima represents mathematical objects can use these display options.
  2.  Improve the handling of verbatim input (see Issue 5<https://github.com/leo-butler/yamwi/issues/5>).
  3.  Improve the handling of error messages from Maxima and Gnuplot (SBCL, ECL; not GCL or CLISP).
  4.  Correct the TeX code for matrices and diff (see Issue 6<https://github.com/leo-butler/yamwi/issues/6> and Issue 11<https://github.com/leo-butler/yamwi/issues/6>).
  5.  Print the Maxima banner as a header for the output, similar to other front-ends.
  6.  Maxima's trace command now works, subject to a patch to Maxima (see Issue 17<https://github.com/leo-butler/yamwi/issues/17>).
  7.  Commands like integrate(x^n,x);, which require an answer to the question Is n equal to -1?, can now have the answer embedded in the input (see Issue 12<https://github.com/leo-butler/yamwi/issues/12>).
  8.  Commands line read("input a number:"); now have their prompt (input a number) echoed correctly. The answer can be placed on the next input line and it is read correctly (see Issue 13<https://github.com/leo-butler/yamwi/issues/13>).
  9.  More commands are now available to the user (see the list in Formerly prohibited words.
  10. Print to PDF has been improved. Figures should no longer be cut across pages.
  11. MathML output has been improved (requires updates to Maxima).
  12. Yamwi should generate fully compliant HTML that validates with the W3C validator. If you find a page that does not validate, please report a bug<https://github.com/leo-butler/yamwi/issues> and be sure to include a link to non-validating page.

Lisps supported

Maxima runs on a variety of Common Lisp implementations. As of this release, using a Debian 13 server installed on a virtual machine, the following implementations are supported:

SBCL, ECL
fully supported.
GCL
partially supported, not recommended. There are multiple issues that hobble the use of GCL on a server:

  1.  [X] Runs with Yamwi served on localhost.
  2.  [X] Recent versions of Maxima cannot be built with GCL. They must be build with GCL27.
  3.  [ ] The Debian GCL-based Maxima package has majour problems compiling and loading the draw package.
  4.  [ ] GCL does not correctly re-bind the *error-output* stream. This limits error reporting compared to SBCL and ECL and necessitates a customized run-program (built on si:run-process).

Clisp
unsupported. There are a few issues to be overcome.

  1.  [X] Runs with Yamwi served on localhost.
  2.  [ ] There are filesystem-access issues when run as part of Apache. Patches are invited.
  3.  [ ] Clisp's implementation of run-program is broken (neither *standard-output* nor *error-output* can be correctly let bound in order to redirect these output streams). No good work-arounds are known to us.

Download

Download the tar.gz release file from the project webpage: https://github.com/leo-butler/yamwi/releases/.

Reference implementation

A pair of live Yamwi servers are maintained by the project:

  1.  https://net124.reltub.ca/yamwi/ serves the latest release of Yamwi.
  2.  https://net124.reltub.ca/yamwi-dev/ serves the latest version of Yamwi from the master branch of the Github repository (it may take up to 24 hours to synchronize with HEAD).

_______________________________________________
Maxima-discuss mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/maxima-discuss