Skip to content

Releases: fusionlanguage/fut

fut 3.2.3

25 Apr 08:16
Compare
Choose a tag to compare

How to install:

  • Windows: download and run fut-3.2.3-win64.msi
  • macOS: brew install fusionlanguage/fut/fut
  • Ubuntu 22.04+: download and install fut_3.2.3-1_amd64.deb
  • Fedora 38+: download and install fut-3.2.3-1.x86_64.rpm

Changes since 3.2.2:

  • Syntax highlighting in Vim
  • Go to / Peek / Find all Implementations / References in Visual Studio Code
  • Fixed foreach (C objectReference in listOfObjectStorage) in C
  • Improved syntax checking

fut 3.2.2

04 Apr 08:49
Compare
Choose a tag to compare

How to install:

  • Windows: download and run fut-3.2.2-win64.msi
  • macOS: brew install fusionlanguage/fut/fut
  • Ubuntu 22.04+: download and install fut_3.2.2-1_amd64.deb
  • Fedora 38+: download and install fut-3.2.2-1.x86_64.rpm

Changes in the Visual Studio Code extension since 3.2.1:

  • Fixed errors reported in non-Fusion files
  • Outline
  • Snippets
  • Highlighting is and resource
  • More precise error locations

fut 3.2.1

27 Mar 15:57
Compare
Choose a tag to compare

How to install:

  • Windows: download and run fut-3.2.1-win64.msi
  • macOS: brew install fusionlanguage/fut/fut
  • Ubuntu 22.04+: download and install fut_3.2.1-1_amd64.deb
  • Fedora 38+: download and install fut-3.2.1-1.x86_64.rpm

Changes since 3.2.0:

  • More precise error locations
  • Fixed "Duplicate symbol" errors when editing a multi-file project in Visual Studio Code
  • Fixed some collections of collections in C

fut 3.2.0

25 Mar 12:21
Compare
Choose a tag to compare

How to install:

  • Windows: download and run fut-3.2.0-win64.msi
  • macOS: brew install fusionlanguage/fut/fut
  • Ubuntu 22.04+: download and install fut_3.2.0-1_amd64.deb
  • Fedora 38+: download and install fut-3.2.0-1.x86_64.rpm

Changes since 3.1.2:

  • Documentation comments for throws
  • Updated the Swift parameter documentation syntax
  • Fixed errors on forward-referenced classes and methods
  • Fixed leaks of temporary objects in C (#26)
  • Fixed List<C>.Any in C++
  • Major update of the Visual Studio Code extension: shows all errors, "go to definition" (#64)

fut 3.1.2

04 Mar 09:47
Compare
Choose a tag to compare

How to install:

  • Windows: download and run fut-3.1.2-win64.msi
  • macOS: brew install fusionlanguage/fut/fut
  • Ubuntu 22.04+: download and install fut_3.1.2-1_amd64.deb
  • Fedora 38+: download and install fut-3.1.2-1.x86_64.rpm

Changes since 3.1.1:

  • string.ToLower(), string.ToUpper() by @caesay (#143)
  • StringWriter enabled for C
  • C fixes (#26, #135, collections, public members of internal class, return of dynamic object initializer)
  • C++ fixes (#138, number TryParse, Environment.GetEnvironmentVariable)
  • if (!number.TryParse(str)) implemented for Java

fut 3.1.1

18 Dec 18:02
Compare
Choose a tag to compare

How to install:

  • Windows: download and run fut-3.1.1-win64.msi
  • macOS: brew install fusionlanguage/fut/fut
  • Ubuntu 22.04+: download and install fut_3.1.1-1_amd64.deb
  • Fedora 38+: download and install fut-3.1.1-1.x86_64.rpm

Changes since 3.1.0:

  • Use case MyClass: instead of case MyClass _:.
  • Exceptions with no message: throw Exception().
  • Implemented case null when ....
  • Fixed case VALUE when ... with an early break in Java.
  • Implemented arrayStorage/listOfRefs.Contains in C and C++.
  • Main in a D namespace.
  • Improved error messages.

fut 3.1.0

16 Nov 15:14
Compare
Choose a tag to compare

How to install:

  • Windows: download and run fut-3.1.0-win64.msi
  • macOS: brew install fusionlanguage/fut/fut
  • Ubuntu 22.04+: download and install fut_3.1.0-1_amd64.deb
  • Fedora 38+: download and install fut-3.1.0-1.x86_64.rpm

Changes since 3.0.2:

  • Breaking change: exception classes, must be specified in throw and throws. See the documentation.
  • Python type annotations. (PEP 484)
  • Improved error reporting, including: const access modifiers, mutating methods, uninitialized variables, out-of-bounds indexing found during the translation.
  • Fixed collections of references in C and C++.
  • Abstract methods emitted in Python.
  • true, false and null translated to the target language in doc comments.
  • Improved translation of exceptions to C, including doc comments.
  • Removed redundant array slices in D.
  • Main method. (#73)
  • Convert.ToBase64String(byteArray, byteArrayOffset, byteCount).

fut 3.0.2

20 Oct 11:18
Compare
Choose a tag to compare

How to install:

  • Windows: download and run fut-3.0.2-win64.msi
  • macOS: brew install fusionlanguage/fut/fut
  • Ubuntu 22.04+: download and install fut_3.0.2-1_amd64.deb
  • Fedora 38+: download and install fut-3.0.2-1.x86_64.rpm

Changes since 3.0.1:

  • Collections can be allocated dynamically.
  • Constants emitted as immutable in D.
  • case VALUE when GUARD in Java.
  • StringWriter enabled in Java.
  • Emitting short methods in D (with =>).
  • Error for new string storage assigned to a string reference.
  • Fixed leaks of temporary strings in C. (#26)
  • native { #include ... } is now accepted. (#130)
  • Fixed List<string()>.Last(), Queue<string()>.Peek(), Stack<string()>.Peek() in C.
  • Fixed is on rhs of ? in C++.
  • Any/All emitted as Exists/TrueForAll in C# for improved performance.
  • fut ported to Java.

fut 3.0.1

22 Aug 11:07
Compare
Choose a tag to compare

How to install:

  • Windows: download and run fut-3.0.1-win64.msi
  • macOS: brew install fusionlanguage/fut/fut
  • Ubuntu 22.04+: download and install fut_3.0.1-1_amd64.deb
  • Fedora 38+: download and install fut-3.0.1-1.x86_64.rpm

Changes since 3.0.0:

  • Enums with no explicit values are now transpiled to Java enums. (#81)
  • std::ssize(collection) emitted in C++. Eliminates fut compilation warnings. (#96)
  • Implemented the string concatenation operator + in C. (#36)
  • Fixed a memory error in fut, affected constant integer expressions on macOS.
  • Fixed make test-c test-cpp on macOS.
  • Fixed make FUT_HOST=cs on macOS.

fut 3.0.0

09 Aug 11:32
Compare
Choose a tag to compare

How to install:

  • Windows: download and run fut-3.0.0-win64.msi
  • macOS: brew install fusionlanguage/fut/fut
  • Ubuntu 22.04+: download and install fut_3.0.0-1_amd64.deb
  • Fedora 38+: download and install fut-3.0.0-1.x86_64.rpm

Changes since 2.2.0:

  • The language is now called Fusion and its transpiler fut. Use the .fu extension for Fusion source code.
  • The transpiler is now self-hosted, transpiling itself to C++, C# and JavaScript. Native binaries are released for Windows, macOS and Linux. (#48)
  • case value when condition.
  • References of different kinds and classes can now be compared: basePtr == derivedNullablePtr, baseReadWritePtr == derivedReadOnlyPtr.
  • The + and += operators no longer concatenate strings with numbers or objects. Use string interpolation instead.
  • Fixed priority of division/modulo as rhs of multiplication. (#92)
  • Fixed floating-point constants with integer values.
  • Fixed comparisons with literal null/true/false on lhs.
  • Fixed nested ternary operators.
  • arrayStorage.Contains.
  • int.TryParse, long.TryParse.
  • Enum.FromInt.
  • EnumFlags.HasFlag.
  • TextWriter.WriteCodePoint.
  • StringWriter.Clear.
  • Improved float literals.
  • Interpolated string formats in C++.
  • Java collections of float and double.
  • Fixed long.MinValue in C, C++ and D.
  • Private constants prefixed with # in JavaScript.
  • Improved assert in JavaScript.
  • Switched private to # in TypeScript.
  • Top-level native in Python and Swift.
  • Various C and C++ fixes.
  • Emitting let for object storage to prevent Swift compiler warning.
  • Improved error reporting.