Apache Software Foundation සංවිධාන ඉදිරිපත් කරන ලදී ඒකාබද්ධ සංවර්ධන පරිසරය අපාචී නෙට්බීන්ස් 12.0. Это шестой релиз, подготовленный Фондом Apache после передачи кода NetBeans компанией Oracle и первый выпуск после පරිවර්තනය проекта из инкубатора в разряд первичных проектов Apache. Выпуск Apache NetBeans 12 будет сопровождаться в рамках расширенного цикла поддержки (LTS).
Среда разработки предооставляет поддержку языков программирования Java SE, Java EE, PHP, JavaScript и Groovy. Интеграция поддержки языков C/C++ в очередной раз перенесена на следующий выпуск. Отмечается, что передача компанией Oracle кода, связанного с разработкой проектов на C и C++, была завершена ещё при подготовке прошлого выпуска, но интеграция этого кода в Apache NetBeans потребовала больше времени, чем ожидалось. В частности, кроме рецензирования лицензионной чистоты кода и чистки от элементов, являющихся интеллектуальной собственностью, потребовалось внесение изменений в код, так как некоторые возможности компания Oracle не смогла передать фонду Apache. До появления встроенной поддержки разработчики могут установить через Plugin Manager модули для разработки на C/C++, ранее выпущенные для NetBeans IDE 8.2.
වේදිකා සහාය එක් කරන ලදී ජාවා එස්ඊ 14. В том числе обеспечены подсветка синтаксиса и форматирование кода для конструкций с новым ключевым словом «record», предоставляющим компактную форму для определения классов, позволяющую обойтись без явного определения различных низкоуровневых методов, таких как equals(), hashCode() и toString().
Продолжено тестирование поддержки сопоставления c образцом в операторе «instanceof», которая позволяет сразу определить локальную переменную для обращения к проверенному значению. Например, можно сразу писать «if (obj instanceof String s && s.length() > 5) {.. s.contains(..) ..}» без явного определения «String s = (String) obj». В NetBeans при указании «if (obj instanceof String) {» будет выведена подсказка, позволяющая преобразовать код в новую форму.
Из возможностей ජාවා 13 отмечена поддержка преобразования многострочных текстовых блоков, оформляемых без экранирования символов. В редакторе кода набор строй теперь можно превращать в подобные текстовые блоки и обратно.
සිට ජාවා 12 представлена поддержка использования «switch» в форме выражения, а не оператора.
Из возможностей ජාවා 11 отмечена поддержка режима запуска программ, поставляемых в форме одного файла с исходным кодом (класс можно запустить напрямую из файла с кодом, без создания class-файлов, JAR-архивов и модулей). В NetBeans подобные однофайловые программы можно создавать вне проектов в окне Favorite, запускать и отлаживать.
Код поддержки JavaFX расширен регистрацией артефактов OpenJFX Gluon Maven — в диалоге управления проектом появились элементы «FXML JavaFX Maven Archetype (Gluon)» и «Simple JavaFX Maven Archetype (Gluon)» для которых предложены готовые файлы nbactions.xml, позволяющие сразу запускать и отлаживать проекты без дополнительных изменений в конфигурации.
Добавлена поддержка Java EE 8 с возможностью сборки web-приложений при помощи Maven или Gradle. Поддержка ජකර්තා ඊඊ 8 пока недоступна.
Созданные в NetBeans приложения Java EE 8 можно развёртывать в контейнере Java EE 8 при помощи нового шаблона «webapp-javaee8» в Maven, созданного для использования с NetBeans.
Обеспечена поддержка спецификации JSF 2.3, в том числе обеспечено автодополнение таких конструкций, как «f:websocket» и подстановка артефактов CDI. Реализована интеграция с сервером приложений Payara (ответвление от GlassFish), GlassFish 5.0.1, Tomcat и WildFly.
Улучшена поддержка систем сборки Maven и Gradle. Для Maven налажена интеграция с библиотекой JaCoCo и обеспечена возможность передачи аргументов компилятора Java из Maven в редактор кода Java. Для Gradle добавлена поддержка модульных java-проектов и поддержка JavaEE. Gradle Tooling API обновлён до версии 6.3. Предложен новый мастер создания Java-приложений (Java Frontend Application) для Gradle. Добавлена поддержка отладки проектов Gradle Web. Добавлена поддержка Gradle-проектов на языке Kotlin. Обеспечена возможность принудительной перезагрузки Gradle-проектов.