Jump to: navigation, search

Golo/Roadmap-v3.0

Overview

The development of Golo 3.0.0 directly follows release 2.1.0, the last release that was made under the stewardship of INSA-Lyon before entering incubation at the Eclipse Foundation.

Golo 3.0.0 is a release performed under the Eclipse Incubation branding.

Milestones

We adopt a 6 weeks fixed schedule between milestones. The planning of milestones is organic.

3.0.0-incubation-M1 (2015/07/27)

  • JDK 8 is now required.
  • Support for Java 8 lambdas / functional interfaces.
  • Support for named arguments, leveraging JDK 8 bytecode metadata.
  • New union types.
  • Operators priorities and left-associativity have been fixed in the LL(k) parser.
  • Augmentations can now define a fallback method.
  • New lazy lists.
  • foreach loops can now have a guard condition.
  • Function references are now represented using FunctionReference rather than straight MethodHandle.
  • Decorators can now change function arities.
  • Deprecated array methods and functions have been removed.
  • Easier adapters generation API.
  • CLI subcommands are now defined through a SPI for modularity and extensibility.
  • The `fun` function can now retrieve instance methods.
  • Fixes in arithmetic comparison operators.
  • Fixes in special character escaping in String and char literals.
  • Documentation generation is now self-contained with Asciidoctor instead of Asciidoc.

3.0.0-incubation-M2 (2015/09/07)

  • Collection comprehensions, inspired by Python.
  • The documentation is now generated with AsciiDoctor instead of AsciiDoc.
  • Union types now have special methods synthesized from members to facilitate tests.
  • The build has been migrated from Maven to Gradle.
  • reversed_range has been renamed to reversedRange for consistency reasons.
  • The new box(obj) predefined function boxes an object reference into a java.util.concurrent.atomic.AtomicReference. This is useful to inject mutable state into closures.

3.0.0-incubation-M3 (2015/10/19)

  • Refactoring from fr.insalyon.citi.golo to org.eclipse.golo packages.
  • FindBugs integration in the build process.
  • Fixes have been applied to address the relevant FindBugs reports, and unappropriated ones have been silenced.
  • Parser error traces have been simplified to avoid confusion.
  • Misc fixes.

Golo 3.0.0-incubation-M3 marks the last milestone before branching and preparing a formal release. The development on the master branch immediately switches to Golo/Roadmap-v3.1.

Maintenance releases

There is no maintenance release planned at this stage.