Releases
Current N4JS Release
The Eclipse N4JS project is in the Incubation Phase and there is no official release available yet (for unofficial releases see the download page. This doesn’t mean that N4JS is unstable; we have an extensive test suite (>90.000 tests including the ECMAScript test suites) to ensure a stable nightly build. N4JS has been in use in several large non-public projects for years. There still may be bugs (as there are always bugs) and features which are currently under development. We encourage feedback from all users! For questions about getting started with the N4JS Language and IDE for developing your own projects, see the the Eclipse N4JS forum.
Known Issues
Since we are using N4JS and the N4JS IDE internally for quite a while, we have found some issues. There are still a lot of bugs open and we have plenty of ideas for new features. We have used a non-public bug tracking system to manage bugs internally and we are currently migrating them to GitHub issues. Note that it’s also possible to write and submit bug reports from within the N4JS IDE itself.
New Features
In the future, the following topics are expected to be addressed:
-
Improved UI experience with a focus on customized content assist and quick-fixes.
-
Improved ECMAScript 2015 support.
-
Improved type inference and add type guards.
-
Improved refactoring capabilities.
-
Improved Node.js developer experience.
-
Support for browser-based projects.
There may be other topics raised by users. Separating these topics into individual features and prioritizing them will highly depend on your feedback.
Incompatible Changes in Future Releases
Yes, this may happen. It’s quite possible that the language or APIs must be changed in future releases, which could break existing code. This is no cause for concern, however. As mentioned before, we have a substantial internal code base, so if incompatible changes are introduced, we will provide tools to migrate your code automatically unless the changes are easier to solve manually.
To give you an idea of how this can happen: In earlier versions we used a Java-like syntax for type annotations. Since this did not work well together with features such as async/await, we changed the syntax to ECMAScript 4 colon style. This required our entire code base to be reworked. Fortunately this was simple as we provided a quick-fix, enabling almost all problems stemming from that change to be corrected with a single keystroke!