2013 - Release 0.12.0 =============================== Some numbers about this release: * commits * committers * increasing the number of core committers to * unit tests added to the kernel * unit tests in total Commits https://github.com/amber-smalltalk/amber/compare/0.11.0...0.12.0 Issues https://github.com/amber-smalltalk/amber/issues?direction=desc&milestone=8&page=1&sort=updated&state=closed * Helios IDE, release candidate * Use of require [1] to load amber packages in the browser * Restructuring of boot.js, use of the brickz[2] reconfigurable micro composition system * Enhanced REPL [1] http://requirejs.org/ [2] https://github.com/amber-smalltalk/brikz For API related changes see the file API-CHANGES.txt. 09th July 2013 - Release 0.11.0 =============================== Three months have passed and we are happy to announce the release of Amber 0.11.0! Some numbers about this release: * 494 commits * 13 committers * increasing the number of core committers to 25 * 50 unit tests added to the kernel * 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/compare/0.10.0...0.11.0 https://github.com/amber-smalltalk/amber/issues?direction=desc&milestone=6&page=1&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 For API related changes see the file API-CHANGES.txt. 13th March 2013 - Release 0.10.0 ================================ Here's a summary of change since the 0.9.1 release: - Travis CI jobs - Almost 300 issues closed - 150 new unit tests written - All classes in the Kernel are documented - New and much improved compiler toolchain, providing: - Semantic analysis - AST Node annotation - Intermediate representation (easier to optimize) - Better inlining - an AST interpreter - support for blocks contexts - New build system based on grunt.js, replacing the old makefiles - New bin/amberc compiler written in Amber/Node.js - SUnit improvements and cleanup, with support for async assertions - Improved ClassBuilder with better class migration support - Improved loader for third party packages - New: Announcements - Classes can be augmented by light-weight methods created from blocks - Snippets of HTML can be marked to become virtual tags in HTMLCanvas - Amber server supports Basic HTTP authentication (not recommended for production environments/unencrypted connections) - New IDE on it's way for Amber 1.0 16th January 2012 - Release 0.9.1 ================================= Here's a summary of changes since the 0.9 release: - 80 new unit tests written - 52 issues fixed - All classes in Kernel-Objects, Kernel-Classes and Kernel-Methods has been documented - New documentation framework (see http://amber-lang.net/documentation.html) - Better class organisations, "Kernel" package split into several packages - First class packages have replaced class categories - Internet Explorer 7+ compatibility - New Announcement framework ported from Pharo - New console-based REPL written in Amber using node.js - Symbol class implemented together with object identity and #== - New OrderedCollection and Set implementation - Dictionary can now have any kind of object as keys. String-key dictionary has been renamed HashedCollection - New TwitterWall example - Improved HTML Canvas, now compatible with IE7 - Improved JSObjectProxy for seamless JavaScript objects access from Amber - No more jQuery binding. Amber is fully capable of sending messages to JavaScript objects 13th September 2011 - Release 0.9 ================================= Amber has been evolving furiously since the presentation at ESUG 2011 in Edinburgh less than 3 weeks ago. This is a summary: Language, compiler and runtime - New 100x faster parser built using PEGjs instead of the old parser built using PetitParser. - New much faster ChunkParser implementation in handwritten Amber instead of using PetitParser. - Improved parsing error report with quoted source code plus marker pinpointing parsing error. - Removed PetitParser since it is no longer needed by Amber itself. - Added compiler optimizations in the form of speculative inlining of specific messages and control structures. - Added support for dynamic Arrays, just like in Squeak/Pharo. - Added support for similar dynamic Dictionaries, not seen in other Smalltalks. - Added & and | as allowed binary selectors and implemented them in Boolean. - Added a Set implementation. - Added first basic support for real Packages with dependency information. ...and various extensions, enhancements and bug fixes to the library classes. Development environment - A working Debugger with integrated inspector, proceed etc. - A new structure with - A working amberc command line compiler including a Makefile for recompiling the whole Amber. - Enabled TestRunner in the IDE for running unit tests based on SUnit. - Added "File in" button in Workspace to easily paste and filein source code in chunk format in the IDE. Example code and ports - Ported ProfStef interactive tutorial, available on Amber homepage but also in examples directory. - Included the ESUG presentation as an example also in the examples directory. - Several new examples running on Node.js and webOS included, all with Makefiles. Various other things - Issue tracker on github now used as primary source, closed a bunch of reported issues. - Wiki pages on github with information on how to port code from other Smalltalks, lists of articles, tutorials, roadmap and more.