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.
We adopt a 6 weeks fixed schedule between milestones. The planning of milestones is organic.
- 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.
- 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.
- 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.
There is no maintenance release planned at this stage.