Skip to content

Commit

Permalink
0.12.0 release preparations
Browse files Browse the repository at this point in the history
  • Loading branch information
Manfred Kroehnert committed Oct 29, 2013
1 parent da27f04 commit b75298a
Show file tree
Hide file tree
Showing 2 changed files with 137 additions and 20 deletions.
68 changes: 68 additions & 0 deletions API-CHANGES.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,71 @@
0.12.0:

* SmalltalkMethodContext.prototype.fillBlock() takes a third 'index' parameter
* Existing classes moved to new KernelInfrastructure package
* ImporterExporter
* are now StreamExporters
* aware of AMD namespaces
* support transport types and commit channels


+ Node
+ >>nextChild
+ >>method
+ >>postCopy
+ >>isCascadeNode
+ >>isLastChild
+ BlockNode
+ >>nextNode:
+ >>nextChild
+ SendNode
+ >>isCascadeSendNode
+ >>shouldBeAliased
+ CompiledMethod>>sendTo:arguments:
+ Array
+ >>adFirst:

This comment has been minimized.

Copy link
@mkroehnert

mkroehnert Oct 29, 2013

Contributor

Yes.

+ >>removeLast
+ ValueNode>>xxxDoIt

This comment has been minimized.

Copy link
@NicolasPetton

NicolasPetton Oct 29, 2013

Member

IIRC the method is added in the debugger/inspector when you evaluate code. It should never be committed or stay installed in the class though :/

I'll remove it.

+ Number
+ >>ceiling
+ >>floor
+ >>asNumber
+ >>//
+ >>cos
+ >>sin
+ >>tan
+ >>arcCos
+ >>arcSin
+ >>arcTan
+ >>log
+ >>log:
+ >>raisedTo:
+ >>sign
+ >>**
+ >>ln
+ >>e
+ String
+ class>>esc
+ >>asMutator
+ >>capitalized
+ >>isCapitalized
+ JSProxy>>printString
+ Behavior
+ >>ownProtocols
+ >>ownMethods
+ JSStream>>nextPutSendIndexFor:
+ InterfacingObject class
+ Interpreter class
+ DocumentFragmentTag class
+ AbstractExporter class
+ PlatformInterface class


- Node>>extent
- JSStream>>nextPutStatement:with:
- Smalltalk.installSuperclass()
- ClassReferenceNode class (now handled via VariableNode)


0.11.0:

* AnnouncementSubscription use #valuable: instead of #block: (deprecated)
Expand Down
89 changes: 69 additions & 20 deletions CHANGELOG
Original file line number Diff line number Diff line change
@@ -1,29 +1,78 @@
2013 - Release 0.12.0
===============================

Some numbers about this release:
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 using RequireJS to specifying 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 `amber.loadHelios()`.

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):

* commits
* committers
* increasing the number of core committers to
* unit tests added to the kernel
* unit tests in total
* 9 committers
* 66 unit tests added
* 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
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
For the most important API related changes see the file API-CHANGES.txt.

[1] http://requirejs.org/
[2] https://github.com/amber-smalltalk/brikz

For API related changes see the file API-CHANGES.txt.
* Installing Amber from NPM

To install Amber from NPM, run

npm install amber

This comment has been minimized.

Copy link
@NicolasPetton

NicolasPetton Oct 29, 2013

Member

Shouldn't we ship amber with the bower dependencies already fetched?

This comment has been minimized.

Copy link
@mkroehnert

mkroehnert Oct 29, 2013

Contributor

If Amber is used/installed via Bower then the dependencies get fetched automatically if I am correct.
So this is probably only the usecase needed for people developing on Amber itself.


* Installing Amber from Bower

To install Amber from Bower, run

bower install amber

* Migration from Amber 0.11.0

This comment has been minimized.

Copy link
@mkroehnert

mkroehnert Oct 29, 2013

Contributor

@Herby could you fill in this spot?

This comment has been minimized.

Copy link
@NicolasPetton

NicolasPetton Oct 29, 2013

Member

yes, we have to. All code must be recompiled. An amberc snippet would be nice.

This comment has been minimized.

Copy link
@mkroehnert

mkroehnert Oct 29, 2013

Contributor

Yes, maybe a simple scenario would be sufficient with a not to kindly ask on the mailing-list or the IRC channel if it is more complicated :-)


[1] http://requirejs.org/
[2] http://bower.io/
[3] https://github.com/amber-smalltalk/brikz



Expand Down Expand Up @@ -54,7 +103,7 @@ 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:
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

Expand All @@ -65,7 +114,7 @@ branch on GitHub.
* Installing Amber from NPM

To install amber from NPM, run

npm install amber


Expand Down Expand Up @@ -169,8 +218,8 @@ 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.
Expand Down

0 comments on commit b75298a

Please sign in to comment.