Amber 0.11.0 released!
* About the release Three months have passed and we are happy to announce the release of Amber 0.11.0! Some numbers about this release: 433 commits by 13 committers, increasing the number of core committers to 25. 50 unit tests were added to the kernel, bringing us to 313 unit tests in total. Since the last release 60 issues were closed, bringing us to 499 issues closed. This release includes a lot of bug fixes, improvements to the CLI, as well as a preview of the next IDE, named Helios. Amber now also uses a CI server [1]. To try the Helios, the new IDE, open the helios.html page, or evaluate in any other amber page `amber.loadHelios()`. The compiler also received some improvements, especially regarding message send optimisations and super sends. Here's the list of commits and closed issues: https://github.com/amber-smalltalk/amber/commits/master https://github.com/amber-smalltalk/amber/issues?direction=desc&sort=updated&state=closed There is a lot more to come with Helios, a stepping debugger based on the AST is in progress and currently in the 'debugger' branch on GitHub. * Installing Amber from NPM To install amber from NPM, run npm install amber * Migration from Amber 0.10.0 Amber compiled code should be compatible with Amber 0.10.0, but recompiling is needed in order to get contexts working: Compiler new recompile: (Package named: 'MyPackage') classes. (Package named: 'MyPackage') commit * API changes 0.11.0: * AnnouncementSubscription use #valuable: instead of #block: (deprecated) * AbstractCodeGenerator inherits from Object, not NodeVisitor * Object>>printString * replace >>printString with >>printOn: * replace >>storeString with >>printString * PackageLoader is now PackageHandler (>>commit: >>setupPackagenamed:prefix: >>ajaxPutAt:data: * Package>>fetch: is now Package>>load: * Package>>fetch:prefix: is now Package>>load:prefix: * Queue>>front replaced by Queue>>next * Queue>>frontIfAbsent: replaced by Queue>>nextIfAbsent: * Queue>>back: replaced by Queue>>nextPut: * smalltalk.addMethod() does not use explicit JS selector * JSObjectProxy>>canForwardMessage: replaced by use of JSObjectProxy>>lookupProperty: with asJavaScriptSelector * JSObjectProxy>>forwardMessage: replaced by explicit JSObjectProxy>>forwardMessage:withArguments: * String>>asJavaScriptSelector moved to Kernel-Objects package + Object>>asString + Object>>putOn: + String>>isVowel + Collection>>putOn: + CharacterArray>>putOn: + Stream>><< + Stream>>write + SequenceableCollection>>newStream + SequenceableCollection>>readStream + SequenceableCollection>>stream + SequenceableCollection>>streamClass + SequenceableCollection>>writeStream + Collection>>isImmutable + Stream>>nextPutString: + StringStream>>nextPutString: + JSStream>>nextPutClassRefFunction: + String>>crlfSanitized + inlined Block now also responds to >>value: + Parser: split literal into runtimeLiteral and parseTimeLiteral + Parser: write #(4 #(5 6 #()) 7) as #(4 (5 6 ()) 7) + Parser: write #(#on:do: #Object) as #(on:do: Object) + Parser: Symbols for binarie selectores + Package>>commit + AIContext>>initializeLocals + ASTInterpreter>>withBlockContext: + smalltalk.allSelectors() + Object>>isCompiledMethod + Object>>isPackage + Object>>isBehavior + ClassMoved Announcemen class + Behavior>>includesBehavior: + Environment>>classes + Environment>>allSelectors + Environment>>removeProtocol: + Environment>>renameProtocol:to:in: + CompiledMethod>>protocol: + Smalltalk>>globalJsVariables + Smalltalk>>addGlobalJsVariable: + Smalltalk>>deleteGlobalJsVariable: - Object>>storeOn: - Object>>log:block: - Object>>printNl - Compiler-IR.st >>javascriptSelector - Compiler-IR.st >>nextPutVar: - Kernel-Collections.st >>asSuperSelector - Collection>>readStream - Collection>>stream - Collection>>streamClass - Collection>>writeStream - Symbol class (replaced with String) - IRInlinedNonLocalReturn class - IRInlinedSend>>nonLocalReturnInliner - IRNonLocalReturnInliner class - Package>>dependencies - Package>>dependencies: - Package>>properties - Package>>jsProperties - Package>>jsProperties: - Package>>propertiesAsJSON - Package>>propertyAt: - Package>>propertyAt:ifAbsent: - Package>>propertyAt:put: - Browser>>ajaxPutAt:data: We hope you join us in developing Amber and having fun! Fork at github, join in #amber-lang on freenode and hop onto the mailing list. The Amber crew [1] https://travis-ci.org/amber-smalltalk/amber _______________________________________________ Esug-list mailing list [hidden email] http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org |
Free forum by Nabble | Edit this page |