Build 1.0.80

Posted by 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:

Read Full Post…

Build 1.0.79

Posted by brian – Mon 17 Jul 2023

Its been too long since we posted an official build!

The biggest feature in this build is the new yaml APIs developed by a new contributor Kiera.

Also please note the deprecation of concurrent::Future.state which now conflicts with Java 19's version of Future.state (use Future.status now).

Lots of other new convenience methods and enhancements listed in changelog below.

Read Full Post…

Build 1.0.78

Posted by brian – Tue 26 Apr 2022

New Graphics API

We have added a new graphics::Graphics API for rendering 2D graphics. It is pretty similar to the old gfx::Graphics used by the FWT engine. This build includes two implementation of this API:

  • JavaScript canvas implementation accessed via dom::Elem.renderCanvas
  • Java2D implementation for desktop applications

You can run the testGraphics pod to see both implementations side-by-side. Note on OS X you must remove the -XstartOnFirstThread option from the bin/fanlaunch script.

Read Full Post…

Build 1.0.77

Posted by brian – Thu 2 Sep 2021

We have posted a new build for download.

Per discussion in topic 2798, the official build zips will no longer contain any tests. And we are recommending that pods posted to public repositories are compiled with the stripTest flag.


We are introducing a brand new crypto API which includes:

Read Full Post…

Build 1.0.76

Posted by brian – Mon 10 May 2021

We have posted a new Fantom build.

This is mostly a much needed maintenance build.

But there are a few small language features...

You can now use once methods on a const class per proposal 2820. Note the caveats in the updated docs.

Read Full Post…

Build 1.0.75

Posted by brian – Mon 24 Aug 2020

We have posted a new Fantom build.

This is the first complete build cycle since moving from BitBucket+Mercurial to GitHub+Git.

Actor Framework

Several improvements have been made to the concurrent APIs.

Read Full Post…

Build 1.0.74

Posted by brian – Mon 2 Mar 2020

We have posted a new build of Fantom for download.

To run this build on Java now requires Java 8 or higher. We have built sys.jar and other Java bytecode to target Java 8 (classfile version 52.0).

Build 1.0.74 (2 Mar 2020)

  • Java 8 runtime required
  • Compiler support for Jigsaw Java 9+
  • Binary integer literals prefixed with "0b"
  • List/Map addIfNotNull
  • Buf.bytesEqual
  • Env.indexPodNames
  • dom: HttpReq.send support for sending DomFile as raw content
  • dom: HttpReq.onProgress callback
  • dom: allow Dialog.title to take Elem content in addition to Str label
  • dom: Event.fromNative
  • dom: Elem.scrollIntoView
  • domkit: Dnd support for DomFiles
  • domkit: DragTarget.onDragImage
  • Enhance Regex to support cross-platform flags
  • Update timezone database to tzinfo 2019c
  • web: WebRes.removeCookie
  • #2673: JS: Unimplemented methods on Pod.js
  • #2760: JS: Backwards compatibility issue
  • #2784: fan.sys.FileBuf.toDigest() bug

Read Full Post…

Build 1.0.73

Posted by brian – Tue 21 May 2019

We have posted a new build. This is mostly just a stepping stone release to bootstrap the next series of changes for JDK 9+ Jigsaw support.


Build 1.0.73 (21 May 2019)

  • WebReq isGet, isPost conveniences
  • PathFile Java implementation
  • Prep for JDK 9 support

Read Full Post…

Build 1.0.72

Posted by brian – Thu 14 Mar 2019

New build is posted and tagged. This is mostly just maintenance stuff, but does include new build init command.

Build 1.0.72 (14 Mar 2019)

  • fanr: Eggbox is now the default fanr repo
  • Rework Java Buf APIs
  • dom: fix DomCoord to be const
  • dom: add Win.log
  • domkit: fix Tree.onAction to not fire on expanders
  • domkit: fix SashBox bug where nested resizable SashBoxs could throw NPE
  • domkit: fix SashBox Float.toLocale to use Locale.en to force . decimal
  • Date yesterday, tomorrow
  • List.containsSame
  • ext2mime: Add otf,ttf,woff,woff2
  • web: default SameSite attribute to "strict" on all cookies
  • 2711: FEP 1: fan build command line tool
  • 2724: Float.toLocale()
  • 2726: Serialising Nested Maps
  • 2730: BugFixes for domkit::ListButton
  • 2739: Lists of Lists

Read Full Post…

Build 1.0.71

Posted by brian – Tue 29 May 2018

New build is posted and tagged

Change Log

Build 1.0.71 (29 May 2018)

  • List.flatMap
  • concurrent: add ConcurrentMap
  • dom: add DomFile.ext
  • dom: add Geolocation API: geoCurPosition, geoWatchPosition, geoClearWatch, DomCoord
  • dom: add Elem.fromHtml
  • dom: fix Style.effective security exception
  • domkit: add GridBox.insertRowBefore, GridBox.rowIndexOf
  • domkit: add AccordionBox.isExpanded, expand
  • domkit: sdd Popup.fitBounds to verify overflow for async loaded content
  • domkit: support for MenuItem.disabled
  • domkit: add Combo.onItem to customize list items
  • domkit: FlowBox support for non-px gap units
  • domkit: SashBox support for non-px and mixed size units
  • domkit: rework SashBox resizable to use explicit divider children
  • inet: add broadcastAddrs to IpInterface
  • inet: add isLoopback and isSiteLocal to IpAddr
  • wisp: remove deprecated WispService.port field
  • wisp: allow session cookie name to be configurable
  • #2670: NodeRunner does not work on Windows
  • #2694: JS: Deserialisation bug

Read Full Post…