Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 8 additions & 3 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
---
default_language_version:
python: python
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.5.0
hooks:
- id: check-merge-conflict
Expand All @@ -15,16 +16,20 @@ repos:
exclude: ChangeLog-spell-corrected.diff
- id: check-json
exclude: mathics_scanner/data/character-tables.json
- repo: https://github.com/pycqa/isort
- repo: https://github.com/pycqa/isort
rev: 5.13.2
hooks:
- id: isort
stages: [pre-commit]
args: ["--profile", "black"]
- repo: https://github.com/psf/black
- repo: https://github.com/psf/black
rev: 25.11.0
hooks:
- id: black
language_version: python3
stages: [pre-commit]
exclude: version.py
- repo: https://github.com/python-jsonschema/check-jsonschema
rev: 0.31.0 # Use the latest version
hooks:
- id: check-github-workflows
2 changes: 1 addition & 1 deletion .readthedocs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ build:

# Build documentation in the docs/ directory with Sphinx
sphinx:
configuration: docs/build/conf.py
configuration: docs/source/conf.py

# We recommend specifying your dependencies to enable reproducible builds:
# https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html
Expand Down
4 changes: 4 additions & 0 deletions .yamllint
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# -*- conf -*-
# .yamllint configuration file
rules:
line-length: disable
87 changes: 42 additions & 45 deletions CHANGES.rst → CHANGES.md
Original file line number Diff line number Diff line change
@@ -1,74 +1,68 @@
CHANGES
=======
# CHANGES

10.0.0
------
## 10.0.1

May 6, 2026

Revise due to packaging missing a yaml file. Some small changes since release have been added too.

## 10.0.0

April 18, 2026

Supports Python 3.14. Python 3.10 support has been dropped. While Python 3.10 may still work, it is not supported.
Supports Python 3.14. Python 3.10 support has been dropped. While Python 3.10 may still work, but it is not supported.

More YAML/JSON tables added. mathics-core now imports values via ``mathics.characters``. Previously it
created JSON files on its own.
More YAML/JSON tables added. mathics-core now imports values via `mathics.characters`. Previously, it created JSON files on its own.

#. `PR #173 <https://github.com/Mathics3/mathics-core/pull/173>`_ Python 3.14 supported. Python 3.10 support has been dropped. (It may still work, but is not supported.)
#. `PR #158 <https://github.com/Mathics3/mathics-core/pull/158>`_ Name Pattern token introduced to handle ``?`` and ``??`` operands.
#. `PR #156 <https://github.com/Mathics3/mathics-core/pull/156>`_ Token names align more closely with ``CodeParser`Tokenize``.
#. `PR #149 <https://github.com/Mathics3/mathics-core/pull/142>`_ Add YAML/JSON table for box grouping characters
#. `PR #147 <https://github.com/Mathics3/mathics-core/pull/147>`_ Disambiguate Unicode for \[Rule] and \[DirectedEdge].
#. `PR #145 <https://github.com/Mathics3/mathics-core/pull/145>`_ Add Unicode to ASCII conversion table to named characters
1. [PR \#158](https://github.com/Mathics3/mathics-core/pull/158) Name Pattern token introduced to handle `?` and `??` operands.
1. [PR \#156](https://github.com/Mathics3/mathics-core/pull/156) Token names align more closely with `` CodeParser`Tokenize ``.
4. [PR \#149](https://github.com/Mathics3/mathics-core/pull/142) Add YAML/JSON table for box grouping characters
5. [PR \#147](https://github.com/Mathics3/mathics-core/pull/147) Disambiguate Unicode for \[Rule\] and \[DirectedEdge\].
6. [PR \#145](https://github.com/Mathics3/mathics-core/pull/145) Add Unicode to ASCII conversion table to named characters

Corrections to YAML table entries, e.g. "latex" field additional/corrections in named characters.
Corrections to YAML table entries, e.g., "latex" field; additional/corrections in named characters.

Numerous spelling corrections were performed over the code.

The name ``Mathics3`` replaces ``Mathics``. ``Mathics`` was the monolithic
Python 2-ish code. Mathics3 has rewritten a number of major
The name `Mathics3` replaces `Mathics`. `Mathics` was the monolithic Python 2-ish code. Mathics3 has rewritten several major
subcomponents, and the scanner and the character and operators tables in YAML are now in this repository.


2.0.0
-----

August 28, 2025

Supports Python 3.13. Python 3.8 and 3.9 support has been dropped.

Note: There are incompatible changes. Use with Mathics-core 9.0.0 or greater.

Support for saving token position information was started. This is in
module ``mathics_scanner.location``. Additional location information is saved when
``mathics_scanner.location.TRACK_LOCATIONS`` is set to ``True``.
Support for saving token position information was started. This is in module ``mathics_scanner.location``. Additional location information is saved when ``mathics_scanner.location.TRACK_LOCATIONS`` is set to ``True``.

Scanning was revised to handle more kinds of escape sequences and to
be sensitive to their placement inside and outside a string. This is in module ``mathics_scanner.escape_sequences``.
Scanning was revised to handle more kinds of escape sequences and to be sensitive to their placement inside and outside a string. This is in module ``mathics_scanner.escape_sequences``.

Tokenization support for Box Input operator ``\*`` was added.

Small YML changes were made to reflect a better understanding of boxing
operators. In particular, ``\*`` is not a (prefix) operator.

More AMSLaTeX translations added for named characters.

Handle escape sequences in string literals.
Small YML changes were made to reflect a better understanding of boxing operators. In particular, ``\*`` is not a (prefix) operator.

Internals
+++++++++
---------

Mathics3 scanner exceptions of class TranslateError are incompatible
with previous versions, and now store error parameters, "name", "tag", and
"args".
Mathics3 scanner exceptions of class TranslateError are incompatible with previous versions, and now store error parameters, "name", "tag", and "args".

Bugs Fixed
++++++++++
----------

#. #125 Hex escape sequence in string literal doesn't work.
#. #136 Is YAML file valid?
* #125 Hex escape sequence in string literal doesn't work.
* #136 Is the YAML file valid?

1.4.1
-----

Jan 26, 2025


Re-release to include ``operators.yml`` into the tarball/wheel.
Re-release to include `operators.yml` into the tarball/wheel.


1.4.0
Expand Down Expand Up @@ -106,17 +100,19 @@ Operator precedence values have been gone over.

Aug 9, 2024

Python 3.8 is now the minimum Python supported. Python 3.12 is supported.
Python 3.8 is now the minimum Python supported. Python 3.12 supported.
Various dependencies elsewhere force 3.8 or newer.


* Packaging was redone to be able to support Python 3.12.
* Files now follow current Python black formatting and ``isort`` import ordering
* Some Python code linting
* Files now follow current Python black formatting and isort import ordering
* Some Python code linting.

1.3.0
------

Feb 25, 2025

* Add escape-code sequence for 32-bit Unicode. Issue #48.
* Correct ``Infix`` and ``Tilde`` character symbols
* Support double backslash (``\\``) as a single backslash character (``\``).
Expand All @@ -135,10 +131,11 @@ Various dependencies elsewhere force 3.8 or newer.
-----

* Start adding AMSLateX names.
* Add ``ApplyTo``, and ``Factorial2``.
* Adjust ``Tilde``, and ``Factorial``.
* Add `ApplyTo`
* Add `Factorial2`. PR #30
* Adjust `Tilde`, and `Factorial`.
* Regularize Unicode equivalents.
* Add named-characters.yml to distribution packages; Issue #32.
* Add `named-characters.yml `to distribution packages; Issue #32.
* Use SPDX identifier in license; PR #31.

1.2.2-1.2.3
Expand All @@ -152,10 +149,10 @@ Many thanks to Victor the packager for AUR for pointing this out.
-----

* Add tables for operator precedence.
* Start to add AMSLaTeX symbols. (A future release will finish this)
* Revise ``README.rst``.
* Some small corrections: ``Implies``
* Make ``ujson`` optional
* Start to add AMSLaTeX symbols. (A future release will finish this.)
* Revise `README.rst.`
* Some small corrections: `Implies`.
* Make `ujson ` optional.


1.2.0
Expand Down
Loading