Matthew posted an overview of a strategy to modernize Fanton's JavaScript infrastructure in post 2894. This work is fully completed and included in this build. This work allows JavaScript and TypeScript developers to consume Fantom APIs using modern conventions.
There are now two JavaScript compilers:
compilerJs: original compiler
compilerEs: new compiler
For backward compatibility, all the pods are still compiled using the original JS compiler and put the JS files in "/podName.js". The new compiler generates its artifacts under the "js/" directory in the pod zip:
podName.js (common JS module)
podName.mjs (ECMAScript module)
podName.d.ts (TypeScript declaration file)
If you are using the web::FilePack APIs to build your JS bundles, then you can toggle between the old and new JS designs via the nodoc WebJsMode class.
We will continue to support the old JS compiler for at least another year, but please make a plan to transition to the new JS design.
FWT
We have moved the original fwt and flux pods into a separate repo as proposed in post 2893. So the following pods are no longer included in the distribution:
gfx
fwt
webfwt
icons
flux
fluxText
Jwt
We have added a new crypto::Jwt class for both encoding and decoding JSON Web Tokens. This work also includes support for JSON Web Keys (JWK).
Change Log
Build 1.0.80 (23 Apr 2024)
New ECMA class-based JavaScript design
Move fwt pods into separate repo
Crypto JWT and JWK APIs
Actor queue overflow limits
Add Doc.elemFromPos, elemsFromPos
Add Event.keyChar
Add new dom HttpSocket API
New concurrent Lock API
Add Graphics.drawEllipse,fillEllipse
Add Image.render and Image.write
Fixes for Crypto EC keypair support
Fix Time.minus 24hr boundary checks
Allow mixins to have non-abstract fields if no storage required
Fix Color HSL implementation to match browser behavior
Add MimeType.isText
Add util::LockFile
Redesign ES compiler to not generate code for every pod
Include TypeScript decl file in pods with JS code
Prompt support for jline 3
#2909 RGB to HSL conversion
#2912 remove Future.state
GaryTue 23 Apr
Congrats on the new build! :D
GaryWed 24 Apr
Build 1.0.80 wasn't available on Homebrew earlier today, but it is now! :)
GaryFri 26 Apr
The hyperlink on Download page under Windows "fantom-1.0.80.exe" is broken .. getting a 404. Just FYI. :)
The Windows installer is not released by the Fantom guys, but by myself. So whenever a new Fantom release is dropped it takes me a small while to play catchup and create the new installer. Should be there now though.
Thanks for the nudge! :)
GarySun 5 May
It's all good Steve! :-)
SlimerDudeSat 1 Jun
Hi, I just noticed that Fantom 1.0.80 still ships with etc/flux/ and etc/fluxText/ even though those (associated) pods are no longer shipped with Fantom.
Is that by design, or should those etc/ dirs be removed?
brian Tue 23 Apr
New build has been posted.
New JavaScript/TypeScript Compiler
Matthew posted an overview of a strategy to modernize Fanton's JavaScript infrastructure in post 2894. This work is fully completed and included in this build. This work allows JavaScript and TypeScript developers to consume Fantom APIs using modern conventions.
There are now two JavaScript compilers:
For backward compatibility, all the pods are still compiled using the original JS compiler and put the JS files in "/podName.js". The new compiler generates its artifacts under the "js/" directory in the pod zip:
If you are using the
web::FilePack
APIs to build your JS bundles, then you can toggle between the old and new JS designs via the nodoc WebJsMode class.We will continue to support the old JS compiler for at least another year, but please make a plan to transition to the new JS design.
FWT
We have moved the original fwt and flux pods into a separate repo as proposed in post 2893. So the following pods are no longer included in the distribution:
Jwt
We have added a new
crypto::Jwt
class for both encoding and decoding JSON Web Tokens. This work also includes support for JSON Web Keys (JWK).Change Log
Build 1.0.80 (23 Apr 2024)
Gary Tue 23 Apr
Congrats on the new build! :D
Gary Wed 24 Apr
Build 1.0.80 wasn't available on Homebrew earlier today, but it is now! :)
Gary Fri 26 Apr
The hyperlink on Download page under Windows "fantom-1.0.80.exe" is broken .. getting a 404. Just FYI. :)
SlimerDude Sun 28 Apr
Hi Gary, the Windows Installer for Fantom 1.0.80 should now be available.
The Windows installer is not released by the Fantom guys, but by myself. So whenever a new Fantom release is dropped it takes me a small while to play catchup and create the new installer. Should be there now though.
Thanks for the nudge! :)
Gary Sun 5 May
It's all good Steve! :-)
SlimerDude Sat 1 Jun
Hi, I just noticed that Fantom 1.0.80 still ships with
etc/flux/
andetc/fluxText/
even though those (associated) pods are no longer shipped with Fantom.Is that by design, or should those
etc/
dirs be removed?