Releases: brython-dev/brython
Brython-3.10.5
The main new feature in this release is the ability to generate Javascript code from the Python-compliant AST structure introduced in version 3.10.4.
The feature is not used yet in this release because it still needs testing, but should be used in the next release.
Brython-3.10.4
The main change in this version is the support of the Python ast module. Brython implementation has been adapted and simplified to adapt to the standard AST structure.
Brython-3.10.3
This is almost the same version as 3.10.2, but the minifier used by CDNs produced an unusable version of brython.min.js
...
Brython-3.10.2
The main visible feature in this version is the implementation of "suggestions" introduced in Python 3.10 : in case of a NameError
, if the namespace has a name similar to the wrong name, the interpreter suggests "did you mean <similar name> ?"
.
Brython 3.10.1 on Netscape 5.0 (Windows)
>>> data = 0
>>> datz
Traceback (most recent call last):
File <string>, line 1, in <module>
NameError: name 'datz' is not defined. Did you mean: 'data'?
>>>
The same applies to AttributeError
:
Brython 3.10.1 on Netscape 5.0 (Windows)
>>> x = 12
>>> x.bitlength()
Traceback (most recent call last):
File <string>, line 1, in <module>
AttributeError: 'int' object has no attribute 'bitlength'. Did you mean: 'bit_length'?
>>>
Another important change is a complete refactoring of comprehensions. The previous version was difficult to undestand / maintain and was not adapted to a future implemention of Python ast.
Brython-3.10.1
The main visible feature in this version is the implementation of "suggestions" introduced in Python 3.10 : in case of a NameError
, if the namespace has a name similar to the wrong name, the interpreter suggests "did you mean <similar name> ?"
.
Brython 3.10.1 on Netscape 5.0 (Windows)
>>> data = 0
>>> datz
Traceback (most recent call last):
File <string>, line 1, in <module>
NameError: name 'datz' is not defined. Did you mean: 'data'?
>>>
The same applies to AttributeError
:
Brython 3.10.1 on Netscape 5.0 (Windows)
>>> x = 12
>>> x.bitlength()
Traceback (most recent call last):
File <string>, line 1, in <module>
AttributeError: 'int' object has no attribute 'bitlength'. Did you mean: 'bit_length'?
>>>
Another important change is a complete refactoring of comprehensions. The previous version was difficult to undestand / maintain and was not adapted to a future implemention of Python ast.
Brython-3.10.0
This version implements most of the features of Python 3.10, including pattern matching (match / case).
Brython-3.9.6
Apart from the usual bug fixes, this version includes:
- important internal implementation changes (strings, conflicts with reserved Javascript names)
- major improvement in loading time for programs that use stdlib modules
- anticipation of Python 3.10 features
- preliminary work to provide a Python-compliant
ast
module
Brython-3.9.5
This version is published mainly to fix an issue that broke the interactive interpreter (#1699).
Brython-3.9.4
Main new features in this version:
- tokenisation of Python code is now compliant with the standard CPython API, with tokens similar to those produced by CPython tokenize module. Rewriting of
py2js.js
to use these tokens, produced in new scriptpython_tokenizer.js
- improvements to module browser.ajax + support of binary mode for the built-in function
open()
- rewriting of many special methods for operations (
__add__()
etc.) on built-in types for better compliance with CPython
Brython-3.9.3
This release fixes a critical bug on iOS.