GoLand 2024.1: EAP Program and Roadmap
The Early Access Program for GoLand 2024.1 is now open! In this post, we’ll share our plans for the upcoming release and what has been done already in the first EAP build.
You can get the EAP build via the Toolbox App, directly from our website, using a snap package (for Ubuntu), or right from inside GoLand by selecting Check IDE updates for Early Access Program in Preferences / Settings | Appearance & Behavior | System Settings | Updates.
The GoLand 2024.1 Roadmap
The upcoming 2024.1 release is going to be a big one! While keeping the focus on providing a smooth experience for every Go developer out there, we’ll release several large features like Data Flow Analysis and Remote Development out of early access.
User pain points and performance
We will focus on fixing existing issues and corner cases in the upcoming release, so refactorings, navigation, code analysis, the debugger, and quick-fixes will be more stable and effective. We’ve already started – just take a look at what’s coming in the first EAP release!
Support for Go 1.22 features
- GO-15513 To support range-over-int. The next Go version is going to bring the ability to easily iterate over a
range
of integers in a more concise way than a classicalfor
loop:
- GO-15519 Go Workspaces in vendoring mode. In 1.22, the
go work vendor
subcommand will be added to thego
command. Furthermore,go work vendor
will check to make sure that workspace mode is active when it starts and return an error if it isn’t. If it is active, it will write a vendor directory for the workspace. GoLand will now support this flow.
JetBrains AI Full Line Code Completion plugin
This is one of the most anticipated AI features! It enriches your code completion with multi-token proposals utilizing a deep learning model running on your local device without sending anything over the internet, which means it is available even when you are offline or behind a corporate firewall.
At the moment, the Full Line Code Completion plugin supports Python, while Kotlin and JavaScript/TypeScript are supported in experimental mode. We’ll bring this awesome feature to GoLand users in 2024.1!
Remote development
We have a plan to focus on the stability of remote code editing with SSH and WSL. We are working on expanding support for dev containers, providing more features and flexibility while polishing it to be production ready.
Data flow analysis
Another big target for us is moving data flow analysis (DFA) to stable and enabling it by default. We’re working to make it happen within the current EAP program, but if you want to try it now, you can enable it in Settings | Editor | Inspections | Go | Data flow analysis (experimental).
With DFA, GoLand will automatically analyze the code relying on the control-flow graph. This graph illustrates the relationship between the statements in the program. Each statement is represented as a vertex, and the control flow jumps, including direct code execution, conditional jumps, loops, breaks, and gotos, are depicted as edges connecting these vertices.This feature has a wider range of issues it detects in the code, such as potential nil
references, incorrect or missing error handling, and always true/false
conditions.
The start of the EAP Program
If you’re not familiar with our Early Access Program, here’s a brief overview:
- EAP builds let you try out the latest features and enhancements in GoLand while we continue to work on them. These builds are not fully tested and might be unstable, but this is where you can help us. By taking these builds and their new features for a test drive in your real-world projects and scenarios, you can help us make them stable.
- The EAP lets you be among the first to try out the newest features, share your feedback, and ensure the feature is tailored to your needs!
- EAP builds are free to use for 30 days from the build date. You can use this period as an extended trial of GoLand.
- We provide a series of EAP builds until a stable release is almost ready. For the upcoming version 2024.1, the EAP period will last until the first weeks of March
- In each release cycle, we reward the most active evaluators and people who helped us make GoLand better by sharing their product experience, feedback, and suggestions with a free one-year GoLand subscription.
- Fresh builds come out almost every day. If you don’t want to wait for the official EAP build announcements, you can download our nightly builds, which are only available via the Toolbox App. Note that the nightly builds often don’t meet the quality standards for official EAP builds, and they don’t come with release notes. Like EAP builds, they expire within 30 days of being released.
The first EAP build mostly brings bug fixes – here are some worth mentioning:
- False positive Type does not implement warnings in returns with generic pointers that were fixed.
- False positive Condition is always true/false warnings for
runtime.GOOS/GOARCH
were fixed. Now, there is no need to use the Suppress for statement workaround. - Parameter Info popup display errors were fixed. Previously, it caused a Parameter Info scrollbar to create a very wide popup that covered the file content by the scroll bar.
Feel free to try the EAP, report a bug, or suggest a feature – we’re always happy to hear from you! Submit it via our bug tracker, drop us a message in the Gophers Slack #goland channel, or reach out to us on X (formerly Twitter) at @GoLandIDE.