Herby Vojčík
unread,May 8, 2020, 5:37:31 PM5/8/20Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Sign in to report message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to Amber ML
Hello all!
================
ANNOUNCEMENT
================
New patch version release is out, the 0.29.1.
TL;DR:
npm -g install @ambers/cli
and your new projects will be created with new version.
For cases where npm think it knows better (and new project is still
based on older version, find out in package.json), try:
npm -g install @ambers/cli -f
and if even that does not help, this should:
npm -g uninstall @ambers/cli -f
npm cache clean -f
npm -g install @ambers/cli -f
===================
THE CHANGES
===================
From CHANGELOG:
* Change to JS format.
* Old code loadable, package saves in new format (no recompile needed).
* New format loadable with old versions, but you may fail to compile
methods.
* Packages return context snapshot and `eval` is only used inside
compiler.
* Old `eval`-using function `innerEval` that was in each package was
removed.
To compile methods in context of the package, `innerEval` was part of
every package that called `eval` inside of it.
As `eval` is considered evil, now it is only called in compiler;
packages now return snapshot of their context via #context message.
Thus, methods created in IDE are bound to this snapshot. As
package-level variables are read-only, this is correct behaviour, and
removes `eval`-in-each-package backdoor.
This may allow to use Amber in more strict environments, as deploy-time
bundle (which by default does not include the compiler) does not use any
eval.
================
UPGRADE PROJ
================
To upgrade your not too old project, this should suffice:
npm install @ambers/lang@^0.29.1
grunt
The mechanical, though needing a bit of tools expertise, although
working, way to do the upgrade of older project is to create new project
with `amber init` with the same name as the old project, copy the files
over to old project, and go over the diffs (shown by git / IDE / both)
manually.
Herby