Releases: xored/f4
F4 v1.1.10
Main Features
F4 v1.1.10 main updates:
- Fixed File Locking issue on Windows, raised after a project compilation
- Internal Fantom compiler updated to Fantom 1.0.80 HEAD (as of 15 Aug 2024)
The file locking issue was quite problematic on Windows. Should a Fantom program be running, then its pod could not be overwritten by the F4 compiler. This is due to updates in the core Fantom sys pod, whereby File.copyTo()
was updated to use Java NIO. The Fantom Runtime uses File mmap
which locks the File to Java NIO copy commands.
Some links on the issue:
- https://stackoverflow.com/questions/4179145/release-java-file-lock-in-windows
- fantom-lang/fantom@5ad3563
- https://bugs.java.com/bugdatabase/view_bug?bug_id=4715154
The fix was to copy the newly compiled pod using Streams, as oppose to a straight system file copy command.
Dark Mode
The last release introduced a Dark Mode. The default eclipse colours for Dark Mode are pretty poor, but are easy enough to change.
Essential Plugins
- Mercurial Eclipse - (Update Site)
- eGit - (Update Site)
- Vrapper - (Update Site)
- Trio Editor
- FPM
Well, they're essential to me! :)
Have fun!
NOTE: F4 v1.1.10 was re-released on 26 Aug 2024 to fix a bug whereby built pods were not being copied / published if there were any compilation warnings, e.g. @Deprecated
warnings.
F4 v1.1.8
Main Features
F4 v1.1.8 main updates:
- Support for the new Javascript ES compiler
- Better support for native Java compilation
- Internal Fantom compiler updated to Fantom 1.0.80 (from 1.0.76)
- Embedded Fantom interpreter updated to Fantom 1.0.80 (from 1.0.76)
Dark Mode
The last release introduced a Dark Mode. The default eclipse colours for Dark Mode are pretty poor, but are easy enough to change.
Issue Fixes
F4 v1.1.8 fixes the following issues:
- #133 - Cannot perform Java compilation
- #135 - Closing dependent projects causes "Missing required script project" errors
- #134 - Does not perform ES compilation
- #127 - Invalid Uri Err in FCode Viewer
- #118 - Dependant projects not built
Essential Plugins
- Mercurial Eclipse - (Update Site)
- eGit - (Update Site)
- Vrapper - (Update Site)
- Trio Editor
- FPM
Well, they're essential to me! :)
Have fun!
F4 v1.1.6
Main Features
F4 v1.1.6 main updates:
- Dark Mode - now fully enabled! (I know you've ALL been waiting for this one!)
- Internal Fantom compiler updated to Fantom 1.0.76 (from 1.0.74)
- Embedded Fantom interpretter updated to Fantom 1.0.76 (from 1.0.74)
This update adds a Default
option to the Fantom Syntax Coloring settings, allowing the colour of ALL the text in the Fantom editor to be updated.
The default eclipse colours for Dark Mode are pretty poor, but are easy enough to change.
Bug Fixes
F4 v1.1.6 also fixes some long standing bugs:
- #22 - Launch class browse button does not work in launch config dialog
- #39 - Operator functions return wrong type (for autocomplete)
- #70 - Type.make() does not appear in autocomplete
- #72 - Caught Errs are not recognised
- #86 - Return type of function fields are not recognised
- #92 - Extending from classes with the same name
- #104 - F4 doesn't recognise return types from function fields
- #108 - F4 Update site is out of date
- #122 - Project versions not recognised
Essential Plugins
- Mercurial Eclipse - (Update Site)
- eGit - (Update Site)
- Vrapper - (Update Site)
- Trio Editor
- FPM
Well, they're essential to me! :)
Have fun!
F4 v1.1.4
Main F4 1.1.4 Features
- Eclipse platform updated to Eclipse 4.9 2018-09 (from 4.6)
- DLTK updated to 5.10 (from 5.6)
- Fantom compiler updated to Fantom 1.0.74 (from 1.0.71)
- Embedded Fantom runtime updated to Fantom 1.0.74 (from 1.0.71)
- Re-wrote the internal build reactor / project manager.
This means F4 now runs on any current version of Java!
The build reactor rewrite removes the build churn previously encountered when opening and closing projects and editing build.fan
files. In essence, F4 1.1.4 is much faster in a multi-project environment.
Note: On Windows, you may need to run F4 as an administrator.
Essential Plugins
- Mercurial Eclipse - (https://foss.heptapod.net/mercurial/mercurialeclipse/-/wikis/home) (Update Site)
- eGit - (https://www.eclipse.org/egit/download/) (Update Site)
- Trio Editor - (https://gitlab.com/NeedleInAJayStack/trioeditor/tree/master)
- FPM - (https://github.com/Fantom-Factory/afF4Fpm)
Why only Eclipse 4.9 (2018-09) ??
Simply put, I've been unable to compile or assemble F4 with anything later. Here's a summary of incompatibilities:
- Eclipse 4.10 (2018-12) and DLTK 5.11
- Eclipse 4.11 (2019-03) and DLTK 5.11
- Eclipse 4.12 (2019-06) and DLTK 5.11
- Eclipse 4.13 (2019-09) and DLTK 5.11
- Eclipse 4.14 (2019-12) and DLTK 5.11
There were no compilation issues with these later eclipse platforms, but the maven build to assemble the binaries would FAIL after a warning about a missing tool in the build chain.
- Eclipse 4.15 (2020-03) and DLTK 6.1
As you may imagine, the majour update in the DLTK version brings about many compilation issues.
Therefore F4 will have to stay at Eclipse 4.9 until further investigation can be performed. But with 4.9 working with at least JDK 14, I hope this won't be an issue for most people.
Have fun!
F4 v1.1.2
This release updates F4 to the Fantom 1.0.71 (from 1.0.69), reduces build thrashing, lets you create native Java pods, and fixes the following issues:
- #77 - F4 doesn't compile .java files
- #98 - Autocompletion for facets suggest all classes not only facets enhancement
- #102 - Class ctor autocomplete
- #103 - Autocomplete on methods with fn params don't populate the simple case
- #105 - Better handling of dodgy build.fan files
- #106 - Autocomplete on Types should list the Type name
- #110 - Can not compile native Java Peer classes
- #112 - Tabbing on comments in using statements causes errors
This is the first time I've created an F4 release, so let me know if the binaries give you any problems.
Cheers,
Steve.
F4 v1.1.0
Hi all,
Many years was gone since last release, and this one is made with a help of @SlimerDude.
So thanks a lot for helping with release.
Features included in release:
- Eclipse platform updated to 4.6 Neon (from 3.7 Indigo) so now works with the latest Linux GTK+
- Fantom Runtime / internal compiler updated to Fantom 1.0.69 (from
1.0.63)
Embedded interpreter updated to Fantom 1.0.69 (from 1.0.63) - F4 launches old version of project when build fails - #26
- No trailing slash for build.fan resDirs gives unhelpful msg - #84
- Test inheritance from dependant pods - #81
- docApi and docSrc in build.fan are not honoured - #79
- F4 doesn't compile .java files - #77
- Fantom Build Console is always empty - #75
- Adding Custom Pods to a Project - #63
- How to integrate Fantom Runtime in Maven build? - #61
- Update Readme to mention Dynamic Languages Toolkit - #52
- JS Pod Meta - #49
- Internal compiler errors are not logged into Error Log - #47
- F4 does not check that out folder does exist during compilation - #46
- Incorrect conversion from Err to Exception - #45
- Filter private / non-accessible slots - #44
- Result Comparison dialogue box has the 'actual' and 'expected' sections the wrong way round - #42
- Facets on same line as declaration not recognised - #41
- Longhand PRE markup not honoured in Fandoc popups / hovers
#40 - Adding "icons 1.0" as a dependency prevents compilation - #38
- Interpolated URIs throw Err and disables syntax highlighting - #37
- Incorrect installation of F4 IDE - #36
- Cannot parse Version([1,2,3]) from build.fan - #35
- Using the
Java Output Folder
as the Fantom output folder is cryptic -#34 - Default Java output folder
/fan/lib/fan/
is too deep - #33 - Errors in build.fan are not reported. - #32
- Does not look for src in pods - #31
- 'F3 - Jump To' Jumps to Wrong Type - #30
- Cannot call methods named 'facet()' - #29
- Default Working Directory for Run Configurations - #28
- UIRunner stops displaying stack traces - #27
Known issues:
- It's due to projects being compiled with Java 1.8 - The debug view works
fine with Java 1.6 and Java 1.7 and sometimes not with 1.8, here's an easy workaround (tab out, tab in!)