Skip to content

Releases: Mathics3/mathics-django

7.0.0: Administrivia:

09 Aug 20:35
Compare
Choose a tag to compare
  • Adjust for Mathics3 core 7.0.0 API, e.g., add explicit call to load builtins
  • doctest refactored to use more routines common to mathics-core
  • Support newer matplotlib, e.g. 3.9.1
  • Update gallery examples
  • Add background and tooltips to Graphics3D
  • Expand information in /about:
    • max digits in string
    • system encoding
    • time format

Too late for Valentines Day

26 Feb 05:10
d7493f4
Compare
Choose a tag to compare
  • Use the latest mathics_threejs_backend: 1.3.1
  • Environment variables which change Django settings (also shown under Settings)
    • MATHICS_DJANGO_ALLOWED_HOSTS sets Django ALLOWED_HOST; use semicolon to separate entries
    • MATHICS_DJANGO_DEBUG_HOSTS sets Django DEBUG
    • MATHICS_DJANGO_DISPLAY_EXCEPTIONS_HOSTS sets Django DISPLAY_EXCEPTIONS
  • Adjust for Mathics3 core 6.0.0 API
  • "About" page:
    • Python Implementation (CPython, PyPy, Pyston) explicitly is shown
    • Optional Python packages are also shown along with their version
  • Long <url> lines in documentation split into several lines.
  • Gallery examples now include image manipulation and Mathics3 Graph and NLP modules
  • Mathics3 errors are displayed better showing error tags, messages, and output more visible distinct.
  • Python tracebacks shown in the browser as formatted nicer; use make runserver-debug to have Python tracebacks included in browser, in addition to the backend console.
  • Menubar entries add for:
    • running gallery examples
    • going to github repository for Mathics-Django
    • getting to the information page
  • Split out controllers into separate files
  • Upgrade to fontawesome 6.2.1

We have gradually been rolling in more Python type annotations and have been using current Python practices. Tools such as using isort, black and flake8 are used as well.

5.0.0

31 Jul 15:09
Compare
Choose a tag to compare
  • Adjust for Mathics3 core 5.0.0 API
  • Sort document reference chapters and sections
  • Urls can now have links in them

4.0.2

18 Dec 22:56
Compare
Choose a tag to compare
  • Extend summary lists to chapters and sections
  • Support Django 4.0
  • Add GPL Copyright notice to popup startup boxes
  • Update mathics-threejs-backend to 1.0.3, and in this three.js to r135

Augustus lost

01 Aug 22:02
Compare
Choose a tag to compare

Fix a small packaging issue where we weren't install autoload/settings.m.

This combined with a bug in Mathics core was causing evaluating expressions to fail.

Augustus won

01 Aug 07:31
Compare
Choose a tag to compare

The main thrust behind this API-breaking release is to be able to support a protocol for Graphics3D.

It new Graphics3D protocol is currently expressed in JSON. There is an ndependent threejs-based module. to implement this. Tiago Cavalcante Trindade is responsible for this
code.

Previously, this Javascript code and library was embedded into this code base. By separating the two, this library can be used more easily outside of Django. And the library has gotten considerably better in terms of being tested and documented.

The other main API-breaking change is more decentralization of the Mathics Documentation. A lot more work needs to go on here, and so
there will be one or two more API breaking releases. After this release, the documentation code will be split off into its own git repository.

Enhancements

  • a Graphics3D protocol, mentioned above, has been started
  • mathics_django.setting has been gone over to simplify.
  • The "about" page now includes the Python version as well as the mathics-threejs-backend version
  • Some Image Gallery examples have been added. Some of the examples have been reordered to put the slower examples towards the end.
  • Much of the Javascript code that remains after pulling out the Graphics3D code has been modernized.
  • Use of the "scriptaculous" library has been reduced. It will be eliminated totally in a future release.

Documentation

  • Document data used in producing HTML-rendered documents is now stored in both the user space, where it can be extended, and in the
    package install space -- which is useful when there is no user-space data.
  • Code duplication used in creating documentation has been reduced. It will be moved more completely out in a future release
  • Summary text for various built-in functions has been started. These summaries are visible in Mathics Django when lists links are given in Chapters, Guide Sections, or Sections. See the online documentation of Associations for an example of a list with
    additional summary information.

Regressions

  • Some of the test output for buitins inside a guide sections is not automatically rendered. See the on-line documentation for Binarize for
    an example of this.
  • Density plot rendered in Mathics Django do not render as nice since we no longer use the secret protocol handshake hack. We may fix this in a future release

Independence minus 1

03 Jul 17:36
Compare
Choose a tag to compare
  • Add Arrow and Cylinder (preliminary)
  • Improve sectioning and subsectioning. (A lot more could be done on both the data tagging and presentation side)
  • Improve gallery examples
  • Modernize Javascript code more and get closer to removing scriptaculous

3.0.1

27 Jun 08:01
Compare
Choose a tag to compare

Fix packaging issues: settings.m wasn't getting included in package.

Now we are three!

26 Jun 20:23
Compare
Choose a tag to compare

This release contains been a major overhaul and upgrade of the code.

It can't be stressed enough, but this was made only possible due to the tireless work of Tiago Cavalcante Trindade.

There is still a lot of work still to do. However where we are at right now, there have been massive changes and improvements:

  • three.js has been upgraded to r124 (from r52) which brings us from up seven years from circa 2013 to late 2020!
  • Plots and Graphs no longer appear inside MathML when there is no reason for them to be in MathML.
  • The "About" page now shows all of the the Mathics Settings that are in effect. You can change Boolean setting inside the About page.
  • 3D Polygon rendering has been greatly improved. However we currently do not handle even/odd space filling.
  • We support TickStyle coloring in 3D Graphics.
  • Tick positions in most 2D Plots and Graphs as been fixed.
  • We tolerate smaller screens in SVG rendering.
  • Styling of Cells has been improved. A somewhat Jupyter-style frame box is used.
  • Output which are strings now have surrounding quotes. (This can be turned off via Settings`$QuotedStrings.)
  • In headings, we make it more clear that the code is Django based.
    This is to make clear the distinction should there be a Flask-based
    front-end or the long sought for Jupyter front end.
  • In the online document, sections which are empty are omitted from the online view.
  • A stray in the space between logo and Mathics at the top was removed.
  • Gallery examples have been improved.
  • A major rewrite of the JavaScript code according to more modern
    Javascript style has been started. More work will probably continue in future releases.
  • Respecting PointSize in the rendering of 3D plots as been fixed. The default point size now more closely matches the intended specification.
  • The use of Prototype and Scriptaculous are being phased out.

L-3

15 May 16:21
Compare
Choose a tag to compare
L-3

2.2.0

  • Upgrade to MathJax-2.7.9. See MathJax v2.7.9. Over a decade of improvements here. One that I like is that output which is too large to fit on this screen can be viewed in the Zoom popup which has a scrollbar.
  • Don't use MathJax for string output. (HTML/Hrefs coming later)
  • String output is no longer passed to MathJax for rendering in MathML. As a result its output is more visually distinct from unexpanded and symbol output: it is left aligned and in a different monospace font. In the future we may consider settings for enabling/disabling this.
  • Create a settings.m including Settings`$UseSansSerif and autoload that.
  • "About" page expanded to include Machine, System, and Directory information

2.2.0rc1

  • Upgrade to Django 3.2 or newer. Django 3.2 is long-term support
    release
  • Upgrade three.js to r52. See PR #36.
  • Allow Django's database (default mathics.sqlite) to be settable
    from environment variables MATHICS_DJANGO_DB an MATHICS_DJANGO_DB_PATH.
  • Update gallery examples with more graphics
  • Add an "about" page to show version information and for installed software three.js and MathJax.