Skip to content

Releases: brython-dev/brython

Brython-3.6.2

10 Jun 15:20
Compare
Choose a tag to compare

Coming a few days after version 3.6.0, this version is released because of a bug in the CPython package released on the Python Package Index.

It also includes the implementation of PEP 448 (Additional Unpacking Generalizations).

Brython-3.6.0

06 Jun 14:21
Compare
Choose a tag to compare

The main new feature in this release is the introduction of a cache for
precompiled versions of modules in the standard library. The cache is stored
in an indexedDB database attached to the browser. A module is compiled the
first time it is used, or when the Brython version changed. This feature
dramatically improves the loading time of applications that have to import
many modules from the standard library. The implementation is documented in
the wiki page How Brython works.

Other new features :

  • indexedDB cache can't be used for code run by exec(). As an alternative, a
    function browser.run_script(src[, name]) runs the Python script with source
    code src and optional name using this indexedDB cache.

  • a rework of asyncio has been made to be compatible with CPython, with specific
    tests and an adaptation of the built-in test suite (by Jonathan Verner)

  • the previous release (3.5.1) had removed the decorator syntax for event
    binding. In this version, the module browser now includes a function
    bind(target, event) that can be used as a decorator for callback functions

  • open() on binary mode now raises an IOError (this is because browsers don't
    want to set responseType to "arraybuffer" in blocking mode)

  • clarify the disctinction between DOM attributes and properties.
    Attributes are now managed by the attribute "attrs" of DOMNode instances, a
    dict-like object ; properties are managed by the dotted syntax

Brython-3.5.1

17 Apr 06:27
Compare
Choose a tag to compare

The syntax for event binding introduced in version 3.3.5 was used in many examples and in the documentation as

@document[element_id].bind("click")

which is not valid Python (cf issue #805). This now raises a SyntaxError ; all the examples have been rewritten using the legacy syntax, without a decorator.

Another important change in this version is a major rewriting of the Python parser by Jonathan Verner : code cleaning and better modularity.

Brython-3.5.0

23 Mar 07:26
Compare
Choose a tag to compare

This is the final version of Brython 3.5.0, after the release candidate. It fixes a few bugs ; Javascript code has been edited to adopt a standard coding style (to be documented).

Brython-3.5.0rc1

27 Feb 08:35
Compare
Choose a tag to compare
Brython-3.5.0rc1 Pre-release
Pre-release

The main changes in this version are internal implementation changes for classes and name resolution.

With so many changes, it is possible that regressions undetected by the test suite have been introduced, this is why this version is only a release candidate, to be used for tests only. The final release will be published when no major issue have been reported.

Among the other changes in this version, André Roberge has made major improvements to the turtle module and added more tests in the gallery.

Brython-3.4.0

28 Dec 09:36
Compare
Choose a tag to compare

The main feature in this release is the introduction of a templating system, implemented in module browser.template.

Brython-3.3.5

12 Dec 18:03
Compare
Choose a tag to compare

Besides many bug fixes, the main features in this release are :

  • many improvements to the management of bytes objects and base64 encoding
  • support of built-ins memoryview and vars()
  • a new syntax for DOMNode event binding :
@element.bind("click")
def click(ev):
    ...

is the same as

def click(ev):
    ...
element.bind("click", click)

Brython-3.3.4

24 Sep 06:58
Compare
Choose a tag to compare

Coming only a week after 3.3.3, the reason for this version is a bug in the CPython brython package in version 3.3.3. The fixed version on PyPI needs a new version number, so I had to release a new version here to keep version numbers equal.

Brython-3.3.3

16 Sep 12:34
Compare
Choose a tag to compare

This version brings many improvements :

  • add arguments --modules and --make_dist to CPython brython module, to allow distribution of Brython applications through the standard Python process (PyPI, pip). Still work in progress.
  • implementation of f-strings introduced in CPython 3.6 (PEP 498)
  • improvements to metaclass implementation (by "DRo")
  • implement web workers with the webworker module (by Jonathan Verner)
  • simplified version of asyncio and new asyncio.fs module : implements an async open method to access local/remote files (by Jonathan Verner)

The complete changelog is below.

Brython-3.3.2

17 May 12:47
Compare
Choose a tag to compare

This is mostly a bugfix release, with minor implementation improvements and a demo page added in the Brython site home page.