123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932 |
- 20 Apr 2020 - Release 0.28.0
- ===================================
- * Fixing bugs related to lack of typechecking binary operations.
- * String >> , now only accepts strings and character arrays.
- * Number arithmetics and bit manipulations only accept numbers.
- * Number comparisons return false for non-numbers.
- Commits: https://lolg.it/amber/amber/commits/0.28.0
- 19 Apr 2020 - Release 0.27.1
- ===================================
- * Fixes.
- Commits: https://lolg.it/amber/amber/commits/0.27.1
- 14 Apr 2020 - Release 0.27.0
- ===================================
- * Inspectors protocol is changed.
- * The inspectOn: now sets list of associations in setVariables:.
- * Breaking for objects acting as inspectors that assume Dictionary.
- * Both IDEs were updated to assoc-list first, with backward compat.
- * Inspecting big (~10k) collections is drastically faster.
- Commits: https://lolg.it/amber/amber/commits/0.27.0
- 13 Apr 2020 - Release 0.26.0
- ===================================
- * Kernel simplification in context and error handling.
- * Kernel no longer handles errors.
- * BrowserPlatform installs unhandled exception / promise handlers.
- * Develop on modern browsers (production should not be harmed).
- * Kernel no longer sets up thisContext chain.
- * MethodContext takes care of the lazy initialization.
- Commits: https://lolg.it/amber/amber/commits/0.26.0
- 12 Apr 2020 - Release 0.25.3
- ===================================
- * Fix error handling broken by errors happening in Promises.
- Commits: https://lolg.it/amber/amber/commits/0.25.3
- 11 Apr 2020 - Release 0.25.2
- ===================================
- * Changed thisContext hydrating in kernel
- * Set up so better stack traces are shown in debugger, esp. for async
- * Can be breaking for code that depends on old hydration (unlikely).
- Commits: https://lolg.it/amber/amber/commits/0.25.2
- 9 Apr 2020 - Release 0.25.1
- ===================================
- * Quick release to shorten inspector labels for big collections.
- Commits: https://lolg.it/amber/amber/commits/0.25.1
- 8 Apr 2020 - Release 0.25.0
- ===================================
- * Teachable class (in SUnit package).
- * $core.removeClass returns removed class.
- * Subclassing JS classes, <jsOverride:(args:)> pragma.
- * Both 'nil' and '$nil' compiled in method code.
- * '$nil' used as receiver, 'nil' used to pass a value.
- * Cleaned error-handling code.
- * More Set fixes.
- Commits: https://lolg.it/amber/amber/commits/0.25.0
- 4 Jun 2019 - Release 0.24.0
- ===================================
- * Subclasses of captured system classes now inherit new methods.
- * Object.setPrototypeOf was needed to fix, no IE9 / IE10 any more.
- * Working supersends in trait methods.
- * New form of method with more late binding.
- * Loading old form supported, but compiler always compiles in new format.
- * As TMethodContext >> printOn: works now, less annoyances in Helios debugger.
- Commits: https://lolg.it/amber/amber/commits/0.24.0
- 3 Jun 2019 - Release 0.23.2
- ===================================
- * Some fixes.
- * API for `fetch` in Platform.
- * Last release compatible with IE9 and IE10.
- * Fixing issue #1240 needs operations not possible there.
- Commits: https://lolg.it/amber/amber/commits/0.23.2
- 26 Mar 2019 - Release 0.23.1
- ===================================
- * Deprecate global "SmalltalkParser".
- * Lot of small fixes in engine and IDEs.
- Commits: https://lolg.it/amber/amber/commits/0.23.1
- 25 Feb 2019 - Release 0.23.0
- ===================================
- * Remove kernel-level deprecations.
- * `imports:` loaded lazily using isReady promise
- * you can have circular `import:` clauses
- * you cannot presume your `import:` dependency is initialized in your own class-level `initialize`
- * `aJsObject Uppercase: foo and: bar` is called as `aJsObject.Uppercase(foo, bar)`
- * only the unary `aJsObject Uppercase` is special and returns `aJsObject.Uppercase`
- * so far all uppercase selectors made an exception, even ones with args
- * `aJsObject selector: foo withMoreArguments: bar` fails if `aJsObject.selector` is not a function
- * only the single-arg `aJsObject selector: foo` sets the value `aJsObject selector = foo`
- * so far even more-than-one-arg ones did set the value denoted by first keyword
- * Namespace change: amber_core => amber/core.
- * Backward compatibility mapping added, so old code should load and save with new implicit deps.
- * You must edit explicit deps (aka `imports:`) as well as Gruntfile, deploy, testing and devel .js files yourself.
- * Instance variables are now compiled as `obj.ivarName` instead of `obj["@ivarName"]`.
- * There is compat layer so old code is loadable.
- * Classes can be created using API containing `slots: {#foo. #bar}` instead of `instanceVariableNames: 'foo bar'`
- * Smalltalk files are saved using this new API.
- * No actual slots yet, only 'plain data slots' eg. instance variables.
- Commits: https://lolg.it/amber/amber/commits/0.23.0
- 18 Feb 2019 - Release 0.22.6
- ===================================
- * Bug fix in the use of recently added isReady promise for packages.
- Commits: https://lolg.it/amber/amber/commits/0.22.6
- 15 Feb 2019 - Release 0.22.5
- ===================================
- * Bug fix in recently introduced amber/helpers loadPackages.
- * Some internal API changed to be future-proof for lazy dependents.
- Commits: https://lolg.it/amber/amber/commits/0.22.5
- 11 Feb 2019 - Release 0.22.4
- ===================================
- * Fixes.
- * Flatter Collection hierarchy with traits, remove IndexableCollection class.
- * Remove some old IE8 cruft.
- * Push CharacterArray down, make it and alias to String and deprecate it.
- Commits: https://lolg.it/amber/amber/commits/0.22.4
- 24 Jun 2018 - Release 0.22.1
- ===================================
- * Added one usable API: {BlockClosure,Class} >> provided.
- Commits: https://lolg.it/amber/amber/commits/0.22.1
- 22 Jun 2018 - Release 0.22.0
- ===================================
- * Simple pragmas.
- * `<inlineJS: '...'>` is an (only implemented so far) pragma.
- * Remove legacy inline JS syntax (only <inlineJS: '...'> works).
- * Programmatic loading of packages works.
- * Use new @ambers/sdk (at least 0.10.5) (formerly amber-dev).
- * Remove some older deprecated API.
- Commits: https://lolg.it/amber/amber/commits/0.22.0
- 8 Apr 2018 - Release 0.21.1
- ===================================
- * A few new APIs, one bug fix.
- Commits: https://lolg.it/amber/amber/commits/0.21.1
- 28 Feb 2018 - Release 0.21.0
- ===================================
- * Kernel assumes global variable `global` exists.
- * In browser, it must be polyfilled before loading amber.
- * Smalltalk-level code should continue to use `Platform globals`.
- Commits: https://lolg.it/amber/amber/commits/0.21.0
- 12 Nov 2017 - Release 0.20.0
- ===================================
- * Kernel changes, so differences in .js files. Recompile your projects with `grunt`.
- * Use new amber-dev (0.10.1 atm).
- Commits: https://lolg.it/amber/amber/commits/0.20.0
- 7 Oct 2017 - Release 0.19.2
- ===================================
- * Silent bower-only release
- * Removed dependency on amber/Platform and amber/compatibility.
- * Thus, can be used with amber-dev 0.10.0 and grunt template 0.19.5.
- Commits: https://lolg.it/amber/amber/commits/0.19.2.
- 18 Jun 2017 - Release 0.19.1
- ===================================
- * Kernel slimmed, things moved to Smalltalk side.
- * Kernel (via kernel-runtime.js) calls only this Smalltalk-side API:
- * AmberBootstrapInitialization class >> run
- * Message class >> selector:arguments:notUnderstoodBy:
- * Dictionary class >> newFromPairs:
- * ErrorHandler class >> handleError:
- * JSObjectProxy class >> on:
- * NonBooleanReceiver class >> signalOn:
- * TMasterBehavior >> enterOrganization
- * TMasterBehavior >> leaveOrganization
- * TBehaviorProvider >> methodOrganizationEnter:andLeave:
- * Set fix (#1224).
- Commits: https://lolg.it/amber/amber/commits/0.19.1.
- 20 April 2017 - Release 0.19.0
- ===================================
- * Removed BehaviorBody in favour of traits TBehaviorDefaults and TBehaviorProvider.
- * Move Thenable class to TThenable trait.
- * Removed `.allowJavaScriptCalls` flag.
- * Internal `.isNil` deprecated in favour of `.a$nil`.
- * Internal `.klass` deprecated in favour of `.a$cls`.
- * Both 'self' and '$self' compiled in method code.
- * '$self' used as receiver, 'self' used to pass a value.
- * Libs bumped: amber-contrib-{web,jquery,legacy}, helios, domite, silk.
- Breaks fw compat, uses `a$nil` and `a$cls` when compiling / saving code.
- May break bw compat for code using `.allowJavaScriptCalls` (very unlikely).
- Commits: https://lolg.it/amber/amber/commits/0.19.0.
- 7 April 2017 - Release 0.18.5
- ===================================
- * Fix inability to change ivars.
- * Wrapper-JQuery bumped to use inlineJS: syntax.
- Commits: https://lolg.it/amber/amber/commits/0.18.5.
- 5 March 2017 - Release 0.18.4
- ===================================
- * Fix export of extension trait methods.
- Commits: https://lolg.it/amber/amber/commits/0.18.4.
- 22 February 2017 - Release 0.18.3
- ===================================
- * Traits, with a few limitations and incomplete IDE support.
- * Methods / classes / traits are recompiled when moved (fix #1142, #1170).
- Commits: https://lolg.it/amber/amber/commits/0.18.3.
- 1 January 2017 - Release 0.18.2
- ===================================
- * DOM-related stuff in own package (not loaded by default, use imports:).
- * Accompanying libs updated and semver-bumped: Web, Domite, Helios-* and IDE.
- * Silk is high-level enough so no bump neither b/c of inlineJS: nor b/c of DOM stuff needed.
- * Wrapper-JQuery bump postponed.
- Commits: https://lolg.it/amber/amber/commits/0.18.2.
- 21 November 2016 - Release 0.18.1
- ===================================
- * Parser fails fast on mistyped inlineJS: form.
- * Previously, it treated it as legacy form.
- Commits: https://lolg.it/amber/amber/commits/0.18.1.
- 5 November 2016 - Release 0.18.0
- ===================================
- * Remove some old internal pieces.
- * Allow new syntax for inline JS method body: <inlineJS: '...js code...'>
- * If used in libraries / reused modules, breaks fw compat.
- * Old syntax is deprecated, but retained in libraries for some grace period.
- May break bw compat because of removed internal pieces.
- Commits: https://lolg.it/amber/amber/commits/0.18.0.
- 19 October 2016 - Release 0.17.0
- ===================================
- * Remove some deprecated classes and methods.
- * Fix fw compat break of 0.16.1.
- Breaks bw compat because of removed deprecated pieces.
- Commits: https://lolg.it/amber/amber/commits/0.17.0.
- 27 September 2016 - Release 0.16.1
- ===================================
- * Fix node builds (lazy loaded kernel-runtime wasn't packaged).
- * amber-dev upgrade (to fix UMDs checking for module before define).
- * Kernel files use 'use strict'.
- <del>Breaks fw compat (uses $boot.nilAsClass in supersends)</del>.
- Commits: https://lolg.it/amber/amber/commits/0.16.1.
- 25 September 2016 - Release 0.16.0
- ===================================
- * boot.js overhaul:
- * brikz external, reworked to less imperative (no ensure call).
- * addClass returns the class.
- * no wrapClassName, using setClassConstructor in later stage.
- * traverseClassTree (eg allSubclassesDo:) in kernel, not allSubclasses.
- * runtime part extracted to kernel-runtime.js.
- * runtime loaded lazily, packages can load without runtime in.
- * initialize returns a Promise.
- * init done automatically upon class creation if runtime is active.
- * amber-dev upgrade (to honour initialize returning a Promise).
- * Edits relating to lolg.it move.
- * Fixes.
- May break bw compat for kernel API using code.
- Commits: https://lolg.it/amber/amber/commits/0.16.0.
- 6 February 2016 - Release 0.15.1
- ===================================
- * From this version on, Amber will fully comply to semver:
- * Any breaking change will result in increase of first non-zero number.
- * If first non-zero number is not changed, no breaking changes are present in release.
- * Changed how ST globals are implemented, resulting in shorter and faster code.
- * Not working any more on IE8 (b/c of changed globals).
- * amber.initialize(...) returns a promise.
- * JS global Promise must be present.
- * If missing, you can polyfill with `bower install amber-compat-es2015 --save`.
- * JS Promise is wrapped in ST class Promise.
- * Accompanying libs updated and semver-bumped:
- * Wrapper-JQuery, Web, Domite, Silk, IDE, Helios-*.
- Commits: https://github.com/amber-smalltalk/amber/compare/0.14.18...0.15.1.
- 1 January 2016 - Release 0.14.18
- ===================================
- Maintenance release.
- Cleaning the code in compiler and parser.
- Some bug fixes (in compiler/interpreter as well as in other places).
- Breaks fw compat (uses $boot.dnu in supercall).
- Commits: https://github.com/amber-smalltalk/amber/compare/0.14.17...0.14.18
- 6 October 2015 - Release 0.14.17
- ===================================
- Maintenance release.
- Some fixes, optimizations and moving things around.
- Using virtual module "amber/Platform". This needs to be mapped
- to either "amber_core/Platform-Browser" or "amber_core/Platform-Node".
- Commits: https://github.com/amber-smalltalk/amber/compare/0.14.16...0.14.17
- 20 June 2015 - Release 0.14.16
- ===================================
- Bugfix release - Date >> =, Class >> javascriptConstructor:.
- Commits: https://github.com/amber-smalltalk/amber/compare/0.14.15...0.14.16
- 9 June 2015 - Release 0.14.15
- ===================================
- Bugfix release - in some browsers, package commit failed.
- Commits: https://github.com/amber-smalltalk/amber/compare/0.14.14...0.14.15
- 24 May 2015 - Release 0.14.14
- ===================================
- Highlights:
- * Extraction of `Web` and `Wrappers-JQuery` to own repos.
- * Amber core itself formally with no production dependencies.
- * Packages with 'use strict'.
- * `PlatformInterface` replaced by services `Terminal` and `Platform`.
- Commits: https://github.com/amber-smalltalk/amber/compare/0.14.13...0.14.14
- 29 March 2015 - Release 0.14.13
- ===================================
- Highlights:
- * Rename namespaces of `Web` and `Wrappers-JQuery`.
- Commits: https://github.com/amber-smalltalk/amber/compare/0.14.12...0.14.13
- 22 February 2015 - Release 0.14.12
- ===================================
- Highlights:
- * Wrapped JS object can be put on streams via aStream << anObject.
- Commits: https://github.com/amber-smalltalk/amber/compare/0.14.11...0.14.12
- 21 February 2015 - Release 0.14.11
- ===================================
- Highlights:
- * `anObject in: aBlock` added
- * ProtoStream with extracted basic streaming protocol.
- Commits: https://github.com/amber-smalltalk/amber/compare/0.14.10...0.14.11
- 17 February 2015 - Release 0.14.10
- ===================================
- Highlights:
- * Package renames, classes moved between packages:
- * Web and Wrappers-JQuery in amber-contrib-xxx namespaces,
- * Platform-Xxx packages to keep Kernel-Xxx to kernel.
- * Some core speedups.
- Commits: https://github.com/amber-smalltalk/amber/compare/0.14.4...0.14.10
- 1 February 2015 - Release 0.14.4
- ===================================
- Highlights:
- * Compiler now allows the "import them as package-global vars" of 0.14.3.
- * Some core speedups.
- Commits: https://github.com/amber-smalltalk/amber/compare/0.14.3...0.14.4
- 20 January 2015 - Release 0.14.3
- ===================================
- Highlights:
- * Package can specify external dependencies and import them as package-global vars.
- Commits: https://github.com/amber-smalltalk/amber/compare/0.14.2...0.14.3
- Issues: https://github.com/amber-smalltalk/amber/issues?q=milestone%3A0.14.3+is%3Aclosed
- For the most important API related changes see the file API-CHANGES.txt.
- 11 January 2015 - Release 0.14.2
- ===================================
- Highlights:
- * Slimmed core - es5-shim and IE8 compatibilty tweaks in amber-compat-* repos.
- Commits: https://github.com/amber-smalltalk/amber/compare/0.14.1...0.14.2
- For the most important API related changes see the file API-CHANGES.txt.
- 8 January 2015 - Release 0.14.1
- ===================================
- Highlights:
- * Slimmed core - legacy IDE, Examples and Benchfib in own repo.
- * Smalltalk optOut: used instead allowJavaScriptCalls to make jQuery work.
- Commits: https://github.com/amber-smalltalk/amber/compare/0.14.0...0.14.1
- For the most important API related changes see the file API-CHANGES.txt.
- 1 January 2015 - Release 0.14.0
- ===================================
- Highlights:
- * Removed deprecated stuff and backward compatibility support code.
- * You can wrap any object using #asJQuery.
- Commits: https://github.com/amber-smalltalk/amber/compare/0.13.2...0.14.0
- Issues: https://github.com/amber-smalltalk/amber/issues?q=is%3Aissue+is%3Aclosed+milestone%3A0.14.0
- For the most important API related changes see the file API-CHANGES.txt.
- 31 December 2014 - Release 0.13.3
- ===================================
- This is a planned maintenance release.
- It contains everything 0.14.0 contains,
- but it retains all the backwards compatibility stuff,
- which is going to be removed in 0.14.0.
- 22 October 2014 - Release 0.13.2
- ===================================
- This is maintenance release to upgrade CodeMirror
- jointly in Amber and Helios.
- Highlights:
- * CodeMirror upgrade for Amber and Helios.
- * Cleaned of all (as far as findable) uses of deprecated code.
- * Recompile using `grunt` in Windows now does not add cr characters.
- Commits: https://github.com/amber-smalltalk/amber/compare/0.13.0...0.13.2
- For the most important API related changes see the file API-CHANGES.txt.
- 10 October 2014 - Release 0.13.1
- ===================================
- Highlights:
- * Reworked cleaner DNU handling in core.
- * `amber init` fully embraced as the way to create new project.
- * Helios IDE is extracted and is now a project on its own.
- * It is included as dev-dependency in any new project by default.
- * Movable data out of index.html:
- * list of production packages in deploy.js;
- * list of development packages in devel.js;
- * project amd mappings in local.amd.json;
- * libraries' amd mappings in lib_directory.amd.json.
- * 'Batteries included' deployment via `grunt deploy`.
- * 0.13.1 because of technical issues w/ 0.13.0 release process.
- Commits: https://github.com/amber-smalltalk/amber/compare/0.12.6...0.13.0
- Issues: https://github.com/amber-smalltalk/amber/issues?q=is%3Aissue+is%3Aclosed+milestone%3A0.13.0
- For the most important API related changes see the file API-CHANGES.txt.
- 1 July 2014 - Release 0.12.6
- ===================================
- Highlights:
- * SUnit Runner in Helios IDE.
- * `amber` and `amberc` cli moved to `external` directory
- and to dedicated npm package.
- * Bootstrap 3 can be used in Amber projects
- (no more nameclash with Helios' bootstrap 2 using bootstrap2.3.2 name).
- * Wider range of jQuery versions allowed.
- * Amber now parses `$c` character literal.
- * `amber` is not to be installed globally any more.
- Instead, `npm install -g amber-cli` installs cli tooling.
- * After installing the cli tooling, `amber init` initializes
- new project if run in empty directory.
- Commits: https://github.com/amber-smalltalk/amber/compare/0.12.4...0.12.6
- Issues: https://github.com/amber-smalltalk/amber/issues?milestone=13&state=closed
- For the most important API related changes see the file API-CHANGES.txt.
- 11 April 2014 - Release 0.12.4
- ===================================
- Highlights:
- * Fixed backward compatibility for pre-0.12.3 loader syntax.
- * `namespace/_source` is not needed to map and is recommended
- not to use; `.st` files are by default committed to the `.js` location.
- * All sources, including js files into the src/ directory
- * Many improvements in Helios, especially in its debugger and
- inspector, as well as UI-related improvements
- * New Helios dark theme by @BenjaminVanRyseghem
- Commits: https://github.com/amber-smalltalk/amber/compare/0.12.3...0.12.4
- Issues: https://github.com/amber-smalltalk/amber/issues?milestone=12&state=closed
- For the most important API related changes see the file API-CHANGES.txt.
- 22 January 2014 - Release 0.12.3
- ===================================
- Highlights:
- * JQuery updated to ~1.10.2; jquery-ui updated to match
- * Subclasses of `nil` can be created
- * Several fixes for IE8
- * amber.js can be loaded asynchronously (it must
- have an id 'amber-path-mapper' in that case)
- * CodeMirror updated to ~3.20.0
- Commits: https://github.com/amber-smalltalk/amber/compare/0.12.2...0.12.3
- Issues: https://github.com/amber-smalltalk/amber/issues?milestone=11&state=closed
- For the most important API related changes see the file API-CHANGES.txt.
- 3 December 2013 - Release 0.12.2
- ===================================
- Highlights:
- * Loading Amber in nested pages now possible (via additional `data-libs` attribute of the `<script>` tag which loads `amber.js`)
- * IDE related fixes
- * Contributions Guide
- * Improved Collections
- * Amber Server responds with `not found` instead of `internal server error` if `index.html` could not be found
- Commits: https://github.com/amber-smalltalk/amber/compare/0.12.1...0.12.2
- Issues: https://github.com/amber-smalltalk/amber/issues?milestone=10&state=closed
- For the most important API related changes see the file API-CHANGES.txt.
- 14 November 2013 - Release 0.12.1
- ===================================
- Fixes a bug in Helios preventing class definitions from being compiled
- Commits: https://github.com/amber-smalltalk/amber/compare/0.12.0...0.12.1
- Issues: https://github.com/amber-smalltalk/amber/issues?milestone=9&state=closed
- 11 November 2013 - Release 0.12.0
- ===================================
- After 3 months of work we are pleased to announce the 0.12.0 release of Amber.
- Besides the usual bug fixes a lot of new features have emerged.
- The biggest change is the switch to RequireJS to specify Amber package dependencies
- and for loading the packages as AMD modules.
- Amber is now additionally available as Bower [2] component.
- Bower is also used to manage required JavaScript libraries which don't have to be kept
- around in the repository anymore.
- The repository layout was restructured to provide a cleaner separation of different Amber parts:
- * Smalltalk code is located in 'st'
- * Compiled Amber packages are located in 'js'
- * Supporting JavaScript code is located in 'support'
- Together with the RequireJS changes the specifying their dependencies the Brickz [3]
- reconfigurable micro composition system was introduced.
- This is used for
- On the Smalltalk side support has been added for writing exponential numbers of the form 2e5.
- Helios (the new IDE) is progressing nicely and has seen a lot of improvements.
- One of the great parts is the new stepping debugger which is also making progress.
- To try Helios, open the helios.html page or
- evaluate in any other amber page `require('amber/helpers').popupHelios()`.
- The last enhancements target the commandline compiler which can be used as
- `amberc` (an executable script) or as a Grunt task.
- The following features have been added:
- * generation of shebang line (#!/usr/bin/env node)
- * specification of target namespace (`-n` flag; `amd_namespace` option in Grunt)
- * specification of additional library directories (`-L` flag; `library_dirs` option in Grunt)
- The following features have been removed:
- * creation of *.deploy.js files (`-d` flag; `deploy` option in Grunt)
- * optimization passes via Closure compiler (`-o`/`-O` flags; `closure_jar` option in Grunt)
- The same behavior can be achieved by using specific Grunt tasks
- Additionally, the Grunt task now handles the -v/--verbose flag which triggers the same behavior
- as the `verbose` option which can be specified in the Gruntfile.
- Some numbers about this release (starting from 0.11.0):
- * 660 commits
- * 10 committers
- * 66 unit tests added
- * 152 issues were closed
- * 379 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
- For the most important API related changes see the file API-CHANGES.txt.
- * Installing Amber from NPM
- To install Amber from NPM, run
- npm install amber
- * Installing Amber from Bower
- To install Amber from Bower, run
- bower install amber
- * Migration from Amber 0.11.0
- First, the loading of JavaScript files must be adapted. The custom loader has been replaced with
- requirejs for loading files in the browser. New loader code is thouroughly
- explained in [4].
- After updating the loader part, `.st` files need to be recompiled
- into new AMD `.js` files. During loader changes, a namespace was choosen and will be needed for recompilation.
- Go to your directory with `.st` files and issue this from the shell:
- ```sh
- <path-to-amber>/bin/amberc -l SUnit,Canvas -n <chosen-namespace> -D <path-for-compiled-js-files> *.st
- ```
- In windows, use `\` as path separator, the rest is identical.
- The `-l SUnit,Canvas` is just a general guess, if your code depends on more (or less) non-kernel packages from amber, list them here accordingly.
- This migrate scenario only covers simple deployments with your project's code and amber.
- If your project is more complicated, using libraries and packages from multiple sources,
- it is hard to give general advices to migrate - you must do it library by library,
- giving each location its own namespace, and `-L` option of `amberc`
- comes handy when integrating; ask on the mailing list if problems arise.
- [1] http://requirejs.org/
- [2] http://bower.io/
- [3] https://github.com/amber-smalltalk/brikz
- [4] https://github.com/amber-smalltalk/amber/wiki/How-to-load-amber
- 9 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.
- 13 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
- 16 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
- 13 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.
|