Changes in Brython version 20131201-221358 ========================================== Backward incompatibilities ========================== - the names "doc", "win", "alert", "prompt", "confirm" are no more built-in, they must be imported from the module "browser" - likewise, "JSObject" and "JSConstructor" must be imported from the module "javascript" - the modules ajax, html, local_storage, markdown, pydom, indexed_db, svg must be imported from the package "browser" - functions set_timeout, clear_timeout, set_interval and clear_interval are now defined in the module browser.timer, instead of the module time Site layout =========== - the interactive console is accessed from the link "console", the online editor from the link "editor" Keywords ======== - "raise A from B" not really supported, but doesn't raise a SyntaxError Built-in functions ================== - support of super(), issubclass(), __import__() - complex() is not supported, but is defined so as not to raise a ReferenceError - improved version of callable() - improve enumerate() : argument start, return value of __next__() - improve print() : support keyword argument sep Built-in classes ================ - str.format() returns a fake result, but doesn't raise AttributeError - add comparison methods and __sub__ to booleans - fix __len__ and __repr__ for bytes objects Standard distribution ===================== - add re.compile() - add many modules and packages from the standard Python3.3 distribution : http.cookies, the unittest package, getopt, weakref, optparse, functools... - add namedtuples in _collections - sys : improved version_info, support attribute "modules" Brython distribution ==================== - all the built-in Python modules that are specific to Brython are grouped in the folder Lib/browser : ajax.py html.py local_storage.py markdown.py pydom.py indexed_db.py svg.py timer.py websocket.py Features ======== - descriptors : support method __set__(), fix bugs in property() - support "del foo.bar" - support "except foo.error" or "except foo['error']" (issue #141) - add attributes __name__,__file__,__doc__ to module - add attribute __doc__ for functions and classes - add attribute __dict__ to objects Bug fixes ========= - sorted() didn't work - bugs related to unary minus : (x,-y) - bug in instance creation function if object is already initialized by __new__ - fix bugs in import process, add __BRYTHON__.imported for already imported modules (same as sys.modules) - issue #169 : scope of lambda functions - issue #167 : escape character (\) in strings Documentation ============= - improvements, translation to Spanish (Kiko Correoso) and Portuguese (Yuri Teixeira)