Skip to content

Releases: brython-dev/brython

Brython-3.12.3

04 Mar 21:32
Compare
Choose a tag to compare

The main feature in this release is the replacement of the Python parser by a program generated from the standard Python grammar with the CPython toolchain, adapted to generate Javascript code instead of C.

Austin Schick greatly contributed to this change by providing a first proof of concept in issue #2354 and advice on the next steps of the implementation.

(This is the same as 3.12.2, with a fix for the blocking bug #2381)

Brython-3.12.2

04 Mar 10:00
Compare
Choose a tag to compare

The main feature in this release is the replacement of the Python parser by a program generated from the standard Python grammar with the CPython toolchain, adapted to generate Javascript code instead of C.

Austin Schick greatly contributed to this change by providing a first proof of concept in issue #2354 and advice on the next steps of the implementation.

Brython-3.12.1

27 Nov 16:18
Compare
Choose a tag to compare

Special thanks to Denis Migdal, who inspired and/or wrote the main changes in this release:

  • speed up startup time by removing generation of Unicode-related tables
  • significant improvement in performance of function argument parsing
  • rewrite frames management

Apart from many bug fixes, other changes include:

  • an improved implementation of PEP 695 – Type Parameter Syntax
  • a partial rewriting of the alterative Brython implementation using a PEG parser with the standard Python grammar

Brython-3.12.0

02 Oct 15:20
Compare
Choose a tag to compare

The main new features in this release are:

  1. the implementation of Python 3.12, notably:
  • PEP 701, f-strings in the grammar
  • PEP 695, type parameter syntax and the type statement
  • Improved ‘Did you mean …’ suggestions for NameError and SyntaxError exceptions
  1. the optional removal of the attribute onload = brython(options) of the <body> tag, replaced by setting page-level options with tag <brython-options> or per-script options as attributes of the <script> tag

  2. a more consistent interface between Brython and Javascript

Brython-3.11.3

19 Jun 10:01
Compare
Choose a tag to compare

This is mostly a bug fix release, with bug fixes and additional features in the re module and a few performance improvements.

Brython-3.11.2

03 Mar 18:13
Compare
Choose a tag to compare

The main changes in this version are performance improvement in various fields:

  • dictionary and set objects
  • function arguments parsing
  • attribute resolution

Brython can now use Javascript modules that use "export" with the function import_modules(refs, callback). The API is experimental and may change in the future. The gallery includes a demo that use this feature with the Javascript library three.js.

A first version of a synthesizer demo is included in the gallery.

Brython-3.11.1

30 Jan 14:20
Compare
Choose a tag to compare

The main change in this release is a complete rewriting of classes, dictionaries and sets implementation, for a better compliance with Python and speed improvements.

Brython-3.11.0

24 Oct 12:07
Compare
Choose a tag to compare

This version, released on the same day as CPython 3.11, supports most of its new features, notably:

  • PEP 654 – Exception Groups and except *
  • PEP 657 – Include Fine Grained Error Locations in Tracebacks
  • PEP 678 – Enriching Exceptions with Notes

Brython-3.10.7

17 Sep 19:02
Compare
Choose a tag to compare

The main visible feature in this release is a major performance improvement for operations on basic types (integers, floats, strings).

It also includes a new Implementation of many important internal features (execution frames, exception management).

The Travis CI tools have been updated and restored (thanks to Evan Mallory and Christian Clauss), making sure that the integrated test suite runs without error for each commit.

Brython-3.10.6

31 May 15:13
Compare
Choose a tag to compare

The main features in this release are:

  • the Python-to-Javascript engine now uses the Abstract Syntax Tree introduced in version 3.10.4 to generate Javascript code. Methods transform() and to_js() of context classes in py2js.js are removed, as well as code related to name binding
  • rewriting of the interface of brython-cli : eg "brython-cli make_modules" instead of "brython-cli --modules" (by ennec-e)
  • an alternative algorithm to generate the AST based on standard Python grammar is available by adding a new script, brython_standard_parser.js. It does not replace the current algorithm because of performance issues. More details in this post.
  • for a script loaded by <script type="text/python" src='my_script.py' id='my_script'></script>, subsequent scripts can import my_script
  • experimental - add a new version of the interactive interpreter (tests/console_input.html) that supports input() inside the interpreter and
    time.sleep(). More details in this post