Blog Post

#2954 Build 1.0.84

brian Today 10:50am

We have posted build 1.0.84 for download and updated the online docs.

This build completes a multi-year modernization project to fully upgrade to the new ECMA class-based JavaScript compiler and convert from Fandoc to Markdown for all documentation.

JavaScript

In post 2894 we kicked off an effort to rewrite the Fantom to JavaScript compiler to generate modern ECMAScript and make several optimizations. That work was first released in 1.0.80 a couple of years ago. Since then we have supported both the old and new compilers. But starting in this build, only the new compiler is supported.

As part of the official transition:

  • natives must use class-based syntax
  • you now only use the "js/" directory in your build files (instead of "es/")
  • compilerEs renamed to compilerJs (replaces legacy compiler)
  • WebJsMode is removed
  • FilePack only generates new ES based files
  • fant now just uses the "-js" flag
  • Node output moved from lib/es/ to lib/js/, and ESM output from lib/es/esm/ to lib/js/esm/

Markdown

Starting in this build all documentation has been fully converted from fandoc to markdown. We are providing backward compatible support for existing pods by requiring a flag to opt-in to markdown in your build file's pod meta:

"doc.format": "markdown"

See topic 2949 for more details.

ChangeLog

Build 1.0.84 (23 Oct 2026)

  • Fandoc fully converted to markdown
  • Replace legacy JS compiler with new ES compiler
  • Directory mime type x-directory/normal -> application/x-directory
  • Str.truncate
  • StrBuf.tab, sp, nl
  • Uri.origin
  • File.atomicMove, File.etag
  • Win.evalToFunc
  • Lock.withLock
  • ConcurrentMap.removeIfEq
  • Doc.isHidden
  • WebClient strips auth headers on redirect to different origin
  • Inet fix for TLS host verification
  • SqlConnPool improvements
  • SQL executeBatch now returns BatchResult (breaking change)

Login or Signup to reply.