Skip to content

Releases: jsxgraph/jsxgraph

Release of v1.8.0

08 Mar 11:25
Compare
Choose a tag to compare

We are very happy to announce the release of JSXGraph v1.8.0!

This release is a massive overhaul of the axis element with new positioning options like "fixed" and "sticky" that allow the positioning of an axis close to the border of a board. Moreover, non-integer axis tick labels can now displayed as fractions, also TeX fractions are possible. Further, we revived the venerable element grid with many additional options. Please, have a look at the documentation to get inspired. The possibilities to manipulate 3D scenes have been much improved, too: users can now freely rotate 3D scenes with the pointer device or the keyboard, with no need for the sliders to control azimuth and elevation anymore.

Additionally, some new methods have been added and a few annoying bugs could be fixed.

Enjoy,

Alfred

Release of v1.7.0

26 Jan 08:33
Compare
Choose a tag to compare

We are very happy to announce the release of JSXGraph v1.7.0!

The most notable new feature of this release is the very long awaited ability to plot implicitly defined curves, i.e. the the curve is the set of solutions of an equation F(x, y) = 0. JSXGraph offers the new curve element implicitcurve for this feature. At https://jsxgraph.org/testbed/implicit.html you'll find a demo version with various typical examples, while you can also supply your own example (input language is JessieCode).

Other new elements are parallelogram, vectorfield3d and measurement. This release also comes with new mathematical functionality, most notably: polzeros is the Weistrass, Aberth, Ehrlich method to determine all roots (real and complex) of a polynomial; glomin is Brent's global minimizer; JXG.Math.BoxQuadtree is a newly implemented quadtree for fast access to a curve.

Starting with this release, themes for the visual appearance are supported. At the time being, there is one theme mono_thin.

Good news for users of the JSXGraph plug-in in the popular question type STACK for e-assessment in moodle and ILIAS: the method JXG.stack2jsxgraph converts MAXIMA syntax to JavaScript / JessieCode syntax which can be used by JSXGraph. Further, in symbolic expressions (i.e. JessieCode), beside ^ also ** can be
used now as exponentiation symbol.

Further improvements are the possibility to change arrow heads with setAttribute, better fullscreen support, a new mediawiki plug-in, and many bug fixes and additions to the API reference.

For more detailed information see the announcement and the CHANGELOG.

Enjoy, Alfred

Release of v1.6.2

15 Oct 06:27
Compare
Choose a tag to compare

JSXGraph release v1.6.2 is a patch release. It fixes a regression from v1.6.1 which broke foreignobject elements.

There is one new feature: Additionally to an id string, JXG.JSXGraph.initBoard() accepts a reference to the hosting HTML object.

Enjoy,

Alfred

Release of v1.6.1

13 Oct 08:04
Compare
Choose a tag to compare

JSXGraph release v1.6.1 is a patch release which additionally introduces a few new options.

Beside bug fixes, the main improvement in this release is the handling of fullscreen mode: now, fullscreen mode is independent from the CSS styling
of the original JSXGraph board. Additionally, JSXGraph is now able to adapt to orientation changes of a mobile device in fullscreen mode, too.

In Riemann sums, Simpson's rule is now visualized by using a quadratic function which very convincingly shows the power of this approximation method.

New in this release are the attributes snapValues and snapValueDistance for slider elements to improve positioning sliders at specific positions.
Further, the attributes autoPositionMinDistance and autoPositionMaxDistance for labels are introduced to better control the automatic positioning of labels.

More bug fixes can be seen in the CHANGELOG.md file.

Many thanks to all contributors who helped to improve JSXGraph! Please keep posting bug reports, feature suggestions and - of course - pull requests.

Enjoy,

Alfred

Release of v1.6.0

09 Aug 15:02
Compare
Choose a tag to compare

We are thrilled to announce the release of JSXGraph v1.6.0.

New in this release are the long-awaited new elements vectorfield and slopefield, as well as the new element smartlabel for measurements. A big change is the support of Internationalization, specifically the possibility to format numbers according to a locale. This affects axis labels, measurements, info box and general texts consisting of numbers.

Another big step forward is the introduction of the new method board.setAttribute(). This allows to change board options after initialization of a board. For example, the availability of the selection polygon or visibility of icons in the navigation bar can be controlled with that method.

A much requested feature has finally been added: HTML texts (i.e. texts with default attribute display:'html') can now be rotated, too. Many thanks to the contributor! Meanwhile, also transformations can be applied to these texts (with the restriction to affine transformations, i.e. no finite points are projected to infinite points). There is a new type of elements called smartlabels: these are texts bound to elements like segments, circles, points which display measurement data for these points. These HTML texts come with carefully crafted CSS classes in jsxgraph.css.

3D support has been gradually improved, but here there is still a lot of work to do. A small, but very helpful new method is JXG.Math.Numerics.getLangrangePolynomialCoefficients to get the coefficients of Lagrange polynomials. Other additions are the methods Circle.Perimeter(), Polygon.L(), Line.Slope(), Sector.setRadius() and dotted lines (dash:7).

The API documentation has been enriched with many examples. Among the many bug fixes, the most notable is that transformations like reflections were broken in v1.5.0 and some numerical instabilities could be fixed. To see the full list of changes, please consult CHANGELOG.md.

As in most recent releases, TypeScript support of the new features is lagging behind. Please, if you are a TypeScript expert, help us to add the new features to index.d.ts.

Many thanks to all contributors who helped to improve JSXGraph! Please keep posting bug reports, feature suggestions and - of course - pull requests.

Enjoy,

Alfred

Release of v1.5.0

27 Jan 09:54
Compare
Choose a tag to compare

Dear friends of JSXGraph,

We are happy to announce the release of JSXGraph v1.5.0.

With this release, JSXGraph got a major face lift: Github user @sritchie ported the JSXGraph
source code from AMD to ES6 imports. Thanks also to @geometryzen for the extensive contributions
and to all who helped in improving JSXGraph. This will make JSXGraph ready for the future!
What does these changes mean for users of JSXGraph? Hopefully nothing, beside that
JSXGraph is now running again in various environments like nodejs and as a webworker.
Changes might be necessary is JSXGraph source is used for granular packaging.
Please, get in contact with the developers if you experience incompatibilities.

See the blog post at https://jsxgraph.org/wp/2023-01-27-release-of-version-1.5.0/
for the new features and an overview on the various possibilities how to include JSXGraph in your project.

Again, thanks to all contributors who helped to improve JSXGraph!

Enjoy,

Alfred

Release of v1.4.6

30 Sep 15:48
Compare
Choose a tag to compare

JSXGraph release v1.4.6 is a patch release which additionally introduces a few new options and incrementally improves the 3D functionality (which is still consider experimental).

Beside bug fixes mainly concerning a conflict between ARIA and text input, polygonal chains, and integral elements, this release improves clipping of elements and fullscreen mode on webkit browsers.
New is that polygons are now filled by the even-odd rule.

New features are:

  • Curves accept the attribute hasInnerPoints, i.e. like circles, curves can be dragged by clicking on interior points.
  • The new ticks attribute ticksPerLabel allows labels also for minor ticks
  • Labels for checkbox, input and button elements can now be functions.
  • The navigation buttons come with ids: The naming scheme is {boardid}_navigation_{name} where {name} is:
    • cleartraces
    • reload
    • screenshot
    • fullscreen
    • out
    • 100
    • in
    • left
    • top
    • down
    • right

Further, the 3D API has been reworked. Details will be discussed in the 3. JSXGraph conference (Oct. 4.-6., 2022, https://jgsxraph.org/conf2022).

Release of v1.4.5

13 Jul 07:06
Compare
Choose a tag to compare

JSXGraph release v1.4.5 is a patch release, which additionally introduces two new features.
First, geometry elements have now the new attribute rotatable. If set to false, the element can not
be rotated with two fingers on touch devices. The other new feature is the new method setPosition3D
for 3D points.

This release fixes two regressions: the method resizeObserver was broken in v1.4.4. Now, JSXGraph reacts to
size changes of the hosting div again. Further, snapToGrid works again for lines, too.
The use of JSXGraph in shadowDOM has been improved, it supports now fullscreen mode, too.
Additionally, the handling of MathJax strings has been slightly improved. More bug fixes can be seen in the
CHANGELOG.

Release of v1.4.4

27 May 07:47
Compare
Choose a tag to compare

JSXGraph release v1.4.4 is a patch release, which additionally introduces two new features. First, JSXGraph can now be used in shadowDOM. Thanks go to Holger Engels from https://kmap.eu who has sent in the original patch. In this release, fullscreen mode of JSXGraph constructions in shadowDOM do not yet work. Second, intersection points of polygons have been implemented. Example:

var pol1 = board.create('polygon', [[1, 1], [2, 0], [1, 2], [-1,1]]),
    pol2 = board.create('polygon', [[1, 1.5], [2, 2], [0, 3], [0,0.5]]),
    p = board.create('intersection', [pol1, pol2, 3]);

which creates the fourth intersection point of the two polygons.

In 1.4.3 3D support had been announced. Unfortunately, one file was missing in jsxgraphcore.js which made 3D unusable. Initial examples can be seen at https://jsxgraph.org/docs/symbols/View3D.html, https://jsxgraph.org/docs/symbols/Functiongraph3D.html, and https://jsxgraph.org/docs/symbols/ParametricSurface3D.html.

Further, index.d.ts and API docs has been constantly improved, a bug concerning arrow parallels has been fixed, and a bug in resize handling has been removed. Thanks to all contributors who helped to improve JSXGraph!

Release of v1.4.3

14 Apr 10:17
Compare
Choose a tag to compare

This is a patch release. Most importantly, JSXGraph can now be used as ES6 module and contains multiple improvements in index.d.ts for TypeScript support. Other bug fixes can be seen in the CHANGELOG.

Additionally, this release contains preliminary, experimental support of 3D elements. See the examples in https://jsxgraph.uni-bayreuth.de/~alfred/jsxdev/3D/ for a first preview. A detailed blog post on the JSXGraph homepage will follow. Please, do not yet use 3D elements in production, the API may still change.