blob: 6a10b590892517ba9c2dde95bce80b61ceb26727 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title type="html">Apache NetBeans</title>
<subtitle type="html">Quickly and easily develop web, mobile and desktop applications with Java, JavaScript, HTML5, PHP, C/C++ and more. </subtitle>
<icon>https://netbeans.apache.org/favicon-32x32.png</icon>
<id>https://netbeans.apache.org/blogs/atom</id>
<link rel="self" type="application/atom+xml" href="https://netbeans.apache.org/front/main/blogs/atom" />
<link rel="alternate" type="text/html" href="https://netbeans.apache.org/blogs/atom" />
<entry>
<id>https://netbeans.apache.org/front/main/blogs/entry/announce-apache-netbeans-21-released/</id>
<title type="html">[ANNOUNCE] Apache NetBeans 21 Released</title>
<author><name>Geertjan Wielenga</name></author>
<link rel="alternate" type="text/html" href="https://netbeans.apache.org/front/main/blogs/entry/announce-apache-netbeans-21-released/"/>
<published>2024-02-20T00:00:00Z</published>
<updated>2024-02-20T00:00:00Z</updated>
<content type="html">
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The Apache NetBeans team is pleased to announce that Apache NetBeans 21 was released on February 1, 2024.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;What&amp;#8217;s in the Apache NetBeans 21 release:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/apache/netbeans/releases/tag/21&quot; class=&quot;bare&quot;&gt;https://github.com/apache/netbeans/releases/tag/21&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;With thanks to 24 contributors, including 3 who have contributed for the first time. Thank you!&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Downloads:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;../../../download/nb21/&quot; class=&quot;xref page&quot;&gt;Apache NetBeans 21 Download page&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;See our release schedule:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;https://cwiki.apache.org/confluence/display/NETBEANS/Release+Schedule&quot; class=&quot;bare&quot;&gt;https://cwiki.apache.org/confluence/display/NETBEANS/Release+Schedule&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Feel free to share the good news!&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Thanks everyone, and best wishes,&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Neil, Eric, Martin, Geertjan&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;on behalf of Apache NetBeans PMC&lt;/p&gt;
&lt;/div&gt;
</content>
</entry>
<entry>
<id>https://netbeans.apache.org/front/main/blogs/entry/announce-apache-netbeans-20-released/</id>
<title type="html">[ANNOUNCE] Apache NetBeans 20 Released</title>
<author><name>Geertjan Wielenga</name></author>
<link rel="alternate" type="text/html" href="https://netbeans.apache.org/front/main/blogs/entry/announce-apache-netbeans-20-released/"/>
<published>2023-12-01T00:00:00Z</published>
<updated>2023-12-01T00:00:00Z</updated>
<content type="html">
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The Apache NetBeans team is pleased to announce that Apache NetBeans 20 was released on December 1, 2023.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;What&amp;#8217;s in the Apache NetBeans 20 release:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/apache/netbeans/releases/tag/20&quot; class=&quot;bare&quot;&gt;https://github.com/apache/netbeans/releases/tag/20&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;With thanks to 26 contributors, including 6 who have contributed for the first time. Thank you!&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Downloads:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;../../../download/nb20/&quot; class=&quot;xref page&quot;&gt;Apache NetBeans 20 Download page&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;See our release schedule:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;https://cwiki.apache.org/confluence/display/NETBEANS/Release+Schedule&quot; class=&quot;bare&quot;&gt;https://cwiki.apache.org/confluence/display/NETBEANS/Release+Schedule&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Feel free to share the good news!&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Thanks everyone, and best wishes,&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Neil, Eric, Martin, Geertjan&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;on behalf of Apache NetBeans PMC&lt;/p&gt;
&lt;/div&gt;
</content>
</entry>
<entry>
<id>https://netbeans.apache.org/front/main/blogs/entry/announce-apache-netbeans-19-released/</id>
<title type="html">[ANNOUNCE] Apache NetBeans 19 Released</title>
<author><name>Geertjan Wielenga</name></author>
<link rel="alternate" type="text/html" href="https://netbeans.apache.org/front/main/blogs/entry/announce-apache-netbeans-19-released/"/>
<published>2023-09-01T00:00:00Z</published>
<updated>2023-09-01T00:00:00Z</updated>
<content type="html">
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The Apache NetBeans team is pleased to announce that Apache NetBeans 19 was released on September 1, 2023.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;What&amp;#8217;s in the Apache NetBeans 19 release:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/apache/netbeans/releases/tag/19&quot; class=&quot;bare&quot;&gt;https://github.com/apache/netbeans/releases/tag/19&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;With thanks to 31 contributors, including 5 who have contributed for the first time. Thank you!&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Downloads:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;../../../download/nb19/&quot; class=&quot;xref page&quot;&gt;Apache NetBeans 19 Download page&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;See our release schedule:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;https://cwiki.apache.org/confluence/display/NETBEANS/Release+Schedule&quot; class=&quot;bare&quot;&gt;https://cwiki.apache.org/confluence/display/NETBEANS/Release+Schedule&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Feel free to share the good news!&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Thanks everyone, and best wishes,&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Neil, Eric, Martin, Geertjan&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;on behalf of Apache NetBeans PMC&lt;/p&gt;
&lt;/div&gt;
</content>
</entry>
<entry>
<id>https://netbeans.apache.org/front/main/blogs/entry/announce-apache-netbeans-18-released/</id>
<title type="html">[ANNOUNCE] Apache NetBeans 18 Released</title>
<author><name>Geertjan Wielenga</name></author>
<link rel="alternate" type="text/html" href="https://netbeans.apache.org/front/main/blogs/entry/announce-apache-netbeans-18-released/"/>
<published>2023-06-01T00:00:00Z</published>
<updated>2023-06-01T00:00:00Z</updated>
<content type="html">
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The Apache NetBeans team is pleased to announce that Apache NetBeans 18 was released on May 30, 2023.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;What&amp;#8217;s in the Apache NetBeans 18 release:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/apache/netbeans/releases/tag/18&quot; class=&quot;bare&quot;&gt;https://github.com/apache/netbeans/releases/tag/18&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;With thanks to 31 contributors, including 5 who have contributed for the first time. Thank you!&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Downloads:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;../../../download/nb18/&quot; class=&quot;xref page&quot;&gt;Apache NetBeans 18 Download page&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;See our release schedule:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;https://cwiki.apache.org/confluence/display/NETBEANS/Release+Schedule&quot; class=&quot;bare&quot;&gt;https://cwiki.apache.org/confluence/display/NETBEANS/Release+Schedule&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Feel free to share the good news!&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Thanks everyone, and best wishes,&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Neil, Eric, Martin, Geertjan&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;on behalf of Apache NetBeans PMC&lt;/p&gt;
&lt;/div&gt;
</content>
</entry>
<entry>
<id>https://netbeans.apache.org/front/main/blogs/entry/announce-apache-netbeans-17-released/</id>
<title type="html">[ANNOUNCE] Apache NetBeans 17 Released</title>
<author><name>Geertjan Wielenga</name></author>
<link rel="alternate" type="text/html" href="https://netbeans.apache.org/front/main/blogs/entry/announce-apache-netbeans-17-released/"/>
<published>2023-02-21T00:00:00Z</published>
<updated>2023-02-21T00:00:00Z</updated>
<content type="html">
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The Apache NetBeans team is pleased to announce that Apache NetBeans 17 was released on February 21, 2023.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;What&amp;#8217;s in the Apache NetBeans 17 release:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/apache/netbeans/releases/tag/17&quot; class=&quot;bare&quot;&gt;https://github.com/apache/netbeans/releases/tag/17&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;With thanks to 36 contributors, including 7 who have contributed for the first time. Thank you!&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Downloads:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;../../../download/nb17/&quot; class=&quot;xref page&quot;&gt;Apache NetBeans 17 Download page&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;See our release schedule:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;https://cwiki.apache.org/confluence/display/NETBEANS/Release+Schedule&quot; class=&quot;bare&quot;&gt;https://cwiki.apache.org/confluence/display/NETBEANS/Release+Schedule&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Feel free to share the good news!&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Thanks everyone, and best wishes,&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Neil, Eric, Martin, Geertjan&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;on behalf of Apache NetBeans PMC&lt;/p&gt;
&lt;/div&gt;
</content>
</entry>
<entry>
<id>https://netbeans.apache.org/front/main/blogs/entry/announce-apache-netbeans-16-released/</id>
<title type="html">[ANNOUNCE] Apache NetBeans 16 Released</title>
<author><name>Geertjan Wielenga</name></author>
<link rel="alternate" type="text/html" href="https://netbeans.apache.org/front/main/blogs/entry/announce-apache-netbeans-16-released/"/>
<published>2022-12-15T00:00:00Z</published>
<updated>2022-12-15T00:00:00Z</updated>
<content type="html">
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The Apache NetBeans team is pleased to announce that Apache NetBeans 16 was released on November 30, 2022 (though there&amp;#8217;s been a delay in announcing the release).&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;What&amp;#8217;s in the Apache NetBeans 16 release:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/apache/netbeans/releases/tag/16&quot; class=&quot;bare&quot;&gt;https://github.com/apache/netbeans/releases/tag/16&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;With thanks to 26 contributors, including some who have contributed for the first time. Thank you!&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Downloads:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;../../../download/nb16/&quot; class=&quot;xref page&quot;&gt;Apache NetBeans 16 Download page&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;See our release schedule:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;https://cwiki.apache.org/confluence/display/NETBEANS/Release+Schedule&quot; class=&quot;bare&quot;&gt;https://cwiki.apache.org/confluence/display/NETBEANS/Release+Schedule&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Feel free to share the good news!&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Thanks everyone, and best wishes,&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Neil, Eric, Martin, Geertjan&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;on behalf of Apache NetBeans PMC&lt;/p&gt;
&lt;/div&gt;
</content>
</entry>
<entry>
<id>https://netbeans.apache.org/front/main/blogs/entry/towards-fair-trade-for-foss/</id>
<title type="html">Towards Fair Trade for FOSS</title>
<author><name>Geertjan Wielenga</name></author>
<link rel="alternate" type="text/html" href="https://netbeans.apache.org/front/main/blogs/entry/towards-fair-trade-for-foss/"/>
<published>2022-12-03T00:00:00Z</published>
<updated>2022-12-03T00:00:00Z</updated>
<content type="html">
&lt;div id=&quot;preamble&quot;&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;As part of being involved in Apache, I got the opportunity yesterday to go to Brussels
to attend the European Commission&amp;#8217;s &lt;a href=&quot;https://ec.europa.eu/info/news/ec-open-source-workshops-computing-and-sustainability-2-december-2022-2022-oct-21_en&quot;&gt;EC Open Source Workshops - Computing and Sustainability&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_me_and_the_eu&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_me_and_the_eu&quot;&gt;&lt;/a&gt;Me and The EU&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Aside from my many years of involvement in the context of open source,
in particular in the context of &lt;a href=&quot;../../../&quot; class=&quot;xref page&quot;&gt;Apache NetBeans&lt;/a&gt; and the &lt;a href=&quot;https://foojay.io/&quot;&gt;Friends of OpenJDK&lt;/a&gt;,
I recently completed my LL.M Masters of Law at the University of Amsterdam in European Union Law
(25 years after completing my LL.B Bachelor of Law in South Africa) especially because,
aside from the academic side of it, I wanted to finally understand how the EU actually works,
with all its institutions, etc, and, though I can&amp;#8217;t say I really have a full grasp on it all yet
(I doubt anyone really does), it was quite moving to be at one of the key pillars of that institution yesterday.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;imageblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;../../../_images/blogs/entry/towards-fair-trade-for-foss-pic1.png&quot; alt=&quot;towards fair trade for foss pic1&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;To describe all the discussions that took place would be impossible,
since I could only physically attend a few of them because many happened in parallel,
it was great to meet several people I knew already from real life and virtually,
such as Simon Phipps, Dirk van Gulik, Roman Shaposhnik, and Jarek Potiuk,
as well as many other new people, there were just too many, from all different organizations,
NGOs, local administrations, governments, etc, from within the EU and beyond.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;imageblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;../../../_images/blogs/entry/towards-fair-trade-for-foss-pic2.png&quot; alt=&quot;towards fair trade for foss pic2&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Each workshop consisted of a panel that kicked off discussions,
with participants in the room being able to participate, ending with voting
on the most important topics to carry forward and recommend to the European Commission.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;imageblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;../../../_images/blogs/entry/towards-fair-trade-for-foss-pic3.png&quot; alt=&quot;towards fair trade for foss pic3&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_themes&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_themes&quot;&gt;&lt;/a&gt;Themes&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;A key theme in the workshops I was in was the disconnect and misunderstandings
between the public sector and industries on one side and open source on the other.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;There have been many advances made in the sense that open source is now everywhere,
though it is not everywhere in a balanced way nor supported and sustainable to the extent that is could or should be.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;I keep seeing an image of the lone maintainer of an open source project in front of me,
late at night, hacking away at code all for free that large enterprises and companies
around the world simply consume and sell as part of their products.
Not only is that an insecure and unsustainable situation there are clear moral and ethical aspects connected to that as well.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_carrot_and_stick&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_carrot_and_stick&quot;&gt;&lt;/a&gt;Carrot and Stick&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Clearly there was quite some support for compelling the industry to make public
its dependencies on open source, i.e., be compelled to list on their websites
which open source technologies they&amp;#8217;re using, how they are contributing back to
those projects (and other open source projects), be compelled to push their
changes upstream, and expose/explain what they are doing to enable their developers,
in terms of time and money, to contribute to open source projects that those companies have integrated in one way or another.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;A separate idea, not following the legal compliance road, would be some kind of fair trade
accreditation scheme whereby a company would need to comply with certain standards, e.g.,
the above list for example, in order to get accredited with some level of FOSS fair trade certification,
which would be a helpful way for FOSS-aware developers to make the right choices when looking for employment.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;There is simply so much work in IT nowadays that, in fact, companies are now being
interviewed by developers rather than the other way around, and one of the questions
asked by a developer would be: &quot;What is your FOSS Fair Trade Accreditation level?&quot;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;I&amp;#8217;d love to be in a world where that question is asked and, though we&amp;#8217;d need to be
wary of bad actors and have some kind of mechanism for accreditation,
and though it may not solve everything (that would be an unfair standard for any solution), it would certainly be a step forward.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</content>
</entry>
<entry>
<id>https://netbeans.apache.org/front/main/blogs/entry/netbeans-pub-hangout-in-prague/</id>
<title type="html">NetBeans Pub Hangout in Prague</title>
<author><name>Geertjan Wielenga</name></author>
<link rel="alternate" type="text/html" href="https://netbeans.apache.org/front/main/blogs/entry/netbeans-pub-hangout-in-prague/"/>
<published>2022-10-24T00:00:00Z</published>
<updated>2022-10-24T00:00:00Z</updated>
<content type="html">
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;A group of Java engineers gathered in a pub in Prague last night to celebrate many years
of their engagement in NetBeans, all having worked in Sun Microsystems or Oracle or both,
continuing into the Apache world where NetBeans is now found.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;This will not be the last of such gatherings, anyone involved in NetBeans over
the years is more than welcome to attend or set up similar get togethers,
ideally in a pub, which is also where NetBeans started.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;imageblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;../../../_images/blogs/entry/netbeans-pub-hangout-in-prague-pic1.png&quot; alt=&quot;netbeans pub hangout in prague pic1&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
</content>
</entry>
<entry>
<id>https://netbeans.apache.org/front/main/blogs/entry/announce-apache-netbeans-15-released/</id>
<title type="html">[ANNOUNCE] Apache NetBeans 15 Released</title>
<author><name>Geertjan Wielenga</name></author>
<link rel="alternate" type="text/html" href="https://netbeans.apache.org/front/main/blogs/entry/announce-apache-netbeans-15-released/"/>
<published>2022-09-07T00:00:00Z</published>
<updated>2022-09-07T00:00:00Z</updated>
<content type="html">
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The Apache NetBeans team is pleased to announce that Apache NetBeans 15 was released on August 31, 2022 (though there&amp;#8217;s been a delay in announcing the release).&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;What&amp;#8217;s in the Apache NetBeans 15 release:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/apache/netbeans/releases/tag/15&quot; class=&quot;bare&quot;&gt;https://github.com/apache/netbeans/releases/tag/15&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;With thanks to 33 contributors, including some who have contributed for the first time. Thank you!&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Downloads:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;../../../download/nb15/&quot; class=&quot;xref page&quot;&gt;Apache NetBeans 15 Download page&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;See our release schedule:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;https://cwiki.apache.org/confluence/display/NETBEANS/Release+Schedule&quot; class=&quot;bare&quot;&gt;https://cwiki.apache.org/confluence/display/NETBEANS/Release+Schedule&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Feel free to share the good news!&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Thanks everyone, and best wishes,&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Neil, Eric, Geertjan&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;on behalf of Apache NetBeans PMC&lt;/p&gt;
&lt;/div&gt;
</content>
</entry>
<entry>
<id>https://netbeans.apache.org/front/main/blogs/entry/announce-apache-netbeans-14-released/</id>
<title type="html">[ANNOUNCE] Apache NetBeans 14 Released</title>
<author><name>Geertjan Wielenga</name></author>
<link rel="alternate" type="text/html" href="https://netbeans.apache.org/front/main/blogs/entry/announce-apache-netbeans-14-released/"/>
<published>2022-06-17T00:00:00Z</published>
<updated>2022-06-17T00:00:00Z</updated>
<content type="html">
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The Apache NetBeans team is pleased to announce that Apache NetBeans 14 was released on June 9, 2022 (though there&amp;#8217;s been a delay in announcing the release).&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;What&amp;#8217;s in the Apache NetBeans 14 release:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/apache/netbeans/releases/tag/14&quot; class=&quot;bare&quot;&gt;https://github.com/apache/netbeans/releases/tag/14&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Note it&amp;#8217;s the first time we&amp;#8217;re doing a generated changelog like the above, next time it will be even better, we&amp;#8217;ll work on generating different sections and highlights, to make it easier to read through.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Downloads:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;../../../download/nb14/&quot; class=&quot;xref page&quot;&gt;Apache NetBeans 14 Download page&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;See our release schedule:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;https://cwiki.apache.org/confluence/display/NETBEANS/Release+Schedule&quot; class=&quot;bare&quot;&gt;https://cwiki.apache.org/confluence/display/NETBEANS/Release+Schedule&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Feel free to share the good news!&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Thanks everyone, and best wishes,&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Neil, Eric, Geertjan&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;on behalf of Apache NetBeans PMC&lt;/p&gt;
&lt;/div&gt;
</content>
</entry>
<entry>
<id>https://netbeans.apache.org/front/main/blogs/entry/announce-apache-netbeans-13-released/</id>
<title type="html">[ANNOUNCE] Apache NetBeans 13 Released</title>
<author><name>Geertjan Wielenga</name></author>
<link rel="alternate" type="text/html" href="https://netbeans.apache.org/front/main/blogs/entry/announce-apache-netbeans-13-released/"/>
<published>2022-03-04T00:00:00Z</published>
<updated>2022-03-04T00:00:00Z</updated>
<content type="html">
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The Apache NetBeans team is pleased to announce that Apache NetBeans 13 is released today on March 4, 2022. Apache NetBeans is a full IDE for Java SE, Java EE, PHP, JavaScript, HTML5 and more, including some support for Groovy and C/C++.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Our schedule is publicly available here:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;https://cwiki.apache.org/confluence/display/NETBEANS/Release+Schedule&quot; class=&quot;bare&quot;&gt;https://cwiki.apache.org/confluence/display/NETBEANS/Release+Schedule&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;New &amp;amp; noteworthy features of the 13 release:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;../../../download/nb13/&quot; class=&quot;xref page&quot;&gt;Apache NetBeans 13 Features page&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Downloads:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;../../../download/nb13/nb13/&quot; class=&quot;xref page&quot;&gt;Apache NetBeans 13 Download page&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Feel free to share the good news!&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Thanks everyone, and best wishes,&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Neil, Eric, and Geertjan&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Release Manager for Apache NetBeans 13&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;on behalf of Apache NetBeans PMC&lt;/p&gt;
&lt;/div&gt;
</content>
</entry>
<entry>
<id>https://netbeans.apache.org/front/main/blogs/entry/log4j-and-apache-netbeans/</id>
<title type="html">Log4j and Apache NetBeans</title>
<author><name>Geertjan Wielenga</name></author>
<link rel="alternate" type="text/html" href="https://netbeans.apache.org/front/main/blogs/entry/log4j-and-apache-netbeans/"/>
<published>2022-01-04T00:00:00Z</published>
<updated>2022-01-04T00:00:00Z</updated>
<content type="html">
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Log4j v2 is not a direct component of Apache NetBeans or a dependency of any current component.
The Apache NetBeans PMC has studied earlier versions to see if there is any other risk.
We do not believe any vulnerability in Log4j v1 is exploitable in Apache NetBeans IDE.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Apache NetBeans Platform developers, i.e., those creating applications on top of Apache NetBeans, should make their own assessment.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;If you are aware of any issue, please follow the guidelines at &lt;a href=&quot;https://www.apache.org/security&quot;&gt;https://www.apache.org/security&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
</content>
</entry>
<entry>
<id>https://netbeans.apache.org/front/main/blogs/entry/announce-apache-netbeans-12-6/</id>
<title type="html">[ANNOUNCE] Apache NetBeans 12.6 Released</title>
<author><name>Geertjan Wielenga</name></author>
<link rel="alternate" type="text/html" href="https://netbeans.apache.org/front/main/blogs/entry/announce-apache-netbeans-12-6/"/>
<published>2021-12-06T00:00:00Z</published>
<updated>2021-12-06T00:00:00Z</updated>
<content type="html">
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The Apache NetBeans team is pleased to announce that Apache NetBeans 12.6 was released on November 29th 2021. Apache NetBeans is a full IDE for Java SE, Java EE, PHP, JavaScript, HTML5 and more, including some support for Groovy and C/C++.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Our schedule is publicly available here:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;https://cwiki.apache.org/confluence/display/NETBEANS/Release+Schedule&quot; class=&quot;bare&quot;&gt;https://cwiki.apache.org/confluence/display/NETBEANS/Release+Schedule&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;New &amp;amp; noteworthy features of the 12.6 release:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;../../../download/nb126/&quot; class=&quot;xref page&quot;&gt;Apache NetBeans 12.6 Features page&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Downloads:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;../../../download/nb126/nb126/&quot; class=&quot;xref page&quot;&gt;Apache NetBeans 12.6 Download page&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Feel free to share the good news!&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Thanks everyone, and best wishes,&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Neil and Geertjan&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Release Manager for Apache NetBeans 12.6&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;on behalf of Apache NetBeans PMC&lt;/p&gt;
&lt;/div&gt;
</content>
</entry>
<entry>
<id>https://netbeans.apache.org/front/main/blogs/entry/announce-apache-netbeans-12-5/</id>
<title type="html">[ANNOUNCE] Apache NetBeans 12.5 Released</title>
<author><name>Geertjan Wielenga</name></author>
<link rel="alternate" type="text/html" href="https://netbeans.apache.org/front/main/blogs/entry/announce-apache-netbeans-12-5/"/>
<published>2021-09-21T00:00:00Z</published>
<updated>2021-09-21T00:00:00Z</updated>
<content type="html">
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The Apache NetBeans team is pleased to announce that Apache NetBeans 12.5 was released on September 13th 2021 &lt;sup class=&quot;footnote&quot;&gt;[&lt;a id=&quot;_footnoteref_1&quot; class=&quot;footnote&quot; href=&quot;#_footnotedef_1&quot; title=&quot;View footnote.&quot;&gt;1&lt;/a&gt;]&lt;/sup&gt;. Apache NetBeans is a full IDE for Java SE, Java EE, PHP, JavaScript, HTML5 and more, including some support for Groovy and C/C++.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Apache NetBeans 12.5 is a quarterly feature update. The LTS release of the current cycle is Apache NetBeans 12.0. The 12.5 release has not been as heavily tested as the LTS release. Our schedule is publicly available here:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;https://cwiki.apache.org/confluence/display/NETBEANS/Release+Schedule&quot; class=&quot;bare&quot;&gt;https://cwiki.apache.org/confluence/display/NETBEANS/Release+Schedule&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;New &amp;amp; noteworthy features of the 12.5 release:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;../../../download/nb125/&quot; class=&quot;xref page&quot;&gt;Apache NetBeans 12.5 Features page&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Downloads:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;../../../download/nb125/nb125/&quot; class=&quot;xref page&quot;&gt;Apache NetBeans 12.5 Download page&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Feel free to share the good news!&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Thanks everyone, and best wishes,&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Eric&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Release Manager for Apache NetBeans 12.5&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;on behalf of Apache NetBeans PMC&lt;/p&gt;
&lt;/div&gt;
&lt;div id=&quot;footnotes&quot;&gt;
&lt;hr&gt;
&lt;div class=&quot;footnote&quot; id=&quot;_footnotedef_1&quot;&gt;
&lt;a href=&quot;#_footnoteref_1&quot;&gt;1&lt;/a&gt;. We&amp;#8217;re again a little late in announcing this because we were creating convenience binaries, e.g., installers, since announcing the result of the vote thread.
&lt;/div&gt;
&lt;/div&gt;
</content>
</entry>
<entry>
<id>https://netbeans.apache.org/front/main/blogs/entry/announce-apache-netbeans-12-4/</id>
<title type="html">[ANNOUNCE] Apache NetBeans 12.4 Released</title>
<author><name>Geertjan Wielenga</name></author>
<link rel="alternate" type="text/html" href="https://netbeans.apache.org/front/main/blogs/entry/announce-apache-netbeans-12-4/"/>
<published>2021-05-29T00:00:00Z</published>
<updated>2021-05-29T00:00:00Z</updated>
<content type="html">
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The Apache NetBeans team is pleased to announce that Apache NetBeans 12.4 was released on May 19th 2021 &lt;sup class=&quot;footnote&quot;&gt;[&lt;a id=&quot;_footnoteref_1&quot; class=&quot;footnote&quot; href=&quot;#_footnotedef_1&quot; title=&quot;View footnote.&quot;&gt;1&lt;/a&gt;]&lt;/sup&gt;. Apache NetBeans is a full IDE for Java SE, Java EE, PHP, JavaScript, HTML5 and more, including some support for Groovy and C/C++.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Apache NetBeans 12.4 is a quarterly feature update. The LTS release of the current cycle is Apache NetBeans 12.0. The 12.4 release has not been as heavily tested as the LTS release. Our schedule is publicly available here:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;https://cwiki.apache.org/confluence/display/NETBEANS/Release+Schedule&quot; class=&quot;bare&quot;&gt;https://cwiki.apache.org/confluence/display/NETBEANS/Release+Schedule&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;New &amp;amp; noteworthy features of the 12.4 release:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;../../../download/nb124/&quot; class=&quot;xref page&quot;&gt;Apache NetBeans 12.4 Features page&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Downloads:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;../../../download/nb124/nb124/&quot; class=&quot;xref page&quot;&gt;Apache NetBeans 12.4 Download page&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Feel free to share the good news!&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Thanks everyone, and best wishes,&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Geertjan and Neil&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Release Managers for Apache NetBeans 12.4&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;on behalf of Apache NetBeans PMC&lt;/p&gt;
&lt;/div&gt;
&lt;div id=&quot;footnotes&quot;&gt;
&lt;hr&gt;
&lt;div class=&quot;footnote&quot; id=&quot;_footnotedef_1&quot;&gt;
&lt;a href=&quot;#_footnoteref_1&quot;&gt;1&lt;/a&gt;. We&amp;#8217;re a little late in announcing this because we were creating convenience binaries, e.g., installers, since announcing the result of the vote thread.
&lt;/div&gt;
&lt;/div&gt;
</content>
</entry>
<entry>
<id>https://netbeans.apache.org/front/main/blogs/entry/better-news-correct-deprecation-of/</id>
<title type="html">Better JEP 411 News: Correct Deprecation of SecurityManager</title>
<author><name>Geertjan Wielenga</name></author>
<link rel="alternate" type="text/html" href="https://netbeans.apache.org/front/main/blogs/entry/better-news-correct-deprecation-of/"/>
<published>2021-05-28T00:00:00Z</published>
<updated>2021-05-28T00:00:00Z</updated>
<content type="html">
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;See &lt;a href=&quot;https://mail.openjdk.java.net/pipermail/jdk-dev/2021-May/005616.html&quot; class=&quot;bare&quot;&gt;https://mail.openjdk.java.net/pipermail/jdk-dev/2021-May/005616.html&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;literalblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;pre&gt;&quot;We have updated the JEP with a few changes to the &quot;Issue Warnings&quot;
section [1], summarized as follows:
If the Java runtime is started without setting the system property
&apos;java.security.manager&apos; then a custom Security Manager can be installed
dynamically by calling System::setSecurityManager, just as in Java 16.
No UnsupportedOperationException will be thrown. This call will,
however, issue a warning message explaining that the Security Manager is
deprecated and will be removed in a future release.
We plan to change the default value of the &apos;java.security.manager&apos;
system property to &quot;disallow&quot; in the next release, i.e., Java 18. That
will cause System::setSecurityManager to throw an
UnsupportedOperationException in Java 18.
With these changes, the process of deprecating and eventually removing
the Security Manager will be consistent with our treatment of past
breaking changes such as, e.g., the strong encapsulation of internal
APIs. Maintainers of libraries and applications will be given fair
warning before any existing code is broken.&quot;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
</content>
</entry>
<entry>
<id>https://netbeans.apache.org/front/main/blogs/entry/jep-411-deprecate-the-security1/</id>
<title type="html">JEP 411: Deprecate the Security Manager for Removal (Part 2)</title>
<author><name>Geertjan Wielenga</name></author>
<link rel="alternate" type="text/html" href="https://netbeans.apache.org/front/main/blogs/entry/jep-411-deprecate-the-security1/"/>
<published>2021-05-24T00:00:00Z</published>
<updated>2021-05-24T00:00:00Z</updated>
<content type="html">
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Following on from &lt;a href=&quot;../jep-411-deprecate-the-security/&quot; class=&quot;xref page&quot;&gt;part 1 on this topic&lt;/a&gt;, &lt;a href=&quot;https://openjdk.java.net/jeps/411&quot;&gt;JEP 411&lt;/a&gt; has recently been updated with a &quot;Future Work&quot; section, amongst other changes.
From the Apache NetBeans perspective, this is a welcome shift in the wording of this JEP.
It is great that the owner and reviewers of JEP 411 recognize the special needs of complex, multi protection domain applications, such as IDEs.
Such applications inherently run &quot;less trusted&quot; code, such as 3rd party JavaBean libraries in design time, and the ability to prevent such libraries to &quot;System::exit&quot; (at least) voluntarily is essential for preventing an IDE from unexpectedly closing.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;From the Apache NetBeans point of view, however, it is still very concerning to note the sudden incompatible change in SecurityManager behavior and the rapid pace it is proposed to be implemented.
Deprecating SecurityManager now and giving time to the overall Java ecosystem to adapt to such a change is acceptable, however, changing the JVM&amp;#8217;s behavior incompatibly by requiring additional command line switches is disturbing.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In particular, no existing version of Apache NetBeans is going to launch with the JEP 411 changes.
Unless one starts the JDK with a special property, it is not going to be possible to use the SecurityManager.
Specifically, &lt;a href=&quot;https://issues.apache.org/jira/browse/NETBEANS-5689&quot;&gt;NETBEANS-5689&lt;/a&gt; will prevent the IDE from starting.
Should a user provide the proposed &quot;-Djava.security.manager=allow&quot; property, then the launch fails as well due to interaction with the Equinox framework, as shown in link;&lt;a href=&quot;https://issues.apache.org/jira/browse/NETBEANS-5703&quot;&gt;NETBEANS-5703&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Let&amp;#8217;s face it, there is no known workaround. Apache NetBeans will not launch on JDK 17, i.e., the next LTS of Java.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Ideally JEP 411 would actually do what it says and deprecate only, rather than incompatibly changing the JVM&amp;#8217;s behavior.
The Java community should be given the next few years to adjust to the change and release updated versions of libraries (like Equinox) that are ready for the deprecation.
Then applications should be updated (like NetBeans) to use such libraries. Only then should the incompatible mode be turned on, if at all.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Should the authors of JEP 411 take their shift in understanding the special need of IDEs &amp;amp; other complex multi protection domain applications seriously, they would prevent all sudden incompatibilities related to JEP 411 when deprecating SecurityManager.&lt;/p&gt;
&lt;/div&gt;
</content>
</entry>
<entry>
<id>https://netbeans.apache.org/front/main/blogs/entry/jep-411-deprecate-the-security/</id>
<title type="html">JEP 411: Deprecate the Security Manager for Removal (Part 1)</title>
<author><name>Geertjan Wielenga</name></author>
<link rel="alternate" type="text/html" href="https://netbeans.apache.org/front/main/blogs/entry/jep-411-deprecate-the-security/"/>
<published>2021-04-16T00:00:00Z</published>
<updated>2021-04-16T00:00:00Z</updated>
<content type="html">
&lt;div id=&quot;preamble&quot;&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In &lt;a href=&quot;https://mail.openjdk.org/pipermail/security-dev/2021-April/025486.html&quot;&gt;JEP 411, announcing the deprecation of java.lang.SecurityManager&lt;/a&gt;, one would hope that the use cases for which SecurityManager exists will be replaced by more modern APIs, before it is removed from the OpenJDK. Below is a partial list of use cases for which the SecurityManager is used by Apache NetBeans:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;checkExit.&lt;/strong&gt; Ability to prevent accidental invocations of System.exit is very important for any application that deals with other unknown libraries (as IDEs do).
&lt;a href=&quot;https://bugs.openjdk.java.net/browse/JDK-8199704&quot;&gt;JDK-8199704&lt;/a&gt; is filled for this, but there is no proposal for an API yet, so it is impossible to tell how the API will cover this use case.
The current API allows, for example, to partially simulate the effect of System.exit, while it also allows to provide a user-understandable message when a real exit is rejected.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Watching file system access.&lt;/strong&gt; In various places, both in production code and in tests, SecurityManager is used as a tool to receive notifications of file reading or writing.
This is especially important in integration tests, to guarantee that code is never accessing disk, unless absolutely necessary (for performance reasons, among others).
In principle, the WatchService could be used for these use cases.
However, the WatchService is not guaranteed to work (e.g., due to OS restrictions), it cannot detect read-only access, and requires subscription to individual Paths. SecurityManager provides a more reliable way to monitor all filesystem access done by Java code.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Warning or prevention of use of obsolete and/or dangerous idioms.&lt;/strong&gt; The SecurityManager is used to warn about the use of obsolete System properties (via checkPropertyAccess) and the use of`sun.misc.Unsafe unsupported APIs via checkMemberAccess.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Identifying User Application Windows.&lt;/strong&gt; The showWindowWithoutWarningBanner permission is used to track which windows belong to which user&amp;#8217;s custom application (so that they can be closed when call to &lt;code&gt;System.exit&lt;/code&gt; is intercepted).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Misc.&lt;/strong&gt; There are also restrictions on potentially dangerous code, which are probably less important and &lt;a href=&quot;https://mail.openjdk.java.net/pipermail/security-dev/2021-April/025495.html&quot;&gt;are covered by Reinier&amp;#8217;s e-mail&lt;/a&gt;. There are also few (probably) obsoleted workarounds.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_summary&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_summary&quot;&gt;&lt;/a&gt;Summary&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Apache NetBeans doesn&amp;#8217;t use java.lang.SecurityManager to guarantee security, but rather to gain additional insight into the JVM&amp;#8217;s behavior.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Without having such insights, the IDE&amp;#8217;s user experience would be severely affected.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;It is to be hoped that replacement APIs are being designed and that they will be provided for evaluation before JEP-411 is integrated.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</content>
</entry>
<entry>
<id>https://netbeans.apache.org/front/main/blogs/entry/announce-apache-netbeans-12-3/</id>
<title type="html">[ANNOUNCE] Apache NetBeans 12.3 Released</title>
<author><name>Geertjan Wielenga</name></author>
<link rel="alternate" type="text/html" href="https://netbeans.apache.org/front/main/blogs/entry/announce-apache-netbeans-12-3/"/>
<published>2021-03-11T00:00:00Z</published>
<updated>2021-03-11T00:00:00Z</updated>
<content type="html">
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The Apache NetBeans team is pleased to announce that Apache NetBeans 12.3 was released on March 3rd 2021. Apache NetBeans is a full IDE for Java SE, Java EE, PHP, JavaScript, HTML5 and more, including some support for Groovy and C/C++.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Apache NetBeans 12.3 is the first quarterly feature update in 2021. The LTS release of the current cycle is Apache NetBeans 12.0. The 12.3 release has not been as heavily tested as the LTS release. Our schedule is publicly available here:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;https://cwiki.apache.org/confluence/display/NETBEANS/Release+Schedule&quot; class=&quot;bare&quot;&gt;https://cwiki.apache.org/confluence/display/NETBEANS/Release+Schedule&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;New &amp;amp; noteworthy features of the 12.3 release:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;../../../download/nb123/&quot; class=&quot;xref page&quot;&gt;Apache NetBeans 12.3 Features page&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Downloads:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;../../../download/nb123/nb123/&quot; class=&quot;xref page&quot;&gt;Apache NetBeans 12.3 Download page&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Feel free to share the good news!&lt;/p&gt;
&lt;/div&gt;
</content>
</entry>
<entry>
<id>https://netbeans.apache.org/front/main/blogs/entry/announce-apache-netbeans-12-2/</id>
<title type="html">[ANNOUNCE] Apache NetBeans 12.2 Released</title>
<author><name>Geertjan Wielenga</name></author>
<link rel="alternate" type="text/html" href="https://netbeans.apache.org/front/main/blogs/entry/announce-apache-netbeans-12-2/"/>
<published>2020-12-07T00:00:00Z</published>
<updated>2020-12-07T00:00:00Z</updated>
<content type="html">
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The Apache NetBeans team is pleased to announce that Apache NetBeans 12.2 was released on December 5th 2020.
Apache NetBeans is a full IDE for Java SE, Java EE, PHP, JavaScript, HTML5 and more, including some support for Groovy and (new) C/C++.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Apache NetBeans 12.2 is the second quarterly feature update in the NetBeans 12 cycle.
The LTS release of the current cycle is Apache NetBeans 12.0.
The 12.2 release has not been as heavily tested as the LTS release.
Use 12.2 to access the latest features and to provide feedback for the next LTS release, scheduled for mid-2021.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;New &amp;amp; noteworthy features of the 12.2 release:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;../../../download/nb122/&quot; class=&quot;xref page&quot;&gt;Apache NetBeans 12.2 Features page&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Downloads:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;../../../download/nb122/nb122/&quot; class=&quot;xref page&quot;&gt;Apache NetBeans 12.2 Download page&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Feel free to share the good news!&lt;/p&gt;
&lt;/div&gt;
</content>
</entry>
<entry>
<id>https://netbeans.apache.org/front/main/blogs/entry/announce-apache-netbeans-12-1/</id>
<title type="html">[ANNOUNCE] Apache NetBeans 12.1 Released</title>
<author><name>Geertjan Wielenga</name></author>
<link rel="alternate" type="text/html" href="https://netbeans.apache.org/front/main/blogs/entry/announce-apache-netbeans-12-1/"/>
<published>2020-09-15T00:00:00Z</published>
<updated>2020-09-15T00:00:00Z</updated>
<content type="html">
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The Apache NetBeans team is pleased to announce that Apache NetBeans 12.1 was released on Sept 1st 2020.
Apache NetBeans is a full IDE for Java SE, Java EE, PHP, JavaScript, HTML5 and more, including some support for Groovy and (new) C/C++.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Apache NetBeans 12.1 is the first quarterly feature update in the NetBeans 12 cycle.
The LTS release of the current cycle is Apache NetBeans 12.0. The 12.1 release has not been as heavily tested as the LTS release.
Use 12.1 to access the latest features and to provide feedback for the next LTS release, scheduled for mid-2021.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;New &amp;amp; noteworthy features of the 12.1 release:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;../../../download/nb121/&quot; class=&quot;xref page&quot;&gt;Apache NetBeans 12.1 Features page&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Downloads:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;../../../download/nb121/nb121/&quot; class=&quot;xref page&quot;&gt;Apache NetBeans 12.1 Download page&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Feel free to share the good news!&lt;/p&gt;
&lt;/div&gt;
</content>
</entry>
<entry>
<id>https://netbeans.apache.org/front/main/blogs/entry/announce-apache-netbeans-12-0/</id>
<title type="html">[ANNOUNCE] Apache NetBeans 12.0 Released</title>
<author><name>Geertjan Wielenga</name></author>
<link rel="alternate" type="text/html" href="https://netbeans.apache.org/front/main/blogs/entry/announce-apache-netbeans-12-0/"/>
<published>2020-06-09T00:00:00Z</published>
<updated>2020-06-09T00:00:00Z</updated>
<content type="html">
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Apache NetBeans 12.0 adds support for the latest Java language features, integrates new code donations from Oracle for Java Web development,
enhances its best of breed Apache Maven tooling, brings multiple enhancements for users of Gradle,
includes built-in features for Payara and WildFly for the first time, introduces new out of the box templates for JavaFX,
upgrades and extends its PHP editor, provides new dark look and feel options, and includes a wide range of fixes.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;All features provided by Apache NetBeans are supported out of the box,
without additional plugins needing to be installed, and all for free.
Apache NetBeans 12.0 is the first LTS release of NetBeans as a top level Apache project.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We would like to thank all contributors, the community, and the Apache Software Foundation for the great co-operation and enthusiasm
enabling this complex and exciting project to continue to inspire and be of use to developers all over the world.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;New &amp;amp; noteworthy features of the 12.0 release:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;../../../download/nb120/&quot; class=&quot;xref page&quot;&gt;Apache NetBeans 12.0 Features page&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Downloads:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;../../../download/nb120/nb120/&quot; class=&quot;xref page&quot;&gt;Apache NetBeans 12.0 Download page&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Feel free to share the good news!&lt;/p&gt;
&lt;/div&gt;
</content>
</entry>
<entry>
<id>https://netbeans.apache.org/front/main/blogs/entry/newly-identified-inactive-malware-campaign/</id>
<title type="html">Newly Identified Inactive Malware Campaign: Impact on Apache NetBeans</title>
<author><name>Geertjan Wielenga</name></author>
<link rel="alternate" type="text/html" href="https://netbeans.apache.org/front/main/blogs/entry/newly-identified-inactive-malware-campaign/"/>
<published>2020-06-01T00:00:00Z</published>
<updated>2020-06-01T00:00:00Z</updated>
<content type="html">
&lt;div id=&quot;preamble&quot;&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Researchers at GitHub have identified 26 projects on GitHub that have been infected by malware&lt;a href=&quot;#secu&quot;&gt;[1]&lt;/a&gt;.
The initial point of infection is undetermined and all activity with the malware has been shut down.
The malware relied on project templates generated by Apache NetBeans using an older customized Apache Ant-based build system
that has been in limited use since 2006. This does not impact users of other build systems like Apache Maven or Gradle or even most Apache Ant users.
The majority of Apache NetBeans projects leverage native build tool integrations that are shared with continuous integration systems.
With over 44 million repositories hosted on GitHub&lt;a href=&quot;#zdnet&quot;&gt;[2]&lt;/a&gt;, the scope of these 26 projects looks isolated, these projects have been set to private,
and their owners contacted, while GitHub has not had reason to contact the NetBeans community about this,
indicating that this has no significant impact on the NetBeans community.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Note: Software Supply Chain attacks are not unique to any IDE and the NetBeans community will continue to monitor the
threat landscape to keep developers safe and aware. Be aware&lt;a href=&quot;#apidesign&quot;&gt;[3]&lt;/a&gt; that any build system that you use when developing applications,
with any IDE or build system, can be infiltrated by malware. Always make sure that the files you check into your versioning system
are your own or that you know where they come from and what they do.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_related_references&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_related_references&quot;&gt;&lt;/a&gt;Related references:&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;ulist bibliography&quot;&gt;
&lt;ul class=&quot;bibliography&quot;&gt;
&lt;li&gt;
&lt;p&gt;&lt;a id=&quot;secu&quot;&gt;&lt;/a&gt;[1] &lt;a href=&quot;https://securitylab.github.com/research/octopus-scanner-malware-open-source-supply-chain&quot;&gt;https://securitylab.github.com/research/octopus-scanner-malware-open-source-supply-chain&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a id=&quot;zdnet&quot;&gt;&lt;/a&gt;[2]&lt;a href=&quot;https://www.zdnet.com/article/github-tops-40-million-developers-as-python-data-science-machine-learning-popularity-surges/&quot;&gt;https://www.zdnet.com/article/github-tops-40-million-developers-as-python-data-science-machine-learning-popularity-surges/&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a id=&quot;apidesign&quot;&gt;&lt;/a&gt;[3] &lt;a href=&quot;http://wiki.apidesign.org/wiki/Malware&quot;&gt;http://wiki.apidesign.org/wiki/Malware&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</content>
</entry>
<entry>
<id>https://netbeans.apache.org/front/main/blogs/entry/when-will-apache-netbeans-12/</id>
<title type="html">When will Apache NetBeans 12.0 be released?</title>
<author><name>Geertjan Wielenga</name></author>
<link rel="alternate" type="text/html" href="https://netbeans.apache.org/front/main/blogs/entry/when-will-apache-netbeans-12/"/>
<published>2020-03-11T00:00:00Z</published>
<updated>2020-03-11T00:00:00Z</updated>
<content type="html">
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Apache NetBeans 12.0 will be released once many people:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;olist arabic&quot;&gt;
&lt;ol class=&quot;arabic&quot;&gt;
&lt;li&gt;
&lt;p&gt;Download Apache NetBeans 12.0 Beta 4: removed&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Try it out. Here is an overview of the newest features, though incomplete: removed&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Fill in this very quick survey: removed&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
</content>
</entry>
<entry>
<id>https://netbeans.apache.org/front/main/blogs/entry/announce-apache-netbeans-11-3/</id>
<title type="html">[ANNOUNCE] Apache NetBeans 11.3 Released</title>
<author><name>Geertjan Wielenga</name></author>
<link rel="alternate" type="text/html" href="https://netbeans.apache.org/front/main/blogs/entry/announce-apache-netbeans-11-3/"/>
<published>2020-03-04T00:00:00Z</published>
<updated>2020-03-04T00:00:00Z</updated>
<content type="html">
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The Apache NetBeans team is pleased to announce the release of Apache NetBeans 11.3.
Apache NetBeans is a full IDE for Java SE, Java EE, PHP and JavaScript development with some Groovy language support.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Apache NetBeans 11.3 is the third Apache NetBeans release outside the Apache Incubator and the third release of the &lt;a href=&quot;https://cwiki.apache.org/confluence/display/NETBEANS/Release+Schedule&quot;&gt;new quarterly release cycle&lt;/a&gt;.
The LTS release of the Apache NetBeans 11 cycle is Apache NetBeans 11.0.
The 11.3 release has not been as heavily tested as the LTS release.
Use 11.3 to access the latest features and to provide feedback for the next LTS release, scheduled for April 2020.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;New &amp;amp; noteworthy features of the 11.3 release:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;../../../download/nb113/&quot; class=&quot;xref page&quot;&gt;Apache NetBeans 11.3 Features page&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Downloads:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;../../../download/nb113/nb113/&quot; class=&quot;xref page&quot;&gt;Apache NetBeans 11.3 Download page&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Feel free to share the good news!&lt;/p&gt;
&lt;/div&gt;
</content>
</entry>
<entry>
<id>https://netbeans.apache.org/front/main/blogs/entry/apache-netbeans-11-3-beta2/</id>
<title type="html">Apache NetBeans 11.3-beta2 is Ready for Testing!</title>
<author><name>lkishalmi</name></author>
<link rel="alternate" type="text/html" href="https://netbeans.apache.org/front/main/blogs/entry/apache-netbeans-11-3-beta2/"/>
<published>2020-02-03T00:00:00Z</published>
<updated>2020-02-03T00:00:00Z</updated>
<content type="html">
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Eric Barboni, our Release Manager of 11.3, produced Apache NetBeans 11.3-beta2 build the other day. It is available for testing!&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Those using the Snap distribution and would like to give it a try:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;listingblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;pre class=&quot;highlightjs highlight&quot;&gt;&lt;code class=&quot;language-console hljs&quot; data-lang=&quot;console&quot;&gt;sudo snap refresh --channel=edge netbeans&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
</content>
</entry>
<entry>
<id>https://netbeans.apache.org/front/main/blogs/entry/released-netbeans-11-2-update/</id>
<title type="html">Released: NetBeans 11.2 Update 1</title>
<author><name>Geertjan Wielenga</name></author>
<link rel="alternate" type="text/html" href="https://netbeans.apache.org/front/main/blogs/entry/released-netbeans-11-2-update/"/>
<published>2019-12-03T00:00:00Z</published>
<updated>2019-12-03T00:00:00Z</updated>
<content type="html">
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;This release is identical to 11.2 except for backported fixes for:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;https://issues.apache.org/jira/browse/NETBEANS-3257&quot;&gt;NETBEANS-3257&lt;/a&gt; Fixed issue on refactoring rename of java method (and potentially other nb-javac issues)&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;https://issues.apache.org/jira/browse/NETBEANS-3335&quot;&gt;NETBEANS-3335&lt;/a&gt; Enhance robustness of HTML Lexer - enter key doesn&amp;#8217;t work in certain files&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;https://issues.apache.org/jira/browse/NETBEANS-3290&quot;&gt;NETBEANS-3290&lt;/a&gt; Fix common.xml causing layer build problems in RCP applications&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Use the Plugin Manager under the Tools menu to update 11.2 to 11.2 Update 1.&lt;/p&gt;
&lt;/div&gt;
</content>
</entry>
<entry>
<id>https://netbeans.apache.org/front/main/blogs/entry/netbeans-11-3-is-shaping/</id>
<title type="html">NetBeans 11.3 is Shaping up Nicely</title>
<author><name>lkishalmi</name></author>
<link rel="alternate" type="text/html" href="https://netbeans.apache.org/front/main/blogs/entry/netbeans-11-3-is-shaping/"/>
<published>2019-11-30T00:00:00Z</published>
<updated>2019-11-30T00:00:00Z</updated>
<content type="html">
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;One month has passed since NetBeans 11.2 had been released.
There are 82 new PR-s made it to the master branch so far.
We usually have a, not necessary intentional, &quot;theme&quot; for each release. I&amp;#8217;d say the theme is for 11.3 is: &quot;Remove the Rust&quot;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Our code and libraries spent long time in the transit.
Many of our modules were still compiling against Java 1.6 and/or used ancient versions of third party libraries.
11.3 improved a lot on this front and there are still many PR are in the queue to carry that on.
Without trying to be complete, here is a small list of changes what&amp;#8217;s coming:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Jgit Library Update&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;ASM, PostgreSQL, JUnit5 and Other Library Updates.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;PHP Fixes&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;HTML Lexer Stability Improvements&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;JSF 2.3 Support&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Gradle Tooling 6.0&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Several Cleanups, Remove Compile Warnings&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;On the UI Side:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Return of Dark Metal and Dark Nimbus Look and Feel&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Experimental support for Flatlaf Look and Feel&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;On Gradle Side:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Test Output is Channeled Back to the IDE&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Added Project Reload Action&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Elephant Icons Finally Replace the old Ones&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
</content>
</entry>
<entry>
<id>https://netbeans.apache.org/front/main/blogs/entry/announce-apache-netbeans-11-2/</id>
<title type="html">[ANNOUNCE] Apache NetBeans 11.2 Released</title>
<author><name>Geertjan Wielenga</name></author>
<link rel="alternate" type="text/html" href="https://netbeans.apache.org/front/main/blogs/entry/announce-apache-netbeans-11-2/"/>
<published>2019-11-01T00:00:00Z</published>
<updated>2019-11-01T00:00:00Z</updated>
<content type="html">
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The Apache NetBeans team is pleased to announce the release of Apache NetBeans 11.2.
Apache NetBeans is a full IDE for Java SE, Java EE, PHP and JavaScript development with some Groovy language support.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Apache NetBeans 11.2 is the second Apache NetBeans release outside the Apache Incubator and the second release of the new quarterly release cycle.
The LTS release of the Apache NetBeans 11 cycle is Apache NetBeans 11.0.
The 11.2 release has not been as heavily tested as the LTS release.
Use 11.2 to access the latest features and to provide feedback for the next LTS release, scheduled for April 2020.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;New &amp;amp; noteworthy features of the 11.2 release:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;../../../download/nb112/&quot; class=&quot;xref page&quot;&gt;Apache NetBeans 11.2 Features page&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Downloads:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;../../../download/nb112/nb112/&quot; class=&quot;xref page&quot;&gt;Apache NetBeans 11.2 Download page&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Feel free to share the good news!&lt;/p&gt;
&lt;/div&gt;
</content>
</entry>
<entry>
<id>https://netbeans.apache.org/front/main/blogs/entry/netbeans-at-oracle-code-one/</id>
<title type="html">NetBeans at Oracle Code One 2019</title>
<author><name>Geertjan Wielenga</name></author>
<link rel="alternate" type="text/html" href="https://netbeans.apache.org/front/main/blogs/entry/netbeans-at-oracle-code-one/"/>
<published>2019-09-11T00:00:00Z</published>
<updated>2019-09-11T00:00:00Z</updated>
<content type="html">
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;An Apache NetBeans schedule for those going to Oracle Code One 2019 next week!&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;strong&gt;Saturday, September 14&lt;/strong&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;19:00 Hang out in the Thirsty Bear in Howard Street&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;strong&gt;Monday, September 16&lt;/strong&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Why You Should Be Coding with the NetBeans IDE&lt;/strong&gt; [BOF1321]&lt;/p&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Mark Stephens, Developer, IDRsolutions&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Ethan Price, Developer, IDRsolutions&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;02:30 PM - 03:15 PM | Moscone South - Room 305&lt;/p&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Java IDE Wars&lt;/strong&gt; [DEV1375]&lt;/p&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Ken Fogel, Teacher, Dawson College&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Scott Selikoff, Software Developer, Selikoff Solutions, LLC&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Jeanne Boyarsky, Developer, CodeRanch&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;04:00 PM - 04:45 PM | Moscone South - Room 304&lt;/p&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Hacking the NetBeans IDE&lt;/strong&gt; [BOF1338]&lt;/p&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Mark Stephens, IDR Solutions&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;06:00 PM - 06:45 PM | Moscone South - Room 309&lt;/p&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Hacking the NetBeans Profiler&lt;/strong&gt; [BOF4170]&lt;/p&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Ryan Cuprak, Formulation Applications R&amp;amp;D; Development Senior Manager, Dassault Systemes&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;06:00 PM - 06:45 PM | Moscone South - Room 305&lt;/p&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;strong&gt;Tuesday, September 17&lt;/strong&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Getting Started with Deep Learning for Enterprise Java Developers&lt;/strong&gt; [DEV2126]&lt;/p&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Zoran Sevarac, Associate Professor, University of Belgrade, Faculty of Organisational Sciences&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Suyash Joshi, Developer Marketing Director, Oracle&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;12:30 PM - 01:15 PM | Moscone South - Room 308&lt;/p&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Testing on Oracle Autonomous Database with Homomorphic Encryption, Using NetBeans and Java - BYOL&lt;/strong&gt; [HOL3196]&lt;/p&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Simon Bain, Founder &amp;amp; CTO, ShieldIO&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;12:30 PM - 02:30 PM | Moscone West - Room 3024C&lt;/p&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;strong&gt;Wednesday, September 18&lt;/strong&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Apache NetBeans: Its Status and Future&lt;/strong&gt; [DEV2506]&lt;/p&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Geertjan Wielenga, Product Manager, Oracle&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Mark Stephens, Developer, IDRsolutions&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Ethan Price, Developer, IDRsolutions&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;06:00 PM - 06:45 PM | Moscone South - Room 206&lt;/p&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;strong&gt;Thursday, September 19&lt;/strong&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Testing on Oracle Autonomous Database with Homomorphic Encryption, Using NetBeans and Java - BYOL&lt;/strong&gt; [HOL3196]&lt;/p&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Simon Bain, Founder &amp;amp; CTO, ShieldIO&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;09:00 AM - 11:00 AM | Moscone West - Room 3024C&lt;/p&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;19:00 Hang out in the Thirsty Bear in Howard Street&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
</content>
</entry>
<entry>
<id>https://netbeans.apache.org/front/main/blogs/entry/what-to-do-with-javafx/</id>
<title type="html">What to do with JavaFX and OpenJFX in Apache NetBeans?</title>
<author><name>Geertjan Wielenga</name></author>
<link rel="alternate" type="text/html" href="https://netbeans.apache.org/front/main/blogs/entry/what-to-do-with-javafx/"/>
<published>2019-08-25T00:00:00Z</published>
<updated>2019-08-25T00:00:00Z</updated>
<content type="html">
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;If Apache NetBeans runs on JDK 8, a range of Ant-based JavaFX sample applications are available in NetBeans to help you get started and learn about JavaFX.
However, if NetBeans does not run on JDK 8, the available Ant-based JavaFX samples don&amp;#8217;t work (can&amp;#8217;t be created) but there&amp;#8217;s no point
in working on fixing that since from JDK 11 onwards JavaFX is no longer part of the JDK and Maven/Gradle-based &lt;a href=&quot;https://openjfx.io/&quot;&gt;OpenJFX samples&lt;/a&gt; are obvious
candidates for integration into NetBeans instead.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;However, how should that be handled in NetBeans? Before Apache NetBeans 11.1,
there was no integration with OpenJFX. Only JavaFX projects and samples were built into NetBeans,
which led to a great deal of confusion since when someone sets up an environment from scratch today,
they&amp;#8217;re unlikely to have installed JDK 8. Much more likely, they&amp;#8217;ll have JDK 11 or 12 and then those JavaFX projects
and samples in NetBeans cannot be used, i.e., when you try to create those samples, while running NetBeans on anything other than JDK 8,
you&amp;#8217;re simply told in the wizard that you have the wrong JDK. And then you somehow need to find out that the best thing to do next is use
the &lt;a href=&quot;https://openjfx.io/openjfx-docs/&quot;&gt;OpenJFX documentation&lt;/a&gt; to set up the OpenJFX samples in NetBeans.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;That is suboptimal and so Gluon integrated their two sample applications into Apache NetBeans 11.1, i.e., in the most recent release:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/apache/netbeans/tree/master/javafx/openjfx.samples&quot;&gt;https://github.com/apache/netbeans/tree/master/javafx/openjfx.samples&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;That is a step forward but still suboptimal, as explained here by Jaroslav Tulach:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/apache/netbeans/pull/1241#issuecomment-491357016&quot;&gt;https://github.com/apache/netbeans/pull/1241#issuecomment-491357016&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;That entire new module is not needed. Literally, all that needs to be done is that this file needs to be updated with two new template registrations:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/apache/netbeans/blob/master/java/maven/src/org/netbeans/modules/maven/newproject/MavenWizardIterator.java&quot;&gt;https://github.com/apache/netbeans/blob/master/java/maven/src/org/netbeans/modules/maven/newproject/MavenWizardIterator.java&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;And, literally, this is all that needs to be added there, since the two OpenJFX samples are on Maven Central and as pointed out above, &quot;NetBeans has a nice support for creating wizards over Maven archetypes.&quot;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;listingblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;pre class=&quot;highlightjs highlight&quot;&gt;&lt;code class=&quot;language-java hljs&quot; data-lang=&quot;java&quot;&gt;@TemplateRegistration(folder = ArchetypeWizards.TEMPLATE_FOLDER,
position = 925,
displayName = &quot;#LBL_Maven_FXML_Archetype&quot;,
iconBase = &quot;org/netbeans/modules/maven/resources/jaricon.png&quot;,
description = &quot;javafx.html&quot;)
@Messages(&quot;LBL_Maven_FXML_Archetype=FXML JavaFX Maven Archetype&quot;)
public static WizardDescriptor.InstantiatingIterator&amp;lt;?&amp;gt; openJFXFML() {
return ArchetypeWizards.definedArchetype(&quot;org.openjfx&quot;, &quot;javafx-archetype-fxml&quot;, &quot;0.0.2&quot;, null, LBL_Maven_FXML_Archetype());
}
@TemplateRegistration(folder = ArchetypeWizards.TEMPLATE_FOLDER,
position = 926,
displayName = &quot;#LBL_Maven_Simple_Archetype&quot;,
iconBase = &quot;org/netbeans/modules/maven/resources/jaricon.png&quot;,
description = &quot;javafx.html&quot;)
@Messages(&quot;LBL_Maven_Simple_Archetype=Simple JavaFX Maven Archetype&quot;)
public static WizardDescriptor.InstantiatingIterator&amp;lt;?&amp;gt; openJFXSimple() {
return ArchetypeWizards.definedArchetype(&quot;org.openjfx&quot;, &quot;javafx-archetype-simple&quot;, &quot;0.0.2&quot;, null, LBL_Maven_Simple_Archetype());
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;That literally is all that is needed to be added to the Java source file above, instead of having a completely new module,
which doesn&amp;#8217;t integrate as neatly as the above with the Apache NetBeans infrastructure.
(And this is a small tip for anyone else wanting to make their Maven archetypes available to NetBeans: the above is literally all you need to do.)&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;However, the fundamental question remains: how do we notify users of Apache NetBeans that they should be using OpenJFX and not JavaFX?
Maybe we should simply remove all JavaFX projects and samples, however that would be unfortunate for anyone using JDK 8.
Or maybe the solution is to create a category named &quot;Legacy&quot; in the New Project dialog and then put all JavaFX projects and samples there,
so that it&amp;#8217;s clear that they&amp;#8217;re not recommended, while still having them available for JDK 8 users?&lt;/p&gt;
&lt;/div&gt;
</content>
</entry>
<entry>
<id>https://netbeans.apache.org/front/main/blogs/entry/simplified-apache-netbeans-welcome-screen/</id>
<title type="html">Simplified Apache NetBeans Welcome Screen</title>
<author><name>Geertjan Wielenga</name></author>
<link rel="alternate" type="text/html" href="https://netbeans.apache.org/front/main/blogs/entry/simplified-apache-netbeans-welcome-screen/"/>
<published>2019-08-24T00:00:00Z</published>
<updated>2019-08-24T00:00:00Z</updated>
<content type="html">
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;To simplify the Welcome Screen and, in particular, replace all links to netbeans.org with netbeans.apache.org, I have created this issue and pull request:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;https://issues.apache.org/jira/browse/NETBEANS-3020&quot;&gt;https://issues.apache.org/jira/browse/NETBEANS-3020&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/apache/netbeans/pull/1457&quot;&gt;https://github.com/apache/netbeans/pull/1457&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;All references to netbeans.org are replaced with equivalents at netbeans.apache.org and the News column, which pointed to netbeans.org, is removed from the tab below, while the Blogs column is renamed to News, since newsworthy items now come from here, i.e., from this blog:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;imageblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;../../../_images/blogs/entry/apache-netbeans-welcome-new.png&quot; alt=&quot;apache netbeans welcome new&quot; width=&quot;400&quot; height=&quot;295&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Also, the Featured Demo on the first tab is removed, best to have as few links to external places as possible, i.e., help reduce potential points of failure, especially here where having that demo in the page doesn&amp;#8217;t add all that much while removing it reduces the need for external URL calls that could cause problems and slow things down.&lt;/p&gt;
&lt;/div&gt;
</content>
</entry>
<entry>
<id>https://netbeans.apache.org/front/main/blogs/entry/lsp-client-demo-ba-sh/</id>
<title type="html">LSP Client demo - (ba)sh language server</title>
<author><name>Geertjan Wielenga</name></author>
<link rel="alternate" type="text/html" href="https://netbeans.apache.org/front/main/blogs/entry/lsp-client-demo-ba-sh/"/>
<published>2019-08-17T00:00:00Z</published>
<updated>2019-08-17T00:00:00Z</updated>
<content type="html">
&lt;div id=&quot;preamble&quot;&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Below is a scenario by Jan Lahoda, the creator of LSP integration for Apache NetBeans, for how to integrate the bash language server with Apache NetBeans, including syntax highlighting.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_setting_up&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_setting_up&quot;&gt;&lt;/a&gt;Setting Up&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;olist arabic&quot;&gt;
&lt;ol class=&quot;arabic&quot;&gt;
&lt;li&gt;
&lt;p&gt;Install npm (and node.js). On Ubuntu, e.g., do &quot;apt install npm&quot;, though something different will be needed on Mac OS X.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Create a directory in which we are going to work, have a terminal opened in that directory.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Install the bash-language-server:&lt;/p&gt;
&lt;div class=&quot;listingblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;pre class=&quot;highlightjs highlight&quot;&gt;&lt;code class=&quot;language-console hljs&quot; data-lang=&quot;console&quot;&gt; npm install bash-language-server&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;On Mac OSX:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;listingblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;pre class=&quot;highlightjs highlight&quot;&gt;&lt;code class=&quot;language-console hljs&quot; data-lang=&quot;console&quot;&gt; npm install bash-language-server --unsafe-perm&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;This will install the server into the current directory.&lt;/p&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Try the bash server:&lt;/p&gt;
&lt;div class=&quot;listingblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;pre class=&quot;highlightjs highlight&quot;&gt;&lt;code class=&quot;language-console hljs&quot; data-lang=&quot;console&quot;&gt; ./node_modules/bash-language-server/bin/main.js --help&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;You should see something like this:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;listingblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;pre class=&quot;highlightjs highlight&quot;&gt;&lt;code class=&quot;language-console hljs&quot; data-lang=&quot;console&quot;&gt; Usage:
bash-language-server start
bash-language-server -h | --help
bash-language-server -v | --version&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Create a NetBeans module. Create a File Type (Module Development/File Type), mime type: text/sh, file extension: sh&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_syntax_coloring_via_textmate&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_syntax_coloring_via_textmate&quot;&gt;&lt;/a&gt;Syntax Coloring via TextMate&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;olist arabic&quot;&gt;
&lt;ol class=&quot;arabic&quot;&gt;
&lt;li&gt;
&lt;p&gt;Download the TextMate grammar file here, and put it alongside the newly created DataObject:
&lt;a href=&quot;https://raw.githubusercontent.com/microsoft/vscode/master/extensions/shellscript/syntaxes/shell-unix-bash.tmLanguage.json&quot;&gt;https://raw.githubusercontent.com/microsoft/vscode/master/extensions/shellscript/syntaxes/shell-unix-bash.tmLanguage.json&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Add &quot;TextMate Lexer&quot; as a dependency of the module.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Into the DataObject add this annotation:&lt;/p&gt;
&lt;div class=&quot;listingblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;pre class=&quot;highlightjs highlight&quot;&gt;&lt;code class=&quot;language-java hljs&quot; data-lang=&quot;java&quot;&gt; @GrammarRegistration(grammar=&quot;shell-unix-bash.tmLanguage.json&quot;, mimeType=&quot;text/sh&quot;)&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;GrammarRegistration is:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;listingblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;pre class=&quot;highlightjs highlight&quot;&gt;&lt;code class=&quot;language-java hljs&quot; data-lang=&quot;java&quot;&gt; import org.netbeans.modules.textmate.lexer.api.GrammarRegistration;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;This should lead to syntax highlighted source for .sh bash files taken from the TextMate grammar file.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_language_support_via_the_language_server&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_language_support_via_the_language_server&quot;&gt;&lt;/a&gt;Language Support via the Language Server&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Next, we need to add language support using the language server.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;olist arabic&quot;&gt;
&lt;ol class=&quot;arabic&quot;&gt;
&lt;li&gt;
&lt;p&gt;Add &quot;LSP Client&quot; and &quot;MIME Lookup API&quot; as dependencies of the module.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Create a new class, ShellClient, in the module, put this into it, (replacing &quot; &quot; with the absolute path to &quot;node_modules/bash-language-server&quot;):&lt;/p&gt;
&lt;div class=&quot;listingblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;pre class=&quot;highlightjs highlight&quot;&gt;&lt;code class=&quot;language-java hljs&quot; data-lang=&quot;java&quot;&gt; import java.io.IOException;
import org.netbeans.api.editor.mimelookup.MimeRegistration;
import org.netbeans.modules.lsp.client.spi.LanguageServerProvider;
import org.openide.util.Exceptions;
import org.openide.util.Lookup;
@MimeRegistration(mimeType=&quot;text/sh&quot;, service=LanguageServerProvider.class)
public class ShellClient implements LanguageServerProvider {
@Override
public LanguageServerDescription startServer(Lookup lkp) {
try {
Process p = new ProcessBuilder(&quot;/bin/main.js&quot;, &quot;start&quot;).start();
return LanguageServerDescription.create(p.getInputStream(), p.getOutputStream(), p);
} catch (IOException ex) {
Exceptions.printStackTrace(ex);
return null;
}
}
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;You may need to explicitly call node in the above code, i.e., as follows:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;listingblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;pre class=&quot;highlightjs highlight&quot;&gt;&lt;code class=&quot;language-java hljs&quot; data-lang=&quot;java&quot;&gt; Process p = new ProcessBuilder(
&quot;/usr/local/bin/node&quot;,
&quot;/bin/main.js&quot;,
&quot;start&quot;).start();&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Build and start the module.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Caveat: the language server is started only for files that are inside a project, so create (any) new project, and inside the project, put a shell file. E.g. copy &quot;bin/netbeans&quot; as &quot;test.sh&quot; into the project. Open it in the editor - there should be syntax highlighting, Navigator, and code completion should show something, etc.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</content>
</entry>
<entry>
<id>https://netbeans.apache.org/front/main/blogs/entry/why-does-apache-netbeans-need/</id>
<title type="html">Why Does Apache NetBeans Need Its Own Parsers?</title>
<author><name>Geertjan Wielenga</name></author>
<link rel="alternate" type="text/html" href="https://netbeans.apache.org/front/main/blogs/entry/why-does-apache-netbeans-need/"/>
<published>2019-08-06T00:00:00Z</published>
<updated>2019-08-06T00:00:00Z</updated>
<content type="html">
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;A question was asked on the &lt;a href=&quot;https://lists.apache.org/thread/rdtcvc87pj1d8oj6qcwbm7bjkkr53m5s&quot;&gt;Apache NetBeans mailing list&lt;/a&gt;: &quot;I was just curious about the theoretical aspect of parsing. Isn&amp;#8217;t there a unified parsing API, using ANTLR/lex/yacc which can parse any language given a grammar for it? Why do we use a different parsing implementation (like the Graal JS parser in this instance) when a unified approach will help us support lots of languages easily?&quot;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Tim Boudreau, involved in NetBeans from its earliest hours, responds, in the thread linked above:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;quoteblock&quot;&gt;
&lt;blockquote&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;First, in an IDE, you are &lt;strong&gt;never&lt;/strong&gt; just &quot;parsing&quot;. You are doing &lt;strong&gt;a lot&lt;/strong&gt; with the results of the parse. An IDE doesn&amp;#8217;t have to just parse one file; it must also understand the context of the project that file lives in; how it relates to other files and those files interdependencies; multiple versions of languages; and the fact that the results of a parse do not map cleanly to a bunch of stuff an IDE would show you that would be useful. For example, say the caret is in a java method, and you want to find all other methods that call the one you&amp;#8217;re in and show the user a list of them. The amount of work that has to happen to answer that question is very, very large. To do that quickly enough to be useful, you need to do it ahead of time and have a bunch of indexing and caching software behind the scenes (all of which must be adapted to whatever the parser provides) so you can look it up when you need it. In short, a parser is kind of like a toilet seat by itself. You don&amp;#8217;t want to use it without a whole lot of plumbing attached to it.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Second, while there are tools like ANTLR (version 4 of which is awesome, by the way), there is still a lot of code you have to write to interact with the results of a parse to do something useful beyond syntax coloring in an IDE. One of my side projects is tooling for NetBeans that &lt;strong&gt;do&lt;/strong&gt; let you take an ANTLR grammar and auto generate a lot of the features a language plugin should have. Even with that almost completely declarative, you wind up needing a lot of code. One of the languages I&amp;#8217;m testing it with is a simple language called YASL which lets you define javascript-like schemas with validation constraints (e.g., this field is a string, but it must be at least 7 characters and match this pattern; this is an integer number but it must be &amp;gt; 1 and less than 1000 - that sort of thing). All the parsing goodness in the world won&amp;#8217;t write hints that notice that, say, the maximum is less than the minimum in an integer constraint and offer to swap them. Someone has to write that by hand.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Third, in an IDE with a 20 year history, a lot of parser generating technologies have come and gone - javacc, javacup, ANTLR, and good old hand-written lexers and parsers. Unifying them all would be an enormous amount of work, would break a lot of code that works just fine, and the end result would be - stuff we&amp;#8217;ve already got, that already works, just with one-parser-generator-to-rule-them-all underneath. Other than prettiness, I don&amp;#8217;t know what problem that solves.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;So, all of this is to say: We use different parsing implementations because parsing is just a tiny piece of supporting a language, so it wouldn&amp;#8217;t make the hard parts easier enough to be worth it. And there will be new cool parser-generating technologies that come along, and it&amp;#8217;s good to be able to use them, rather than be married to one-parser-generator-to-rule-them-all and have this conversation again, when they come along.&lt;/p&gt;
&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div class=&quot;attribution&quot;&gt;
&amp;#8212; Tim
&lt;/div&gt;
&lt;/div&gt;
</content>
</entry>
<entry>
<id>https://netbeans.apache.org/front/main/blogs/entry/php-7-4-support/</id>
<title type="html">PHP 7.4 Support</title>
<author><name>Junichi</name></author>
<link rel="alternate" type="text/html" href="https://netbeans.apache.org/front/main/blogs/entry/php-7-4-support/"/>
<published>2019-07-25T00:00:00Z</published>
<updated>2019-07-25T00:00:00Z</updated>
<content type="html">
&lt;div id=&quot;preamble&quot;&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Hi all. Today, we will briefly show you about PHP7.4 support which will be available in the &lt;strong&gt;next NetBeans&lt;/strong&gt; version i.e. &lt;strong&gt;NetBeans 11.2&lt;/strong&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;First of all, I strongly hope that new features are tested by PHP users before NetBeans 11.2 is released because there should be bugs.
Definitely, we need your help!&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;If you are interested in them, please test it. You can download a dev version here.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Then, we could merge new changes quickly thanks to our committer &lt;strong&gt;Tomas Mysik&lt;/strong&gt;. Thanks a lot for your review, Tomas!&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_php_7_4_support&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_php_7_4_support&quot;&gt;&lt;/a&gt;PHP 7.4 Support&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;To enable it, you have to set PHP 7.4 as the PHP version of your PHP project. (Right-click your project node, click Project Properties.)&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;imageblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;../../../_images/blogs/entry/nb112-php74-project-properties.png&quot; alt=&quot;nb112 php74 project properties&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;NetBeans provides support for the new syntaxes for PHP 7.4.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_null_coalescing_assignment_operator&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_null_coalescing_assignment_operator&quot;&gt;&lt;/a&gt;Null Coalescing Assignment Operator&lt;/h3&gt;
&lt;div class=&quot;imageblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;../../../_images/blogs/entry/nb112-php74-null-coalescing-assignment-operator.png&quot; alt=&quot;nb112 php74 null coalescing assignment operator&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_spread_operator_in_array_expression&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_spread_operator_in_array_expression&quot;&gt;&lt;/a&gt;Spread Operator in Array Expression&lt;/h3&gt;
&lt;div class=&quot;imageblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;../../../_images/blogs/entry/nb112-php74-spread-operator-in-array-expression.png&quot; alt=&quot;nb112 php74 spread operator in array expression&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_numeric_literal_separator&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_numeric_literal_separator&quot;&gt;&lt;/a&gt;Numeric Literal Separator&lt;/h3&gt;
&lt;div class=&quot;imageblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;../../../_images/blogs/entry/nb112-php74-numeric-literal-separator.png&quot; alt=&quot;nb112 php74 numeric literal separator&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_typed_properties_2_0&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_typed_properties_2_0&quot;&gt;&lt;/a&gt;Typed Properties 2.0&lt;/h3&gt;
&lt;div class=&quot;imageblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;../../../_images/blogs/entry/nb112-php74-typed-properties-2.0.png&quot; alt=&quot;nb112 php74 typed properties 2.0&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_arrow_functions_2_0&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_arrow_functions_2_0&quot;&gt;&lt;/a&gt;Arrow Functions 2.0&lt;/h3&gt;
&lt;div class=&quot;imageblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;../../../_images/blogs/entry/nb112-php74-arrow-functions-2.0.png&quot; alt=&quot;nb112 php74 arrow functions 2.0&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_new_hints&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_new_hints&quot;&gt;&lt;/a&gt;New Hints&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Suggestion for converting a simple closure to an arrow function&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;imageblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;../../../_images/blogs/entry/nb112-php74-convert-closure-to-arrow-function.gif&quot; alt=&quot;nb112 php74 convert closure to arrow function&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Suggestion for using combined assignment operators&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;imageblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;../../../_images/blogs/entry/nb112-php74-suggest-using-combined-assignment-operators.gif&quot; alt=&quot;nb112 php74 suggest using combined assignment operators&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Of course, code completion, formatting, go to declaration, and mark occurrence features for the above syntaxes should also be fixed.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;That&amp;#8217;s all for today. As always, please test it. You can download a development version from
Jenkins Build.
If you find some issues or enhancements, please report them to JIRA with your exact steps to reproduce them.
(Components: php - Editor). Thanks.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</content>
</entry>
<entry>
<id>https://netbeans.apache.org/front/main/blogs/entry/announce-apache-netbeans-11-1/</id>
<title type="html">[ANNOUNCE] Apache NetBeans 11.1 Released</title>
<author><name>Geertjan Wielenga</name></author>
<link rel="alternate" type="text/html" href="https://netbeans.apache.org/front/main/blogs/entry/announce-apache-netbeans-11-1/"/>
<published>2019-07-22T00:00:00Z</published>
<updated>2019-07-22T00:00:00Z</updated>
<content type="html">
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The Apache NetBeans team is pleased to announce the release of Apache NetBeans 11.1.
Apache NetBeans is a full IDE for Java SE, Java EE, PHP and JavaScript development with some Groovy language support.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Apache NetBeans 11.1 is the first Apache NetBeans release outside the Apache Incubator and the first release of the new quarterly release cycle.
The LTS release of the Apache NetBeans 11 cycle is Apache NetBeans 11.0. The 11.1 release has not been as heavily tested as the LTS release.
Use 11.1 to access the latest features and to provide feedback for the next LTS release, scheduled for April 2020.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;New &amp;amp; noteworthy features of the 11.1 release:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;../../../download/nb111/&quot; class=&quot;xref page&quot;&gt;Apache NetBeans 11.1 Features page&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Downloads:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;../../../download/nb111/nb111/&quot; class=&quot;xref page&quot;&gt;Apache NetBeans 11.1 Download page&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Feel free to share the good news!&lt;/p&gt;
&lt;/div&gt;
</content>
</entry>
<entry>
<id>https://netbeans.apache.org/front/main/blogs/entry/apache-netbeans-openjfx-and-adoptopenjdk/</id>
<title type="html">Apache NetBeans, OpenJFX, and AdoptOpenJDK</title>
<author><name>Geertjan Wielenga</name></author>
<link rel="alternate" type="text/html" href="https://netbeans.apache.org/front/main/blogs/entry/apache-netbeans-openjfx-and-adoptopenjdk/"/>
<published>2019-06-10T00:00:00Z</published>
<updated>2019-06-10T00:00:00Z</updated>
<content type="html">
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Check out a great series of articles on a killer combination, by Chris Lufg&amp;#8212;&amp;#8203;Apache NetBeans, OpenJFX, and AdoptOpenJDK.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In part one you see how to get a modular JavaFX application built and running from NetBeans. In part two, you look at generating, from Maven, a runtime to execute the application. In part 3, you learn about the distribution of the new application.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Here are the three parts:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://dzone.com/articles/adoptopenjdk-11-openjfx-netbeans&quot;&gt;AdoptOpenJDK 11 + OpenJFX + NetBeans: Part 1&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://dzone.com/articles/adoptopenjdk-11-openjfx-netbeans-part-2&quot;&gt;AdoptOpenJDK 11 + OpenJFX + NetBeans: Part 2&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://dzone.com/articles/adoptopenjdk-11-openjfx-netbeans-part-3&quot;&gt;AdoptOpenJDK 11 + OpenJFX + NetBeans: Part 3&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
</content>
</entry>
<entry>
<id>https://netbeans.apache.org/front/main/blogs/entry/announce-apache-netbeans-has-graduated/</id>
<title type="html">[ANNOUNCE] Apache NetBeans Has Graduated!</title>
<author><name>Geertjan Wielenga</name></author>
<link rel="alternate" type="text/html" href="https://netbeans.apache.org/front/main/blogs/entry/announce-apache-netbeans-has-graduated/"/>
<published>2019-04-25T00:00:00Z</published>
<updated>2019-04-25T00:00:00Z</updated>
<content type="html">
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We have graduated from the Apache Incubator and we are now a top level Apache project at The Apache Software Foundation (ASF).&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;strong&gt;&quot;Being part of the ASF means that NetBeans is now not only free and Open Source software: it is also, uniquely,
and for the first time, part of a foundation specifically focused on enabling open governance,&quot;
said Geertjan Wielenga, Vice President of Apache NetBeans.
&quot;Every contributor to the project now has equal say over the roadmap and direction of NetBeans. That is a new and historic step and the community has been ready for this for a very long time. Thanks to the strong stewardship of NetBeans in Sun Microsystems and Oracle, Apache NetBeans is now ready for the next phase in its development and we welcome everyone to participate as equals as we move forward.&quot;&lt;/strong&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The above is from the official Apache press release, all of which can be read here:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;https://blogsarchive.apache.org/foundation/entry/the-apache-software-foundation-announces51&quot;&gt;https://blogsarchive.apache.org/foundation/entry/the-apache-software-foundation-announces51&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
</content>
</entry>
<entry>
<id>https://netbeans.apache.org/front/main/blogs/entry/announce-apache-netbeans-incubating-11/</id>
<title type="html">[ANNOUNCE] Apache NetBeans (incubating) 11.0 Released</title>
<author><name>Geertjan Wielenga</name></author>
<link rel="alternate" type="text/html" href="https://netbeans.apache.org/front/main/blogs/entry/announce-apache-netbeans-incubating-11/"/>
<published>2019-04-05T00:00:00Z</published>
<updated>2019-04-05T00:00:00Z</updated>
<content type="html">
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The Apache NetBeans team is proud to announce the release of Apache NetBeans (incubating) 11.0.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;strong&gt;Apache NetBeans (incubating) 11.0 constitutes all clusters in the Apache NetBeans Git repo, which together provide the NetBeans Platform (i.e., the underlying application framework), as well as all the modules that provide the Java SE, Java EE, PHP, JavaScript and Groovy features of Apache NetBeans.&lt;/strong&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In short, Apache NetBeans (incubating) 11.0 is a full IDE for Java SE, Java EE, PHP and JavaScript development with some Groovy language support.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;New &amp;amp; noteworthy features of the 11.0 release:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;../../../download/nb110/&quot; class=&quot;xref page&quot;&gt;Apache NetBeans (incubating) 11.0 Features page&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Downloads:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;../../../download/nb110/nb110/&quot; class=&quot;xref page&quot;&gt;Apache NetBeans (incubating) 11.0 Download page&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
</content>
</entry>
<entry>
<id>https://netbeans.apache.org/front/main/blogs/entry/restructuring-of-project-templates-in/</id>
<title type="html">Restructuring of Project Templates in Apache NetBeans</title>
<author><name>Geertjan Wielenga</name></author>
<link rel="alternate" type="text/html" href="https://netbeans.apache.org/front/main/blogs/entry/restructuring-of-project-templates-in/"/>
<published>2019-02-01T00:00:00Z</published>
<updated>2019-02-01T00:00:00Z</updated>
<content type="html">
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;There&amp;#8217;s been lots of discussion in the Apache NetBeans community about how best to express the fact that
Apache Maven and Apache Gradle are more modern choices to be aware of than Apache Ant,
while at the same time not implying that there&amp;#8217;s anything wrong with using Apache Ant.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Here&amp;#8217;s what we seem to have reached consensus around, i.e.,
move all Ant-based project templates into a separate Ant-specific folder,
while putting the other two build systems higher and therefore more prominently in the list:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;imageblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;../../../_images/blogs/entry/new_project_dialog.png&quot; alt=&quot;new project dialog&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;With the above, someone is less likely to simply go to the no-longer-existing Java category
and then end up with an Ant-based project, without thinking about it.
By default, the user of Apache NetBeans is now encouraged to consider Apache Maven and Apache Gradle first.
The old Ant-related categories are still there, so as not to confuse anyone completely, just structured within a lower ranked &quot;Java with Ant&quot; category.
The above also solves the discussion re &quot;Java EE&quot;, i.e., here the idea, from discussions, is to name the category &quot;Java Enterprise&quot;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;At startup, all categories are closed, i.e., none is more prominent initially than any other.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;An objection one could have is that, if you&amp;#8217;re a complete Java newbie, you won&amp;#8217;t know what Maven, Gradle, or Ant are.
Well, that has always been the case and NetBeans has artificially hidden that choice by having a category simply named &quot;Java&quot;,
which then resulted in everyone ending up with Ant-based projects. To turn that around and have a category simply named &quot;Java&quot;
that results in Maven-based projects is probably not right either, i.e., a careful balance needs to be struck.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Hoping that all factions in this lengthy discussion are relatively satisfied with this approach. :-)&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Issue: &lt;a href=&quot;https://issues.apache.org/jira/browse/NETBEANS-2040&quot;&gt;https://issues.apache.org/jira/browse/NETBEANS-2040&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Pull request: &lt;a href=&quot;https://github.com/apache/incubator-netbeans/pull/1115&quot;&gt;https://github.com/apache/incubator-netbeans/pull/1115&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
</content>
</entry>
<entry>
<id>https://netbeans.apache.org/front/main/blogs/entry/enterprise-cluster-integrated-into-apache/</id>
<title type="html">Enterprise Cluster Integrated into Apache NetBeans</title>
<author><name>Geertjan Wielenga</name></author>
<link rel="alternate" type="text/html" href="https://netbeans.apache.org/front/main/blogs/entry/enterprise-cluster-integrated-into-apache/"/>
<published>2019-01-28T00:00:00Z</published>
<updated>2019-01-28T00:00:00Z</updated>
<content type="html">
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Hurray, the &lt;a href=&quot;https://github.com/apache/incubator-netbeans/tree/master/enterprise&quot;&gt;&apos;enterprise&apos; cluster&lt;/a&gt;, constituting all the modules in Apache NetBeans GitHub that provide features for Java/Jakarta EE development,
provided in the 2nd Oracle donation of NetBeans to Apache, &lt;a href=&quot;https://github.com/apache/incubator-netbeans/pull/1104&quot;&gt;has been integrated into the daily builds&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Now, for the first time, out of the box, you&amp;#8217;ll have the support that was part of NetBeans IDE 8.2 for
Java EE development directly available in Apache NetBeans, that is, without you needing to install any plugins.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;However, aside from the point that this means we do not yet have Java EE 8 support,
since 8.2 did not (could not, because of being released some time prior to Java EE 8) have support for Java EE 8,
another question now presents itself&amp;#8212;&amp;#8203;whether we really want to have two categories in the New Project dialog,
one named &quot;Java EE&quot; and the other named &quot;Java Web&quot;, as shown below, with the former containing project types relating to EJBs and EARs,
which are not (should not) be very current anymore, as shown below in the screenshots.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;imageblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;../../../_images/blogs/entry/screen_shot_2019_01_28_at_19_51_45.png&quot; alt=&quot;screen shot 2019 01 28 at 19 51 45&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;imageblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;../../../_images/blogs/entry/screen_shot_2019_01_28_at_19_56_58.png&quot; alt=&quot;screen shot 2019 01 28 at 19 56 58&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;My suggestion would be to either relabel the above to &quot;Modern Java EE&quot; and &quot;Vintage Java EE&quot;.
(I like the word &quot;Vintage&quot;, which I&amp;#8217;ve learned about from JUnit, i.e., that&amp;#8217;s how they refer to JUnit 4.)
Once there is Java EE 8 support, we could use the name &quot;Jakarta&quot; instead of &quot;Modern Java EE&quot;.
Or, maybe the EJB and EAR support should simply be removed?&lt;/p&gt;
&lt;/div&gt;
</content>
</entry>
<entry>
<id>https://netbeans.apache.org/front/main/blogs/entry/junit-5-apache-ant-and/</id>
<title type="html">Junit 5, Apache Ant, and Apache NetBeans</title>
<author><name>Geertjan Wielenga</name></author>
<link rel="alternate" type="text/html" href="https://netbeans.apache.org/front/main/blogs/entry/junit-5-apache-ant-and/"/>
<published>2019-01-27T00:00:00Z</published>
<updated>2019-01-27T00:00:00Z</updated>
<content type="html">
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Junit 5 is, architecturally, so different to previous versions, that it should really be called Jupiter, instead.
However, this is not a problem when you&amp;#8217;re using Maven, since Maven resolves all transitive dependencies for you,
and is &lt;a href=&quot;https://github.com/apache/incubator-netbeans/pull/892&quot;&gt;supported in that way from Apache NetBeans 10 onwards&lt;/a&gt;.
Not so with Apache Ant, of course, where you need to set each and every JAR you need on a classpath of one form or another.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;That is not a pretty picture in the end, when compared to JUnit 4, where you had just that JAR, plus Hamcrest.
With JUnit 5, you need, in addition to &lt;code&gt;junit-jupiter-api&lt;/code&gt;, &lt;code&gt;junit-jupiter-params&lt;/code&gt;, and &lt;code&gt;junit-jupiter-engine&lt;/code&gt;,
to also declare the transitive dependency &lt;code&gt;apiguardian-api&lt;/code&gt;, while in the case of Apache Ant, you need to deal with the &lt;code&gt;&lt;a href=&quot;https://ant.apache.org/manual/Tasks/junitlauncher.html&quot;&gt;JUnitLauncher&lt;/a&gt;&lt;/code&gt;,
if you want to make use of the new &lt;code&gt;junitlauncher&lt;/code&gt; Ant task, in addition to four other JARs, which need to be on Ant&amp;#8217;s classpath,
&lt;a href=&quot;https://ant.apache.org/manual/Tasks/junitlauncher.html&quot;&gt;as explained here&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;An alternative approach is to use &lt;code&gt;org.junit.platform.console.ConsoleLauncher&lt;/code&gt;, &lt;a href=&quot;https://junit.org/junit5/docs/current/user-guide/#running-tests-console-launcher&quot;&gt;as shown here&lt;/a&gt;,
which looks like this in my &lt;code&gt;build.xml&lt;/code&gt;, i.e., it is named &lt;code&gt;test&lt;/code&gt;, so that it will run automatically
at the end of the test run when the Test Project action is invoked:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;listingblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;pre class=&quot;highlightjs highlight&quot;&gt;&lt;code class=&quot;language-xml hljs&quot; data-lang=&quot;xml&quot;&gt;&amp;lt;target name=&quot;test&quot; depends=&quot;compile-test,-pre-test-run&quot;&amp;gt;
&amp;lt;java dir=&quot;${work.dir}&quot;
classpath=&quot;${run.test.classpath}&quot;
classname=&quot;org.junit.platform.console.ConsoleLauncher&quot;&amp;gt;
&amp;lt;arg value=&quot;--scan-classpath&quot;/&amp;gt;
&amp;lt;arg line=&quot;--reports-dir build/test/results&quot;/&amp;gt;
&amp;lt;/java&amp;gt;
&amp;lt;junitreport todir=&quot;build/test/results&quot;&amp;gt;
&amp;lt;fileset dir=&quot;build/test/results&quot;&amp;gt;
&amp;lt;include name=&quot;TEST-*.xml&quot;/&amp;gt;
&amp;lt;/fileset&amp;gt;
&amp;lt;report format=&quot;frames&quot; todir=&quot;build/test/results/html&quot;/&amp;gt;
&amp;lt;/junitreport&amp;gt;
&amp;lt;/target&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The above means that the &lt;code&gt;JUnit&lt;/code&gt; tasks set by default in the &lt;code&gt;build-impl.xml&lt;/code&gt; file will simply fail silently,
since I don&amp;#8217;t have JUnit 4 on my classpath. At the end of the process, the above will be run, &lt;code&gt;org.junit.platform.console.ConsoleLauncher&lt;/code&gt;
will be found on my classpath, and then the JUnit 5 tests will be run.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;What is the advantage of the above over using &lt;code&gt;&lt;a href=&quot;https://ant.apache.org/manual/Tasks/junitlauncher.html&quot;&gt;JUnitLauncher&lt;/a&gt;&lt;/code&gt;? Well, &lt;code&gt;JUnitLauncher&lt;/code&gt; has requirements relating to Ant&amp;#8217;s path,
which has advantages too, of course, i.e., simply set everything up once (which can also be done inside Apache NetBeans,
in the Ant tab in the Options window). But, for right now, I&amp;#8217;d prefer to work with just one path, i.e., the application&amp;#8217;s path.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;imageblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;../../../_images/blogs/entry/junit5.png&quot; alt=&quot;junit5&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Another downside is that, so far, the above solution doesn&amp;#8217;t integrate with the Test Results window,
though it does produce some nice reports via the &lt;code&gt;junitreport&lt;/code&gt; task above, in the &lt;code&gt;build&lt;/code&gt; folder.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The key problem seems to me to be that the &lt;code&gt;JUnit&lt;/code&gt; Ant task no longer exists in JUnit 5,
which was for Ant-based projects the basis of the integration with the Test Results window in Apache NetBeans.
If the &lt;code&gt;JUnit&lt;/code&gt; task could continue to be used, in whatever way, that would solve a lot of the problems, though the question
of the many JARs needed on the classpath would remain. Maybe library providers should reach out to tools providers when
putting these kinds of new solutions together, since the only reason that JUnit 5 now works with Maven in Apache NetBeans
is that Surefire is used, i.e., in the case of Maven the completely new approach JUnit has taken can simply be avoided there.
&lt;a href=&quot;https://github.com/apache/incubator-netbeans/pull/892#issuecomment-423243085&quot;&gt;Here is some relevant discussion&lt;/a&gt; in Apache NetBeans GitHub,
and the &lt;a href=&quot;https://junit.org/junit5/docs/current/user-guide/#launcher-api&quot;&gt;Launcher API looks interesting&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Probably the best solution for Ant users in Apache NetBeans would be to be able to continue to use JUnit 4,
rather than JUnit 5, since the latter is a total nightmare to set up in the context of Ant, as described above.
In the world of JUnit, &quot;vintage&quot; is the cool name they have for &quot;legacy&quot;, and if you&amp;#8217;re using Ant at all, you&amp;#8217;re probably
best described as &quot;vintage&quot; and hence only having support for JUnit 4 is not a big deal for you.
However, not sure at all how that would work, we&amp;#8217;d need to investigate how/if when JUnit tests are added to Maven projects,
JUnit 5 tests and dependencies would be set, while when adding JUnit tests to Ant projects JUnit 4 tests and dependencies would be set.&lt;/p&gt;
&lt;/div&gt;
</content>
</entry>
<entry>
<id>https://netbeans.apache.org/front/main/blogs/entry/master-your-scripting-skills-with/</id>
<title type="html">Master Your Scripting Skills with the New Tutorial!</title>
<author><name>jtulach</name></author>
<link rel="alternate" type="text/html" href="https://netbeans.apache.org/front/main/blogs/entry/master-your-scripting-skills-with/"/>
<published>2019-01-24T00:00:00Z</published>
<updated>2019-01-24T00:00:00Z</updated>
<content type="html">
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Enhanced &lt;a href=&quot;https://bits.netbeans.org/dev/javadoc//org-netbeans-libs-graalsdk/org/netbeans/libs/graalsdk/package-summary.html&quot;&gt;scripting tutorial&lt;/a&gt; has just
become part of &lt;a href=&quot;../../../&quot; class=&quot;xref page&quot;&gt;Apache NetBeans&lt;/a&gt; documentation. It contains various examples showing how to communicate from &lt;strong&gt;Java&lt;/strong&gt; with &lt;strong&gt;JavaScript&lt;/strong&gt;, &lt;strong&gt;Python&lt;/strong&gt; and other languages.
The following topics are covered:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://bits.netbeans.org/dev/javadoc/org-netbeans-libs-graalsdk/org/netbeans/libs/graalsdk/package-summary.html#Setup&quot;&gt;Setup&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://bits.netbeans.org/dev/javadoc/org-netbeans-libs-graalsdk/org/netbeans/libs/graalsdk/package-summary.html#Get_started&quot;&gt;Get started&lt;/a&gt;&lt;/p&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://bits.netbeans.org/dev/javadoc/org-netbeans-libs-graalsdk/org/netbeans/libs/graalsdk/package-summary.html#Guest_language_&quot;&gt;Guest language &quot;Hello World!&quot;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://bits.netbeans.org/dev/javadoc/org-netbeans-libs-graalsdk/org/netbeans/libs/graalsdk/package-summary.html#It&amp;#8217;s_a_polyglot_world&quot;&gt;It&amp;#8217;s a polyglot world&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://bits.netbeans.org/dev/javadoc/org-netbeans-libs-graalsdk/org/netbeans/libs/graalsdk/package-summary.html#Add_a_language&quot;&gt;Add a language&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://bits.netbeans.org/dev/javadoc/org-netbeans-libs-graalsdk/org/netbeans/libs/graalsdk/package-summary.html#Hello_World_in_Python_and_JavaScript&quot;&gt;Hello World in Python and JavaScript&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://bits.netbeans.org/dev/javadoc/org-netbeans-libs-graalsdk/org/netbeans/libs/graalsdk/package-summary.html#Cast_Array_to_List&quot;&gt;Cast Array to List&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://bits.netbeans.org/dev/javadoc/org-netbeans-libs-graalsdk/org/netbeans/libs/graalsdk/package-summary.html#Call_guest_language_functions_from_Java&quot;&gt;Call guest language functions from Java&lt;/a&gt;&lt;/p&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://bits.netbeans.org/dev/javadoc/org-netbeans-libs-graalsdk/org/netbeans/libs/graalsdk/package-summary.html#Define_and_call_a_JavaScript_function&quot;&gt;Define and call a JavaScript function&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://bits.netbeans.org/dev/javadoc/org-netbeans-libs-graalsdk/org/netbeans/libs/graalsdk/package-summary.html#Define_and_call_a_Python_function&quot;&gt;Define and call a Python function&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://bits.netbeans.org/dev/javadoc/org-netbeans-libs-graalsdk/org/netbeans/libs/graalsdk/package-summary.html#Call_an_existing_R_function&quot;&gt;Call an existing R function&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://bits.netbeans.org/dev/javadoc/org-netbeans-libs-graalsdk/org/netbeans/libs/graalsdk/package-summary.html#Call_multiple_guest_language_functions_with_shared_state_from_Java&quot;&gt;Call multiple guest language functions with shared state from Java&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://bits.netbeans.org/dev/javadoc/org-netbeans-libs-graalsdk/org/netbeans/libs/graalsdk/package-summary.html#Access_guest_language_classes_from_Java&quot;&gt;Access guest language classes from Java&lt;/a&gt;&lt;/p&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://bits.netbeans.org/dev/javadoc/org-netbeans-libs-graalsdk/org/netbeans/libs/graalsdk/package-summary.html#Access_a_JavaScript_class&quot;&gt;Access a JavaScript class&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://bits.netbeans.org/dev/javadoc/org-netbeans-libs-graalsdk/org/netbeans/libs/graalsdk/package-summary.html#Access_guest_language_data_structures_from_Java&quot;&gt;Access guest language data structures from Java&lt;/a&gt;&lt;/p&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://bits.netbeans.org/dev/javadoc/org-netbeans-libs-graalsdk/org/netbeans/libs/graalsdk/package-summary.html#Access_a_JavaScript_Array&quot;&gt;Access a JavaScript Array&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://bits.netbeans.org/dev/javadoc/org-netbeans-libs-graalsdk/org/netbeans/libs/graalsdk/package-summary.html#Access_a_JavaScript_JSON_structure&quot;&gt;Access a JavaScript JSON structure&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://bits.netbeans.org/dev/javadoc/org-netbeans-libs-graalsdk/org/netbeans/libs/graalsdk/package-summary.html#View_any_Object_as_Map&quot;&gt;View any Object as Map&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://bits.netbeans.org/dev/javadoc/org-netbeans-libs-graalsdk/org/netbeans/libs/graalsdk/package-summary.html#Access_Java_from_guest_languages&quot;&gt;Access Java from guest languages&lt;/a&gt;&lt;/p&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://bits.netbeans.org/dev/javadoc/org-netbeans-libs-graalsdk/org/netbeans/libs/graalsdk/package-summary.html#Access_Java_fields_and_methods_from_JavaScript&quot;&gt;Access Java fields and methods from JavaScript&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://bits.netbeans.org/dev/javadoc/org-netbeans-libs-graalsdk/org/netbeans/libs/graalsdk/package-summary.html#Access_Java_constructors_and_static_methods_from_JavaScript&quot;&gt;Access Java constructors and static methods from JavaScript&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;While the primary use-case for this &lt;a href=&quot;https://bits.netbeans.org/dev/javadoc/org-netbeans-api-scripting/&quot;&gt;enhanced scripting API&lt;/a&gt; is to simplify usage of scripting languages in NetBeans based applications, the API itself is standalone and can be used outside of NetBeans in any project. We are working on making it available in the Maven central repository.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Read more in the &lt;a href=&quot;https://bits.netbeans.org/dev/javadoc/org-netbeans-libs-graalsdk/org/netbeans/libs/graalsdk/package-summary.html&quot;&gt;online tutorial&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
</content>
</entry>
<entry>
<id>https://netbeans.apache.org/front/main/blogs/entry/announce-apache-netbeans-incubating-10/</id>
<title type="html">[ANNOUNCE] Apache NetBeans (incubating) 10.0 Released</title>
<author><name>Geertjan Wielenga</name></author>
<link rel="alternate" type="text/html" href="https://netbeans.apache.org/front/main/blogs/entry/announce-apache-netbeans-incubating-10/"/>
<published>2018-12-27T00:00:00Z</published>
<updated>2018-12-27T00:00:00Z</updated>
<content type="html">
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The Apache NetBeans team is proud to announce the release of Apache NetBeans (incubating) 10.0.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;strong&gt;Apache NetBeans (incubating) 10.0 constitutes all but the enterprise cluster in the Apache NetBeans Git repo,
which together provide the NetBeans Platform (i.e., the underlying application framework),
as well as all the modules that provide the Java SE, PHP, JavaScript and Groovy features of Apache NetBeans.&lt;/strong&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;strong&gt;In short, Apache NetBeans (incubating) 10.0 is a full IDE for Java SE, PHP and JavaScript development with some Groovy language support.&lt;/strong&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Read more on our download page:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;../../../download/nb100/nb100/&quot; class=&quot;xref page&quot;&gt;Apache NetBeans (incubating) 10.0 Download page&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;New &amp;amp; Noteworthy features of the 10.0 Release:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;https://cwiki.apache.org/confluence/display/NETBEANS/Apache+NetBeans+10.0+New+and+Noteworthy&quot;&gt;https://cwiki.apache.org/confluence/display/NETBEANS/Apache+NetBeans+10.0+New+and+Noteworthy&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;See the below for the donation status of features that have not been donated or included in Apache builds yet, i.e., are not part of Apache NetBeans (incubating) 10.0, e.g., features for working with C/C++, and more:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;https://cwiki.apache.org/confluence/display/NETBEANS/Apache+Transition&quot;&gt;https://cwiki.apache.org/confluence/display/NETBEANS/Apache+Transition&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Work is being done on bringing netbeans.org to Apache. In the meantime, refer to the below for all details related to Apache NetBeans:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;../../../&quot; class=&quot;xref page&quot;&gt;&lt;a href=&quot;https://netbeans.apache.org/&quot; class=&quot;bare&quot;&gt;https://netbeans.apache.org/&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
</content>
</entry>
<entry>
<id>https://netbeans.apache.org/front/main/blogs/entry/is-apache-netbeans-10-ready/</id>
<title type="html">Is Apache NetBeans 10 Ready To Be Released?</title>
<author><name>Geertjan Wielenga</name></author>
<link rel="alternate" type="text/html" href="https://netbeans.apache.org/front/main/blogs/entry/is-apache-netbeans-10-ready/"/>
<published>2018-11-07T00:00:00Z</published>
<updated>2018-11-07T00:00:00Z</updated>
<content type="html">
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;https://cwiki.apache.org/confluence/display/NETBEANS/10vc3&quot;&gt;Apache NetBeans 10vc3&lt;/a&gt; is the third voting candidate of Apache NetBeans (incubating) 10 and has been created for purposes of NetCAT activities:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://cwiki.apache.org/confluence/display/NETBEANS/NetCAT+10.0+Schedule&quot;&gt;NetCAT 10.0 Schedule&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://cwiki.apache.org/confluence/display/NETBEANS/Apache+NetBeans+Release+Roadmap&quot;&gt;Apache NetBeans Release Roadmap&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://cwiki.apache.org/confluence/display/NETBEANS/Apache+NetBeans+10.0+New+and+Noteworthy&quot;&gt;New and noteworthy in Apache NetBeans 10&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Build artifacts: download removed&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Binaries: download removed&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Sources: download removed&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Please try 10vc3 and fill out the Community Acceptance Survey:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;survey link removed&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Watch a helpful YouTube clip here: &lt;a href=&quot;https://www.youtube.com/watch?v=G7_OPJ6grvM&quot;&gt;https://www.youtube.com/watch?v=G7_OPJ6grvM&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
</content>
</entry>
<entry>
<id>https://netbeans.apache.org/front/main/blogs/entry/duke-s-choice-award-2018/</id>
<title type="html">Duke Choice Award 2018 for Apache NetBeans</title>
<author><name>Geertjan Wielenga</name></author>
<link rel="alternate" type="text/html" href="https://netbeans.apache.org/front/main/blogs/entry/duke-s-choice-award-2018/"/>
<published>2018-10-23T00:00:00Z</published>
<updated>2018-10-23T00:00:00Z</updated>
<content type="html">
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;During Oracle Open World 2018, Apache NetBeans was awarded a Duke&amp;#8217;s Choice Award,
recognizing its innovation and the hard and dedicated work involved in moving NetBeans from Oracle to Apache.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;A crowd of Apache NetBeans community members received the award on the stage from Georges Saab, VP of the Java Platform at Oracle.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;imageblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;../../../_images/blogs/entry/duke-s-choice-award-2018.png&quot; alt=&quot;duke s choice award 2018&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
</content>
</entry>
<entry>
<id>https://netbeans.apache.org/front/main/blogs/entry/apache-netbeans-at-oracle-code/</id>
<title type="html">Apache NetBeans at Oracle Code One 2018</title>
<author><name>Geertjan Wielenga</name></author>
<link rel="alternate" type="text/html" href="https://netbeans.apache.org/front/main/blogs/entry/apache-netbeans-at-oracle-code/"/>
<published>2018-10-17T00:00:00Z</published>
<updated>2018-10-17T00:00:00Z</updated>
<content type="html">
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Schedule:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Saturday, Oct 20, 19:00 p.m. | Thirsty Bear, 661 Howard Street&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Informal hangout (i.e., buy your own beer) with Apache NetBeans PPMC, committers, and community!&lt;/p&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Sunday, Oct 21, 11:00 a.m. | Bike Ride&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Go here for details: &lt;a href=&quot;https://blog.idrsolutions.com/2018/09/open-invitation-to-bike-ride-at-oracle-codeone/&quot;&gt;https://blog.idrsolutions.com/2018/09/open-invitation-to-bike-ride-at-oracle-codeone/&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Monday, Oct 22, 1:30 p.m. - 2:15 p.m. | Moscone West - Room 2016&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Title: Machine Learning for Software Developers in 45 Minutes [DEV5090]&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Speakers: Zoran Sevarac, Frank Greco&lt;/p&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Monday, Oct 22, 1:30 p.m. - 2:15 p.m. | Moscone West - Room 2022&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Title: Back from the Ashes: eFX/JavaFX Applications Made Simple [DEV5406]&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Speakers: Sven Reimers, Florian Vogler&lt;/p&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Monday, Oct 22, 2:30 p.m. - 3:15 p.m. | Moscone West - Room 2018&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Title: Exploring Java Heap Dumps [DEV5262]&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Speakers: Ryan Cuprak&lt;/p&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Monday, Oct 22, 7:30 p.m. - 8:15 p.m. | Moscone West - Room 2005&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Title: Deep Learning for Application Performance Optimization [BOF4967]&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Speakers: Zoran Sevarac&lt;/p&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Monday, Oct 22, 8:30 p.m. - 9:15 p.m. | Moscone West - Room 2009&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Title: Hacking the NetBeans IDE [BOF4760]&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Speakers: Mark Stephens, Developer, Bethan Palmer&lt;/p&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Tuesday, Oct 23, 7:30 p.m. - 8:15 p.m. | Moscone West - Room 2010&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Title: Writing Better Code (Faster) in the Apache NetBeans IDE [BOF4759]&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Speakers: Mark Stephens, Developer, Bethan Palmer&lt;/p&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Tuesday, Oct 23, 7:30 p.m. - 8:15 p.m. | Moscone West - Room 2014&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Title: Got a Gig Teaching Java? You Should Be Using Apache NetBeans in the Classroom [BOF4820]&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Speakers: Kenneth Fogel, Instructor, Concordia University&lt;/p&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Wednesday, Oct 24, 2:30 p.m. - 3:15 p.m. | Moscone West - Room 2016&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Title: Bridging Swing and JavaFX on an Enterprise Scale [DEV6080]&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Speakers: Sven Reimers, José Pereda&lt;/p&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Wednesday, Oct 24, 9:00 a.m. - 9:45 a.m. | Moscone West - Room 2010&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Title: Java Debugging Tips [DEV4512]&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Speakers: Martin Skarsaune&lt;/p&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Wednesday, Oct 24, 2:45 p.m. - 4:45 p.m. | Moscone West - Room 2001A (HOL)&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Title: Lambda Programming Laboratory - BYOL [HOL6006]&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Speakers: Jeff Dinkins, Stuart Marks, Maurice Naftalin, José Paumard&lt;/p&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Thursday, Oct 25, 09:00 AM - 11:00 AM | Moscone West - Overlook 2A (HOL)&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Title: Jakarta EE Hands-on Lab - BYOL [HOL4852]&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Speakers: David Heffelfinger, Bob Larsen&lt;/p&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
</content>
</entry>
<entry>
<id>https://netbeans.apache.org/front/main/blogs/entry/initial-language-server-protocol-support/</id>
<title type="html">Initial Language Server Protocol Support in Apache NetBeans 10</title>
<author><name>Geertjan Wielenga</name></author>
<link rel="alternate" type="text/html" href="https://netbeans.apache.org/front/main/blogs/entry/initial-language-server-protocol-support/"/>
<published>2018-10-10T00:00:00Z</published>
<updated>2018-10-10T00:00:00Z</updated>
<content type="html">
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Did you know that the first stage of &lt;a href=&quot;https://langserver.org/&quot;&gt;Language Server Protocol (LSP)&lt;/a&gt; support will be included in Apache NetBeans 10?&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;See this PR for details, with instructions for how to use it.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/apache/incubator-netbeans/pull/629&quot;&gt;https://github.com/apache/incubator-netbeans/pull/629&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Some screenshots for Kotlin support via LSP:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;imageblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;../../../_images/blogs/entry/initial-language-server-protocol-support1.png&quot; alt=&quot;initial language server protocol support1&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;imageblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;../../../_images/blogs/entry/initial-language-server-protocol-support2.png&quot; alt=&quot;initial language server protocol support2&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;imageblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;../../../_images/blogs/entry/initial-language-server-protocol-support3.png&quot; alt=&quot;initial language server protocol support3&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;A lot more work needs to be done, of course, some of which is here, you&amp;#8217;re welcome to join in:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/apache/incubator-netbeans/pull/926&quot;&gt;https://github.com/apache/incubator-netbeans/pull/926&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
</content>
</entry>
<entry>
<id>https://netbeans.apache.org/front/main/blogs/entry/php-7-3-support/</id>
<title type="html">PHP 7.3 Support</title>
<author><name>Junichi</name></author>
<link rel="alternate" type="text/html" href="https://netbeans.apache.org/front/main/blogs/entry/php-7-3-support/"/>
<published>2018-10-01T00:00:00Z</published>
<updated>2018-10-01T00:00:00Z</updated>
<content type="html">
&lt;div id=&quot;preamble&quot;&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Hi all. Today, we will briefly show you about PHP7.3 support which will be available in the &lt;strong&gt;next NetBeans version&lt;/strong&gt; i.e. &lt;strong&gt;NetBeans 10&lt;/strong&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;First of all, I strongly hope that new features are tested by PHP users before NetBeans 10 is released because there should be bugs.
Definitely, need your help!
If you are interested in them, just test them. You can download a dev version here.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_php_7_3_support&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_php_7_3_support&quot;&gt;&lt;/a&gt;PHP 7.3 Support&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;To enable it, you have to set PHP 7.3 as the PHP version of your PHP project.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;imageblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;../../../_images/blogs/entry/php-7-3-support1.png&quot; alt=&quot;php 7 3 support1&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;NetBeans provides support for the new three syntaxes.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_allow_a_trailing_comma_in_function_calls&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_allow_a_trailing_comma_in_function_calls&quot;&gt;&lt;/a&gt;Allow a trailing comma in function calls&lt;/h3&gt;
&lt;div class=&quot;imageblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;../../../_images/blogs/entry/php-7-3-support2.png&quot; alt=&quot;php 7 3 support2&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_list_referenct_assignment&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_list_referenct_assignment&quot;&gt;&lt;/a&gt;list() Referenct Assignment&lt;/h3&gt;
&lt;div class=&quot;imageblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;../../../_images/blogs/entry/php-7-3-support3.png&quot; alt=&quot;php 7 3 support3&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_flexible_heredoc_and_nowdoc_syntaxes&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_flexible_heredoc_and_nowdoc_syntaxes&quot;&gt;&lt;/a&gt;Flexible Heredoc and Nowdoc Syntaxes&lt;/h3&gt;
&lt;div class=&quot;imageblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;../../../_images/blogs/entry/php-7-3-support4.png&quot; alt=&quot;php 7 3 support4&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;admonitionblock note&quot;&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;td class=&quot;icon&quot;&gt;
&lt;i class=&quot;fa icon-note&quot; title=&quot;Note&quot;&gt;&lt;/i&gt;
&lt;/td&gt;
&lt;td class=&quot;content&quot;&gt;
We won&amp;#8217;t provide support for the old syntax any longer. i.e. NetBeans treats the following code as an error.
&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div class=&quot;listingblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;pre class=&quot;highlightjs highlight&quot;&gt;&lt;code class=&quot;language-php hljs&quot; data-lang=&quot;php&quot;&gt;$heredoc = &amp;lt;&amp;lt;&amp;lt; END
END{$variable}
END;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_php_7_1_7_2_and_more_php_features&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_php_7_1_7_2_and_more_php_features&quot;&gt;&lt;/a&gt;PHP 7.1, 7.2 and more PHP features&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The other PHP features for NetBeans 10 are &lt;a href=&quot;https://cwiki.apache.org/confluence/display/NETBEANS/Feature%3A+PHP&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We have also implemented PHP7.1, 7.2, new hints, new code foldings and more.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;That&amp;#8217;s all for today. As always, please test it. You can download a development version from Jenkins Build.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;If you find some issues or enhancements, please report them to JIRA with your exact steps to reproduce them.
(Components: php - Editor). Thanks.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</content>
</entry>
<entry>
<id>https://netbeans.apache.org/front/main/blogs/entry/phpstan-support/</id>
<title type="html">PHPStan Support</title>
<author><name>Junichi</name></author>
<link rel="alternate" type="text/html" href="https://netbeans.apache.org/front/main/blogs/entry/phpstan-support/"/>
<published>2018-09-26T00:00:00Z</published>
<updated>2018-09-26T00:00:00Z</updated>
<content type="html">
&lt;div id=&quot;preamble&quot;&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Hi all. Today, we will show you about &lt;a href=&quot;https://github.com/phpstan/phpstan&quot;&gt;PHPStan&lt;/a&gt; integration which will be available in the &lt;strong&gt;next NetBeans version&lt;/strong&gt; i.e. &lt;strong&gt;NetBeans 10&lt;/strong&gt; as a new code analysis feature.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;If you have already used other code analysis features(e.g. Code Sniffer), you should be able to use this with similar way soon.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_options&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_options&quot;&gt;&lt;/a&gt;Options&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;First of all, let&amp;#8217;s set the Options (Tools &amp;gt; Options &amp;gt; PHP &amp;gt; Code Analysis &amp;gt; PHPStan). You can set a script path, a configuration file path and a level.
At least you have to set the PHPStan script path to &quot;PHPStan&quot;. If you don&amp;#8217;t set &quot;Configuration&quot; path, the configuration file of project root directory would be used.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;imageblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;../../../_images/blogs/entry/phpstan-support1.png&quot; alt=&quot;phpstan support1&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_inspect_projectdirectoryfile&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_inspect_projectdirectoryfile&quot;&gt;&lt;/a&gt;Inspect project/directory/file&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Then, let&amp;#8217;s inspect a project/direcoty/file using PHPStan. Please click &quot;Source &amp;gt; Inspect&amp;#8230;&amp;#8203;&quot;.
The inspect dialog is shown.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;imageblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;../../../_images/blogs/entry/phpstan-support2.png&quot; alt=&quot;phpstan support2&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Please choose &quot;Scope&quot; which you would like to inspect and PHPStan as &quot;Configuration&quot;.
The files are inspected when you click the &quot;inspect&quot; button.
Finally, The results are shown in the inspector window after the inspection is done.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;imageblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;../../../_images/blogs/entry/phpstan-support3.png&quot; alt=&quot;phpstan support3&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;That&amp;#8217;s all for today. As always, please test it. You can download a development version from
Jenkins Build.
If you find some issues or enhancements, please report them to JIRA
(Components: php - Code). Thanks.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</content>
</entry>
<entry>
<id>https://netbeans.apache.org/front/main/blogs/entry/audio-of-virtual-apache-netbeans2/</id>
<title type="html">Audio of Virtual Apache NetBeans Meeting 3</title>
<author><name>Geertjan Wielenga</name></author>
<link rel="alternate" type="text/html" href="https://netbeans.apache.org/front/main/blogs/entry/audio-of-virtual-apache-netbeans2/"/>
<published>2018-09-06T00:00:00Z</published>
<updated>2018-09-06T00:00:00Z</updated>
<content type="html">
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The third of a series of informal virtual meetups took place today, focused specifically on why/how/when to move netbeans.org to Apache.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The audio of the meeting is available here and takes about 53 minutes:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;videoconsentblock&quot; id=&quot;VmhX4VAlWlcplaceholder&quot;&gt;
&lt;div class=&quot;imageblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;../../../_images/placeholder/VmhX4VAlWlc.jpg&quot; alt=&quot;placeholder for video VmhX4VAlWlc&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Clicking on the image above will load the video and send data from and to Google&lt;/p&gt;
&lt;/div&gt;
&lt;script&gt;
function loadScript() {
return new Promise((resolve, reject) =&gt; {
let script = document.createElement(&apos;script&apos;);
script.src = &apos;https://www.youtube.com/iframe_api&apos;;
script.addEventListener(&apos;load&apos;, resolve);
script.addEventListener(&apos;error&apos;, (e) =&gt; reject(e));
document.body.appendChild(script);
});
}
function addElement() {
loadScript().then(() =&gt; {
window.YT.ready(function() {
let player = new YT.Player(&apos;VmhX4VAlWlcplaceholder&apos;, {
height: &apos;490&apos;,
width: &apos;968&apos;,
videoId: &apos;VmhX4VAlWlc&apos;,
playerVars: {
&apos;playsinline&apos;: 1
},
events: {
&apos;onReady&apos;: (event) =&gt; {
event.target.playVideo();
}
}
});
});
});
}
var container = document.querySelector(&apos;#VmhX4VAlWlcplaceholder .content&apos;);
container.addEventListener(&apos;click&apos;, addElement);
&lt;/script&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Screenshot of what we saw of each other, partly:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;imageblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;../../../_images/blogs/entry/audio-of-virtual-apache-netbeans2-1.png&quot; alt=&quot;audio of virtual apache netbeans2 1&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Related links:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://cwiki.apache.org/confluence/display/NETBEANS/netbeans.org+Transition+ProcessAgenda&quot;&gt;Agenda&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://issues.apache.org/jira/browse/INFRA-16946&quot;&gt;https://issues.apache.org/jira/browse/INFRA-16946&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
</content>
</entry>
<entry>
<id>https://netbeans.apache.org/front/main/blogs/entry/apache-netbeans-guest-blog-edward/</id>
<title type="html">Apache NetBeans Guest Blog: Edward M. Kagan</title>
<author><name>Geertjan Wielenga</name></author>
<link rel="alternate" type="text/html" href="https://netbeans.apache.org/front/main/blogs/entry/apache-netbeans-guest-blog-edward/"/>
<published>2018-09-05T00:00:00Z</published>
<updated>2018-09-05T00:00:00Z</updated>
<content type="html">
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;I&amp;#8217;m a big fan of NetBeans, and a team-lead of 2pm.tech crew, a group of independent developers from Russia.
For about the last five years, we have been using NetBeans in all of our projects, from &quot;hardcore C embedded systems&quot; to &quot;Grails web-apps&quot;,
and as a result we&amp;#8217;ve also been hacking NetBeans a little.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;As of 2018, there are now 11 developers in the team. Currently, half of us work with Grails apps,
despite the poor Grails support in NetBeans at the moment. We&amp;#8217;re continuing to work with NetBeans due to it simplicity,
small footprint, and design. If the NetBeans community would dig up the Groovy/Grails support,
lots of developers will switch to NetBeans I think, and also I&amp;#8217;ll be very happy, too. :-)&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;One of coolest things we&amp;#8217;ve created lately is the Crew Look &amp;amp; Feel plugin, which we hadn&amp;#8217;t released to
the public yet and now we think the time has come. It&amp;#8217;s not too complicated, but a nice little add-in to have,
maybe it&amp;#8217;ll be useful for other users too. Here it is on the Plugin Portal:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;https://plugins.netbeans.org/plugin/74527/2pmtech-look-and-feel&quot;&gt;https://plugins.netbeans.org/plugin/74527/2pmtech-look-and-feel&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Click to enlarge the images below, to get a feel for the new plugin that provides our look and feel:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;imageblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;../../../_images/blogs/entry/apache-netbeans-guest-blog-edward1.png&quot; alt=&quot;apache netbeans guest blog edward1&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;imageblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;../../../_images/blogs/entry/apache-netbeans-guest-blog-edward2.png&quot; alt=&quot;apache netbeans guest blog edward2&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;NetBeans is my favorite IDE and Apache is one of my technological icons.
So, I&amp;#8217;m very happy for NetBeans to be migrating to Apache. Apache does not always give you a sweet design,
though it does always provide nice UNIX-like tools, and I love it.
I hope Apache will make NetBeans not only better, but the best IDE for all Java-based technologies. :-)&lt;/p&gt;
&lt;/div&gt;
</content>
</entry>
<entry>
<id>https://netbeans.apache.org/front/main/blogs/entry/php-conditional-breakpoints-and-new/</id>
<title type="html">[PHP] Conditional breakpoints and new Twig features</title>
<author><name>Junichi</name></author>
<link rel="alternate" type="text/html" href="https://netbeans.apache.org/front/main/blogs/entry/php-conditional-breakpoints-and-new/"/>
<published>2018-08-30T00:00:00Z</published>
<updated>2018-08-30T00:00:00Z</updated>
<content type="html">
&lt;div id=&quot;preamble&quot;&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Hi all. Today, we will show you some new features which will be available in the &lt;strong&gt;next NetBeans version&lt;/strong&gt;, maybe
(NetBeans 10? NOTE: we cannot promise anything about release contents at the moment).&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;First of all, if you would like to try new features, please build NetBeans yourself.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;listingblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;pre class=&quot;highlightjs highlight&quot;&gt;&lt;code class=&quot;language-console hljs&quot; data-lang=&quot;console&quot;&gt;git clone git@github.com:apache/incubator-netbeans.git
cd incubator-netbeans
ant -Dcluster.config=full
(or ant -Dcluster.config=php)&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;You can find the start-up files in the nbbuild/netbeans/bin directory if the build succeeds. So please run it.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_debugger_conditional_breakpoints&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_debugger_conditional_breakpoints&quot;&gt;&lt;/a&gt;Debugger: Conditional breakpoints&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;You can stop the debugger if the context matches your condition.
i.e. If the condition is true, the debugger stops on the breakpoint, otherwise, it does not stop there.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;I assume that you have already done the settings for debugging. (please see: &lt;a href=&quot;../../../../../wiki/main/wiki/HowToConfigureXDebug/&quot; class=&quot;xref page&quot;&gt;HowToConfigureXDebug&lt;/a&gt;)
If xdebug doesn&amp;#8217;t work, please ask someone via &lt;a href=&quot;../../../community/mailing-lists/&quot; class=&quot;xref page&quot;&gt;Apache NetBeans mailing lists&lt;/a&gt;. (Please don&amp;#8217;t ask here.)&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Just in my case(Ubuntu 18.04):&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;listingblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;pre class=&quot;highlightjs highlight&quot;&gt;&lt;code class=&quot;language-console hljs&quot; data-lang=&quot;console&quot;&gt;sudo apt install php-xdebug
sudo vim /etc/php/7.2/mods-available/xdebug.ini
# Change to the following
zend_extension=xdebug.so
xdebug.remote_enable=1
xdebug.remote_autostart=1
xdebug.idekey=&quot;netbeans-xdebug&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Let&amp;#8217;s try running with a sample code(index.php):&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;listingblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;pre class=&quot;highlightjs highlight&quot;&gt;&lt;code class=&quot;language-php hljs&quot; data-lang=&quot;php&quot;&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
&amp;lt;meta charset=&quot;UTF-8&quot;&amp;gt;
&amp;lt;title&amp;gt;&amp;lt;/title&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
&amp;lt;?php
$array = [&quot;foo&quot;, &quot;bar&quot;, &quot;baz&quot;, &quot;qux&quot;];
foreach ($array as $value) {
echo $value;
}
?&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_step_1_enable_a_breakpoint&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_step_1_enable_a_breakpoint&quot;&gt;&lt;/a&gt;Step 1: Enable a breakpoint&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;You can enable it when you click a line number.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;imageblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;../../../_images/blogs/entry/php-conditional-breakpoints-and-new1.png&quot; alt=&quot;php conditional breakpoints and new1&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_step_2_show_the_breakpoint_properties_dialog&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_step_2_show_the_breakpoint_properties_dialog&quot;&gt;&lt;/a&gt;Step 2: Show the Breakpoint Properties dialog&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;To show it, please right-click the breakpoint, then please click &lt;span class=&quot;menuseq&quot;&gt;&lt;b class=&quot;menu&quot;&gt;Breakpoint&lt;/b&gt;&amp;#160;&lt;i class=&quot;fa fa-angle-right caret&quot;&gt;&lt;/i&gt; &lt;b class=&quot;menuitem&quot;&gt;Properties&lt;/b&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;imageblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;../../../_images/blogs/entry/php-conditional-breakpoints-and-new2.png&quot; alt=&quot;php conditional breakpoints and new2&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;imageblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;../../../_images/blogs/entry/php-conditional-breakpoints-and-new3.png&quot; alt=&quot;php conditional breakpoints and new3&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_step_3_input_a_condition&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_step_3_input_a_condition&quot;&gt;&lt;/a&gt;Step 3: Input a condition&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Please check &quot;Condition&quot; and input your condition to the combo box, then click the OK button.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;imageblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;../../../_images/blogs/entry/php-conditional-breakpoints-and-new4.png&quot; alt=&quot;php conditional breakpoints and new4&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_step_4_run_debug_project&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_step_4_run_debug_project&quot;&gt;&lt;/a&gt;Step 4: Run Debug Project&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Please click Debug &amp;gt; Debug Project or the icon on the toolbar.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In this case, the debugger stops on the breakpont if $value is &quot;baz&quot;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;imageblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;../../../_images/blogs/entry/php-conditional-breakpoints-and-new5.gif&quot; alt=&quot;php conditional breakpoints and new5&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_twig_code_completion_for_delimiters_brackets_and_quotes&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_twig_code_completion_for_delimiters_brackets_and_quotes&quot;&gt;&lt;/a&gt;Twig: Code completion for delimiters, brackets, and quotes&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Twig editor supports code completion for delimeters( and ), brackets([, (, and {), and quotes(&quot; and &apos;).
This feature is enabled by default.
If you would like to disable, please uncheck the options (&lt;span class=&quot;menuseq&quot;&gt;&lt;b class=&quot;menu&quot;&gt;Tools&lt;/b&gt;&amp;#160;&lt;i class=&quot;fa fa-angle-right caret&quot;&gt;&lt;/i&gt; &lt;b class=&quot;submenu&quot;&gt;Options&lt;/b&gt;&amp;#160;&lt;i class=&quot;fa fa-angle-right caret&quot;&gt;&lt;/i&gt; &lt;b class=&quot;submenu&quot;&gt;Editor&lt;/b&gt;&amp;#160;&lt;i class=&quot;fa fa-angle-right caret&quot;&gt;&lt;/i&gt; &lt;b class=&quot;submenu&quot;&gt;Code Completion&lt;/b&gt;&amp;#160;&lt;i class=&quot;fa fa-angle-right caret&quot;&gt;&lt;/i&gt; &lt;b class=&quot;menuitem&quot;&gt;Language: Twig File&lt;/b&gt;&lt;/span&gt;).&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;imageblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;../../../_images/blogs/entry/php-conditional-breakpoints-and-new6.png&quot; alt=&quot;php conditional breakpoints and new6&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;imageblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;../../../_images/blogs/entry/php-conditional-breakpoints-and-new7.gif&quot; alt=&quot;php conditional breakpoints and new7&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_twig_palette_support&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_twig_palette_support&quot;&gt;&lt;/a&gt;Twig: Palette support&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;You can show the palette window. Please click &lt;span class=&quot;menuseq&quot;&gt;&lt;b class=&quot;menu&quot;&gt;Window&lt;/b&gt;&amp;#160;&lt;i class=&quot;fa fa-angle-right caret&quot;&gt;&lt;/i&gt; &lt;b class=&quot;submenu&quot;&gt;IDE Tools&lt;/b&gt;&amp;#160;&lt;i class=&quot;fa fa-angle-right caret&quot;&gt;&lt;/i&gt; &lt;b class=&quot;menuitem&quot;&gt;Palette&lt;/b&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;imageblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;../../../_images/blogs/entry/php-conditional-breakpoints-and-new8.png&quot; alt=&quot;php conditional breakpoints and new8&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;That&amp;#8217;s all for today. As always, please test it.
If you find some issues or enhancements, please report them to JIRA
(Components: php - Debugger, php - Twig). Thanks.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</content>
</entry>
<entry>
<id>https://netbeans.apache.org/front/main/blogs/entry/audio-of-virtual-apache-netbeans1/</id>
<title type="html">Audio of Virtual Apache NetBeans Meeting 2</title>
<author><name>Geertjan Wielenga</name></author>
<link rel="alternate" type="text/html" href="https://netbeans.apache.org/front/main/blogs/entry/audio-of-virtual-apache-netbeans1/"/>
<published>2018-08-21T00:00:00Z</published>
<updated>2018-08-21T00:00:00Z</updated>
<content type="html">
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The second of a series of informal virtual meetups took place today.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The audio of the meeting is available here and takes about 45 minutes:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;videoconsentblock&quot; id=&quot;yQ72aZqwGecplaceholder&quot;&gt;
&lt;div class=&quot;imageblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;../../../_images/placeholder/yQ72aZqwGec.jpg&quot; alt=&quot;placeholder for video yQ72aZqwGec&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Clicking on the image above will load the video and send data from and to Google&lt;/p&gt;
&lt;/div&gt;
&lt;script&gt;
function loadScript() {
return new Promise((resolve, reject) =&gt; {
let script = document.createElement(&apos;script&apos;);
script.src = &apos;https://www.youtube.com/iframe_api&apos;;
script.addEventListener(&apos;load&apos;, resolve);
script.addEventListener(&apos;error&apos;, (e) =&gt; reject(e));
document.body.appendChild(script);
});
}
function addElement() {
loadScript().then(() =&gt; {
window.YT.ready(function() {
let player = new YT.Player(&apos;yQ72aZqwGecplaceholder&apos;, {
height: &apos;490&apos;,
width: &apos;968&apos;,
videoId: &apos;yQ72aZqwGec&apos;,
playerVars: {
&apos;playsinline&apos;: 1
},
events: {
&apos;onReady&apos;: (event) =&gt; {
event.target.playVideo();
}
}
});
});
});
}
var container = document.querySelector(&apos;#yQ72aZqwGecplaceholder .content&apos;);
container.addEventListener(&apos;click&apos;, addElement);
&lt;/script&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Sign up to the next virtual meetups here:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;link removed&lt;/p&gt;
&lt;/div&gt;
</content>
</entry>
<entry>
<id>https://netbeans.apache.org/front/main/blogs/entry/netbeans-status-at-infoq/</id>
<title type="html">NetBeans Status at InfoQ</title>
<author><name>Geertjan Wielenga</name></author>
<link rel="alternate" type="text/html" href="https://netbeans.apache.org/front/main/blogs/entry/netbeans-status-at-infoq/"/>
<published>2018-08-16T00:00:00Z</published>
<updated>2018-08-16T00:00:00Z</updated>
<content type="html">
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Today an article was published on InfoQ describing the current state and progress of Apache NetBeans.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Click to read the start of it here:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;imageblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;../../../_images/blogs/entry/netbeans-status-at-infoq.png&quot; alt=&quot;netbeans status at infoq&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Go here to read it all:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;https://www.infoq.com/news/2018/08/netbeans-apache-update-aug18&quot;&gt;https://www.infoq.com/news/2018/08/netbeans-apache-update-aug18&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
</content>
</entry>
<entry>
<id>https://netbeans.apache.org/front/main/blogs/entry/audio-of-virtual-apache-netbeans/</id>
<title type="html">Audio of Virtual Apache NetBeans Meeting 1</title>
<author><name>Geertjan Wielenga</name></author>
<link rel="alternate" type="text/html" href="https://netbeans.apache.org/front/main/blogs/entry/audio-of-virtual-apache-netbeans/"/>
<published>2018-08-07T00:00:00Z</published>
<updated>2018-08-07T00:00:00Z</updated>
<content type="html">
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The first of a series of informal virtual meetups took place today.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The audio of the meeting is available here and takes about an hour:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;videoconsentblock&quot; id=&quot;tibK6A8CzYsplaceholder&quot;&gt;
&lt;div class=&quot;imageblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;../../../_images/placeholder/tibK6A8CzYs.jpg&quot; alt=&quot;placeholder for video tibK6A8CzYs&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Clicking on the image above will load the video and send data from and to Google&lt;/p&gt;
&lt;/div&gt;
&lt;script&gt;
function loadScript() {
return new Promise((resolve, reject) =&gt; {
let script = document.createElement(&apos;script&apos;);
script.src = &apos;https://www.youtube.com/iframe_api&apos;;
script.addEventListener(&apos;load&apos;, resolve);
script.addEventListener(&apos;error&apos;, (e) =&gt; reject(e));
document.body.appendChild(script);
});
}
function addElement() {
loadScript().then(() =&gt; {
window.YT.ready(function() {
let player = new YT.Player(&apos;tibK6A8CzYsplaceholder&apos;, {
height: &apos;490&apos;,
width: &apos;968&apos;,
videoId: &apos;tibK6A8CzYs&apos;,
playerVars: {
&apos;playsinline&apos;: 1
},
events: {
&apos;onReady&apos;: (event) =&gt; {
event.target.playVideo();
}
}
});
});
});
}
var container = document.querySelector(&apos;#tibK6A8CzYsplaceholder .content&apos;);
container.addEventListener(&apos;click&apos;, addElement);
&lt;/script&gt;
</content>
</entry>
<entry>
<id>https://netbeans.apache.org/front/main/blogs/entry/announce-apache-netbeans-incubating-92/</id>
<title type="html">[ANNOUNCE] Apache NetBeans (incubating) 9.0 Released</title>
<author><name>Geertjan Wielenga</name></author>
<link rel="alternate" type="text/html" href="https://netbeans.apache.org/front/main/blogs/entry/announce-apache-netbeans-incubating-92/"/>
<published>2018-07-29T00:00:00Z</published>
<updated>2018-07-29T00:00:00Z</updated>
<content type="html">
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The Apache NetBeans team is proud to announce the release of Apache NetBeans (incubating) 9.0.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Apache NetBeans (incubating) 9.0 constitutes all the modules in the Apache NetBeans Git repo, which together provide the NetBeans Platform (i.e., the underlying application framework), as well as all the modules that provide the Java SE-related features of Apache NetBeans. In short, Apache NetBeans (incubating) 9.0 is a full IDE for Java SE development.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Read more on our download page:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;../../../download/nb90/nb90/&quot; class=&quot;xref page&quot;&gt;Apache NetBeans (incubating) 9.0 Download page&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;New &amp;amp; Noteworthy features of the 9.0 Release:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;https://cwiki.apache.org/confluence/display/NETBEANS/Apache+NetBeans+9.0+New+and+Noteworthy&quot;&gt;https://cwiki.apache.org/confluence/display/NETBEANS/Apache+NetBeans+9.0+New+and+Noteworthy&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;See the below for the donation status of features that have not been donated or included in Apache builds yet, i.e., are not part of Apache NetBeans (incubating) 9.0, e.g., features for working with Java EE, JavaScript, PHP, C/C++, and more:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;https://cwiki.apache.org/confluence/display/NETBEANS/Apache+Transition&quot;&gt;https://cwiki.apache.org/confluence/display/NETBEANS/Apache+Transition&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Also see:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;What&amp;#8217;s Happened to My Favorite NetBeans Plugins?&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Work is being done on bringing netbeans.org to Apache. In the meantime, refer to the below for all details related to Apache NetBeans:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;../../../&quot; class=&quot;xref page&quot;&gt;&lt;a href=&quot;https://netbeans.apache.org/&quot; class=&quot;bare&quot;&gt;https://netbeans.apache.org/&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Disclaimer: Apache NetBeans is an effort undergoing incubation at The Apache
Software Foundation (ASF), sponsored by the Apache Incubator.
Incubation is required of all newly accepted projects until a further
review indicates that the infrastructure, communications, and decision
making process have stabilized in a manner consistent with other
successful ASF projects. While incubation status is not necessarily a
reflection of the completeness or stability of the code, it does
indicate that the project has yet to be fully endorsed by the ASF.&lt;/p&gt;
&lt;/div&gt;
</content>
</entry>
<entry>
<id>https://netbeans.apache.org/front/main/blogs/entry/what-s-nb-javac-in/</id>
<title type="html">What&amp;#8217;s &quot;nb-javac&quot; in Apache NetBeans?</title>
<author><name>Geertjan Wielenga</name></author>
<link rel="alternate" type="text/html" href="https://netbeans.apache.org/front/main/blogs/entry/what-s-nb-javac-in/"/>
<published>2018-07-22T00:00:00Z</published>
<updated>2018-07-22T00:00:00Z</updated>
<content type="html">
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Not long after you start up &lt;a href=&quot;../tentative-schedule-for-apache-netbeans/&quot; class=&quot;xref page&quot;&gt;Apache NetBeans (incubating) 9.0&lt;/a&gt; &lt;strong&gt;on top of JDK 8&lt;/strong&gt;, after accepting the license agreement and handling import settings, you&amp;#8217;re confronted with this dialog:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;imageblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;../../../_images/blogs/entry/what-s-nb-javac-in1.png&quot; alt=&quot;what s nb javac in1&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;What does that mean? And why, when you start up Apache NetBeans (incubating) 9.0 &lt;strong&gt;on top of JDK 9 or above&lt;/strong&gt;, do you see the following, instead:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;imageblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;../../../_images/blogs/entry/what-s-nb-javac-in2.png&quot; alt=&quot;what s nb javac in2&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;admonitionblock note&quot;&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;td class=&quot;icon&quot;&gt;
&lt;i class=&quot;fa icon-note&quot; title=&quot;Note&quot;&gt;&lt;/i&gt;
&lt;/td&gt;
&lt;td class=&quot;content&quot;&gt;
The above appears in a balloon popup in the bottom right the first time you start up Apache NetBeans (incubating) 9.0 on JDK 9 or above. If you miss out on seeing or responding to the message, go to Window | IDE Tools | Notifications anytime afterwards and you&amp;#8217;ll have another opportunity to install it:
&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div class=&quot;imageblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;../../../_images/blogs/entry/what-s-nb-javac-in3.png&quot; alt=&quot;what s nb javac in3&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Let&amp;#8217;s start by looking at the question, what is &quot;nb-javac&quot;? Well, &quot;nb-javac&quot;, which is a patched version of &quot;javac&quot;, i.e., the Java compiler, has long been part of NetBeans, providing a highly tuned Java compiler specifically for the Java editor in NetBeans, and wasn&amp;#8217;t part of the donation of NetBeans to Apache since, of course, the Java compiler (or a fork thereof) cannot be part of the donation. That&amp;#8217;s because Oracle is not donating Java to Apache, instead, it is donating NetBeans. The Java compiler belongs to the JDK which is licensed to Oracle.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Separate from Oracle&amp;#8217;s obvious understandable unwillingness to donate a Java compiler fork to Apache, or anyone else, Apache would have a problem with a fork of the Java compiler being distributed from Apache since the Java compiler is LGPL licensed.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In short, neither Oracle nor Apache want the Java compiler to be part of NetBeans in Apache. Yet, NetBeans gains a lot from the patched Java compiler, as explained below:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;../../../../../wiki/main/wiki/JavacDiff/&quot; class=&quot;xref page&quot;&gt;JavacDiff&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Also see this reference for details on the situation:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;https://cwiki.apache.org/confluence/display/NETBEANS/Overview%3A+nb-javac&quot;&gt;https://cwiki.apache.org/confluence/display/NETBEANS/Overview%3A+nb-javac&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;However, using model APIs added in JDK 9, Apache NetBeans can make use of the Java compiler directly from the JDK, as explained here:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;https://cwiki.apache.org/confluence/display/NETBEANS/Java+Editor+Using+JDK+javac&quot;&gt;https://cwiki.apache.org/confluence/display/NETBEANS/Java+Editor+Using+JDK+javac&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;So, as can be seen, from Apache NetBeans running on JDK 9 and onwards, you have a choice: either use the Java compiler from the JDK, which means you&amp;#8217;re not benefiting from a number of enhancements especially added for NetBeans over many years in the patched Java compiler, or you need to explicitly add the patched Java compiler, since it is provided by Oracle and its licensing is such that you need to take responsibility for installing it yourself. On the other hand, if you&amp;#8217;re using Apache NetBeans with JDK 8, the choice is simpler, i.e., you need to install nb-javac, otherwise you will not be able to use Java in Apache NetBeans.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;It&amp;#8217;s not an ideal situation. On the other hand, if someone has a better solution, please feel free to propose that solution and also consider providing a pull request too!&lt;/p&gt;
&lt;/div&gt;
</content>
</entry>
<entry>
<id>https://netbeans.apache.org/front/main/blogs/entry/what-s-happened-to-my/</id>
<title type="html">What&amp;#8217;s Happened to My Favorite NetBeans Plugins?</title>
<author><name>Geertjan Wielenga</name></author>
<link rel="alternate" type="text/html" href="https://netbeans.apache.org/front/main/blogs/entry/what-s-happened-to-my/"/>
<published>2018-07-20T00:00:00Z</published>
<updated>2018-07-20T00:00:00Z</updated>
<content type="html">
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;So, you start up &lt;a href=&quot;../tentative-schedule-for-apache-netbeans/&quot; class=&quot;xref page&quot;&gt;Apache NetBeans (incubating) 9.0&lt;/a&gt; and&amp;#8230;&amp;#8203; you find that when you go to the New Project wizard, or when you try to open your projects, that there&amp;#8217;s no support for your JavaScript, PHP, Groovy, enterprise Java (i.e., Java EE or, as it is known now, Jakarta EE), and C/C++ projects.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;What&amp;#8217;s the reason for that and what can be done?&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Well, Apache NetBeans (incubating) 9.0 is specifically focused on Java SE only. Why? Because NetBeans is extremely large (it will be by far the largest project in Apache, once everything has been donated), which is because it has existed for over 20 years and provides support for a very wide range of technologies. Since so many files all needed to be audited before they could be donated to Apache, the decision was made to donate NetBeans in pieces, i.e., not everything at the same time because that would have taken much too long.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;And since NetBeans is modular, doing an incremental donation was not difficult to architect. The first donation focused specifically on the underlying core, i.e., the NetBeans Platform (e.g., the module system, window system, menubar, etc etc) and, to enable the result of the first donation to be usable for general users and not just NetBeans Platform developers, the various Java SE features were included too, e.g., Java project templates, Java editor, and new Java features such as support for Jigsaw, JLink, and JShell.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The above is what Apache NetBeans (incubating) 9.0 consists of. In the meantime, the second donation has been completed, i.e., Oracle has audited and donated all the modules for features providing support for JavaScript, PHP, Groovy, and enterprise Java (i.e., Java EE or, as it is known now, Jakarta EE). These features are on a separate branch in the Apache NetBeans Git repo. They will be integrated, i.e., relicensed to Apache, after Apache NetBeans (incubating) 9.0 is released. After that, the next set of modules that is being audited prior to donation are related to C/C++.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;So, does that mean that all the features that are not integrated into Apache NetBeans (incubating) 9.0 cannot be used? No, it does not. Go to Tools | Plugins in Apache NetBeans (incubating) 9.0 and, in the Settings tab, register the NetBeans IDE 8.2 update center:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;http://updates.netbeans.org/netbeans/updates/8.2/uc/final/distribution/catalog.xml.gz&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Then go to the Available Plugins tab and you&amp;#8217;ll see all the plugins for NetBeans IDE 8.2., and search for the word &quot;Kit&quot;, which will give you bundles of modules, for higher-level features such as C/C++, JavaScript, Groovy, PHP, and enterprise Java (i.e., Java EE or, as it is known now, Jakarta EE).&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Though note that none of these features have been tested with Apache NetBeans (incubating) 9.0,
they should work, in most cases. If not, don&amp;#8217;t panic. Just sign up to the Apache NetBeans mailing lists,
as explained at &lt;a href=&quot;../../../&quot; class=&quot;xref page&quot;&gt;netbeans.apache.org&lt;/a&gt;, and start a new thread where you&amp;#8217;ll highlight some problem you&amp;#8217;ve encountered,
after which someone will help you or you&amp;#8217;ll be advised to create a new issue in Apache NetBeans Issuezilla.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Where is all this documented, how can anyone know what will be donated in which order, etc? Easy, go here, to the end of this page:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;https://cwiki.apache.org/confluence/display/NETBEANS/Apache+Transition&quot;&gt;https://cwiki.apache.org/confluence/display/NETBEANS/Apache+Transition&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
</content>
</entry>
<entry>
<id>https://netbeans.apache.org/front/main/blogs/entry/tentative-schedule-for-apache-netbeans/</id>
<title type="html">Tentative Schedule for Apache NetBeans (incubating) 9.0 Release</title>
<author><name>Geertjan Wielenga</name></author>
<link rel="alternate" type="text/html" href="https://netbeans.apache.org/front/main/blogs/entry/tentative-schedule-for-apache-netbeans/"/>
<published>2018-07-10T00:00:00Z</published>
<updated>2018-07-10T00:00:00Z</updated>
<content type="html">
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We&amp;#8217;re currently running two processes, both of which it would be great if everyone would participate in&amp;#8201;&amp;#8212;&amp;#8201;and in fact it&amp;#8217;s really important that everyone does these two things:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;olist arabic&quot;&gt;
&lt;ol class=&quot;arabic&quot;&gt;
&lt;li&gt;
&lt;p&gt;Vote in the PPMC thread:&lt;/p&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;link removed&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Doing the above means more than putting a +1, it means downloading the sources, building them, looking at keys, etc, as described above.&lt;/p&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Fill out the Community Acceptance survey, which is focused on the functionality (versus the sources, which is what the PPMC thread is about), which takes about 5 minutes:&lt;/p&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;link removed&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The Community Acceptance Survey runs until Sunday the 22nd of July. Issues found in the meantime will hopefully not be critical and not require a new voting candidate, but we&amp;#8217;ll need to see how things go and nothing can be guaranteed here of course&amp;#8201;&amp;#8212;&amp;#8201;i.e., someone could find a blocker of some kind during the community acceptance survey process.&lt;/p&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Hopefully, nothing going wrong and everything going well, we&amp;#8217;ll then be at a point to start the IPMC vote thread on the 23rd and, if everything goes well, release Apache NetBeans (incubating) 9.0 at the beginning of August.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;After that we&amp;#8217;ll work on the 2nd donation, relicensing it, moving it into master etc.&lt;/p&gt;
&lt;/div&gt;
</content>
</entry>
<entry>
<id>https://netbeans.apache.org/front/main/blogs/entry/netbeans-for-javaee-project-productivity/</id>
<title type="html">Apache NetBeans and Java EE Productivity in Burkina Faso</title>
<author><name>Constantin Drabo</name></author>
<link rel="alternate" type="text/html" href="https://netbeans.apache.org/front/main/blogs/entry/netbeans-for-javaee-project-productivity/"/>
<published>2018-07-03T00:00:00Z</published>
<updated>2018-07-03T00:00:00Z</updated>
<content type="html">
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Last Saturday (June 30, 2018) I was invited to COFAN (Conférence au Faso sur le Numérique) to present tips for building enterprise Java applications.
COFAN is a conference divided into multiple sessions on a variety of technologies.
It was started last year and the second tour has been taking place since May and it is sponsored by the government of Burkina Faso.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;I was given the opportunity to talk about enterprise Java in general and to show how NetBeans can be a great tool
to develop strong and professional Java enterprise applications.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;A room filled with an attentive audience was very enthusiastic. They were also satisfied by the answers to their questions,
while some decided to continue using NetBeans, with others promising to start working with it for the first time!&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Pictures of the event are below:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;imageblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;../../../_images/blogs/entry/netbeans-for-javaee-project-productivity1.png&quot; alt=&quot;netbeans for javaee project productivity1&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;imageblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;../../../_images/blogs/entry/netbeans-for-javaee-project-productivity2.png&quot; alt=&quot;netbeans for javaee project productivity2&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;imageblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;../../../_images/blogs/entry/netbeans-for-javaee-project-productivity3.png&quot; alt=&quot;netbeans for javaee project productivity3&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
</content>
</entry>
<entry>
<id>https://netbeans.apache.org/front/main/blogs/entry/1-5-m-lines-of/</id>
<title type="html">1.5 M Lines Of Oracle Code Now in Apache NetBeans Git</title>
<author><name>Geertjan Wielenga</name></author>
<link rel="alternate" type="text/html" href="https://netbeans.apache.org/front/main/blogs/entry/1-5-m-lines-of/"/>
<published>2018-06-26T00:00:00Z</published>
<updated>2018-06-26T00:00:00Z</updated>
<content type="html">
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Hurray! The 2nd Oracle donation of NetBeans to the Apache Software Foundation, constituting 1.5M lines of code,
providing tools for enterprise Java, JavaScript, PHP, Groovy, and more, has now landed on a branch of Apache NetBeans Git&lt;/p&gt;
&lt;/div&gt;
</content>
</entry>
<entry>
<id>https://netbeans.apache.org/front/main/blogs/entry/netbeans-status-at-fossback-18/</id>
<title type="html">NetBeans Status at FossBack &apos;18</title>
<author><name>Geertjan Wielenga</name></author>
<link rel="alternate" type="text/html" href="https://netbeans.apache.org/front/main/blogs/entry/netbeans-status-at-fossback-18/"/>
<published>2018-06-22T00:00:00Z</published>
<updated>2018-06-22T00:00:00Z</updated>
<content type="html">
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The session outlining 10 tips for large corporate projects moving to Apache, with NetBeans as an illustrative example, presented at FossBack &apos;18, is now available on YouTube:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;videoconsentblock&quot; id=&quot;Bnznard9Nlsplaceholder&quot;&gt;
&lt;div class=&quot;imageblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;../../../_images/placeholder/Bnznard9Nls.jpg&quot; alt=&quot;placeholder for video Bnznard9Nls&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Clicking on the image above will load the video and send data from and to Google&lt;/p&gt;
&lt;/div&gt;
&lt;script&gt;
function loadScript() {
return new Promise((resolve, reject) =&gt; {
let script = document.createElement(&apos;script&apos;);
script.src = &apos;https://www.youtube.com/iframe_api&apos;;
script.addEventListener(&apos;load&apos;, resolve);
script.addEventListener(&apos;error&apos;, (e) =&gt; reject(e));
document.body.appendChild(script);
});
}
function addElement() {
loadScript().then(() =&gt; {
window.YT.ready(function() {
let player = new YT.Player(&apos;Bnznard9Nlsplaceholder&apos;, {
height: &apos;490&apos;,
width: &apos;968&apos;,
videoId: &apos;Bnznard9Nls&apos;,
playerVars: {
&apos;playsinline&apos;: 1
},
events: {
&apos;onReady&apos;: (event) =&gt; {
event.target.playVideo();
}
}
});
});
});
}
var container = document.querySelector(&apos;#Bnznard9Nlsplaceholder .content&apos;);
container.addEventListener(&apos;click&apos;, addElement);
&lt;/script&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The full report on the session and NetBeans attendance is here: &lt;a href=&quot;../apache-netbeans-at-foss-backstage/&quot; class=&quot;xref page&quot;&gt;blog foss backstage&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
</content>
</entry>
<entry>
<id>https://netbeans.apache.org/front/main/blogs/entry/1-5m-lines-of-netbeans/</id>
<title type="html">1.5M Lines of NetBeans Code from Oracle to Apache</title>
<author><name>Geertjan Wielenga</name></author>
<link rel="alternate" type="text/html" href="https://netbeans.apache.org/front/main/blogs/entry/1-5m-lines-of-netbeans/"/>
<published>2018-06-21T00:00:00Z</published>
<updated>2018-06-21T00:00:00Z</updated>
<content type="html">
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Great news: the process of completing the 2nd donation is now done and Oracle has made available a ZIP file constituting the 2nd donation.
Oracle donated around 4,000,000 lines of code in the 1st donation last year and has now completed the 2nd
donation constituting around 1,500,000 lines of code. This donation constitutes the modules of NetBeans dealing with
enterprise Java, JavaScript, PHP, Groovy, as well as miscellaneous features applicable to Mobile and Web development.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We will continue to wrap up the final release of Apache NetBeans (incubating) 9.0, which will be focused on Java SE only.
After that, or at least separate from that process, we will start relicensing the new code, i.e., from the 2nd donation, once it is in Apache NetBeans Git.
Right now, it is a ZIP file, it needs to be moved to Apache NetBeans Git, and we need to do that in the right way, and figure out what the right way is.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;This is a significant step forward in the transition of NetBeans from Oracle to Apache.&lt;/p&gt;
&lt;/div&gt;
</content>
</entry>
<entry>
<id>https://netbeans.apache.org/front/main/blogs/entry/apache-netbeans-at-foss-backstage/</id>
<title type="html">Apache NetBeans at FOSS Backstage 2018</title>
<author><name>Geertjan Wielenga</name></author>
<link rel="alternate" type="text/html" href="https://netbeans.apache.org/front/main/blogs/entry/apache-netbeans-at-foss-backstage/"/>
<published>2018-06-14T00:00:00Z</published>
<updated>2018-06-14T00:00:00Z</updated>
<content type="html">
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Yesterday I attended &lt;a href=&quot;https://foss-backstage.de/&quot;&gt;FOSS Backstage&lt;/a&gt; in Berlin.
FOSS Backstage is a &quot;conference on everything governance, collaboration, legal &amp;amp; economics within the scope of FOSS&quot;.
I went there to present my session, based on the Apache NetBeans experiences of the past two years or so,
entitled &lt;a href=&quot;https://foss-backstage.de/session/10-tips-moving-large-corporate-projects-apache&quot;&gt;10 Tips for Moving Large Corporate Projects to Apache&lt;/a&gt;.
I also went because I knew that several people from the Apache Software Foundation who have been instrumental in
the transition of NetBeans to Apache would also be there and I thought it was time to put some faces to the many new names that
we&amp;#8217;ve been confronted with during the transition process!&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The event began for me with a wonderful speakers dinner, where I met three of the absolute key Apache people involved in the
Apache NetBeans project&amp;#8201;&amp;#8212;&amp;#8201;Emmanuel Lecharny, Bertrand Delacretaz, and Mark Struberg.
Here we are, literally about 5 minutes after meeting, discussing the current status of the transition process (click the image below to increase size):&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;imageblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;../../../_images/blogs/entry/apache-netbeans-at-foss-backstage.png&quot; alt=&quot;apache netbeans at foss backstage&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Bertrand and Mark are two of the Apache NetBeans mentors, while Emmanuel was a mentor during the beginning phase of the transition.
Both Bertrand and Emmanuel were involved really in the pre-start phase of the donation, with many thanks to
Emmanuel Hugonnet who introduced us, after a very nice and long conversation some years ago in Athens!&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;During the event, I also met several others who I have seen on Apache mailing lists&amp;#8201;&amp;#8212;&amp;#8201;Justin McLean, Shane Curcuru, and Jim Jagielski.
Really amazing to meet all these names in person&amp;#8201;&amp;#8212;&amp;#8201;and not to forget, I also met Mark Thomas, who is the Apache VP for Brand Management,
i.e., who we need to work with for the brand/domain donation, and Malcolm Bain, a lawyer specialising in ICT law, based in Barcelona,
with a special focus on Open Source Projects. I also spoke with Kevin A. McGrail, who is Apache VP Fundraising,
who later sent me this very nice and welcome message: &quot;Did I hear you correct and you wanted to talk
about how I can help NetBeans with sponsorship?&quot; Yes, you did, Kevin!&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;What really struck me is how positive everyone at Apache is about the Apache NetBeans project.
Everyone mentioned how great and active the Apache NetBeans community is, i.e., active mailing lists,
several discussion threads, voting in new PPMC members, and of course also doing releases already,
with everyone positive and committed to the project. I realized, especially as I was doing my presentation,
when I was talking about the history of NetBeans, that the reason why Apache NetBeans is going so well in many respects
is because we&amp;#8217;ve been working on our community from the very beginning. I.e., even while NetBeans was part of commercial
entities (i.e., Sun and Oracle), we had an army of volunteers all over the world, organized in structures such as NetCAT
(i.e., volunteer testers), and the NetBeans Dream Team (i.e., volunteer evangelists), while we&amp;#8217;ve also been organizing NetBeans Days
all over the world for several years, i.e., we&amp;#8217;ve come to Apache with a ready-made community, whereas for the majority of other projects
coming to Apache the reason that they&amp;#8217;re coming to Apache is because they don&amp;#8217;t yet have a community and are looking to Apache
to provide the infrastructure for doing so.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Also, really crucially, we&amp;#8217;ve spent years educating developers everywhere about the NetBeans APIs,
the NetBeans source structure, etc. That&amp;#8217;s been massively impactful now that we&amp;#8217;re in Apache, since those who are
most active right now are those that have been involved with NetBeans for around 20 years or so. In short, there are
definitely advantages to being a large corporate project in terms of transitioning to Apache&amp;#8201;&amp;#8212;&amp;#8201;just like NetBeans,
you may take a long time to get all your code across (because the donating company needs to spend time auditing and cleaning
the code etc), though on the other hand you&amp;#8217;ll potentially be bringing a massive amount of existing knowledge and a vibrant community along with you.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In short, it was great to be at FOSS Backstage and I am sure more and more Apache NetBeans
community members will be submitting sessions to similar Apache events around the world and sharing their experiences, too.&lt;/p&gt;
&lt;/div&gt;
</content>
</entry>
<entry>
<id>https://netbeans.apache.org/front/main/blogs/entry/announce-apache-netbeans-incubating-91/</id>
<title type="html">[ANNOUNCE] Apache NetBeans (incubating) 9.0 RC1 released</title>
<author><name>Geertjan Wielenga</name></author>
<link rel="alternate" type="text/html" href="https://netbeans.apache.org/front/main/blogs/entry/announce-apache-netbeans-incubating-91/"/>
<published>2018-05-29T00:00:00Z</published>
<updated>2018-05-29T00:00:00Z</updated>
<content type="html">
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The Apache NetBeans team is proud to announce the release of Apache NetBeans (incubating) 9.0 RC1.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Apache NetBeans (incubating) 9.0 RC1 constitutes all the modules in the &apos;release90&apos; branch of the Apache NetBeans Git repo (&lt;a href=&quot;https://github.com/apache/incubator-netbeans&quot;&gt;https://github.com/apache/incubator-netbeans&lt;/a&gt;), which together provide the NetBeans Platform (i.e., the underlying application framework), which was released as Apache NetBeans 9.0 Alpha (incubating), as well as all the modules that provide the Java SE-related features of Apache NetBeans. In short, Apache NetBeans (incubating) 9.0 RC1 is a full IDE for Java SE development.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Download not available&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Details on Apache NetBeans (incubating) 9.0 RC1, including a list of open issues to be resolved prior to the final release:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;https://cwiki.apache.org/confluence/display/NETBEANS/Apache+NetBeans+9.0+RC1&quot;&gt;https://cwiki.apache.org/confluence/display/NETBEANS/Apache+NetBeans+9.0+RC1&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;What must be done for the final version of Apache NetBeans (incubating) 9.0 to be released?&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;olist arabic&quot;&gt;
&lt;ol class=&quot;arabic&quot;&gt;
&lt;li&gt;
&lt;p&gt;The items in the link above need to be fixed, e.g, new splash screen needs to be integrated.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Cherry picking of pull requests merged into &apos;main&apos; for &apos;release90&apos; branch.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Put together rc2 release, sanity test it via NetCAT, and publish it.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Community Acceptance survey.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Start Apache voting for the final release, incorporating input from the Community Acceptance survey.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Release 9.0, which will be an IDE for Java SE development only, the other features have not been donated yet by Oracle and are being audited and processed and be part of subsequent releases of Apache NetBeans.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Take note of the Apache NetBeans release criteria:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;https://cwiki.apache.org/confluence/display/NETBEANS/NetBeans+9.0+Release+Criteria&quot;&gt;https://cwiki.apache.org/confluence/display/NETBEANS/NetBeans+9.0+Release+Criteria&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;FYI, see the below for the donation status of features that have not been donated to Apache yet, e.g., features for working with Java EE, JavaScript, PHP, C/C++, and more:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;https://cwiki.apache.org/confluence/display/NETBEANS/Apache+Transition&quot;&gt;https://cwiki.apache.org/confluence/display/NETBEANS/Apache+Transition&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Work is being done on bringing netbeans.org to Apache. We already have our Apache site set up, here:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;../../../&quot; class=&quot;xref page&quot;&gt;&lt;a href=&quot;https://netbeans.apache.org/&quot; class=&quot;bare&quot;&gt;https://netbeans.apache.org/&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;On behalf of the Apache NetBeans PPMC&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Geertjan&lt;/p&gt;
&lt;/div&gt;
</content>
</entry>
<entry>
<id>https://netbeans.apache.org/front/main/blogs/entry/new-apache-netbeans-incubating-logo/</id>
<title type="html">New Apache NetBeans (incubating) Logo!</title>
<author><name>Geertjan Wielenga</name></author>
<link rel="alternate" type="text/html" href="https://netbeans.apache.org/front/main/blogs/entry/new-apache-netbeans-incubating-logo/"/>
<published>2018-03-06T00:00:00Z</published>
<updated>2018-03-06T00:00:00Z</updated>
<content type="html">
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;After a discussion and voting process on the Apache NetBeans (incubating) dev and user mailing lists&amp;#8230;&amp;#8203; we have a new logo! Here it is:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;imageblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;../../../_images/blogs/entry/new-apache-netbeans-incubating-logo.png&quot; alt=&quot;new apache netbeans incubating logo&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
</content>
</entry>
<entry>
<id>https://netbeans.apache.org/front/main/blogs/entry/announce-apache-netbeans-incubating-9/</id>
<title type="html">[ANNOUNCE] Apache NetBeans (incubating) 9.0 Beta released</title>
<author><name>Geertjan Wielenga</name></author>
<link rel="alternate" type="text/html" href="https://netbeans.apache.org/front/main/blogs/entry/announce-apache-netbeans-incubating-9/"/>
<published>2018-02-16T00:00:00Z</published>
<updated>2018-02-16T00:00:00Z</updated>
<content type="html">
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The Apache NetBeans team is proud to announce the release of Apache NetBeans (incubating) 9.0 Beta.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Apache NetBeans 9.0 Beta (incubating) constitutes all the modules in the Apache NetBeans Git repo, which together provide the NetBeans Platform (i.e., the underlying application framework), which was released as Apache NetBeans 9.0 Alpha (incubating), as well as all the modules that provide the Java SE-related features of Apache NetBeans. In short, Apache NetBeans 9.0 Beta (incubating) is a full IDE for Java SE development.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;See the below for the donation status of features that have not been donated to Apache yet, e.g., features for working with Java EE, JavaScript, PHP, C/C++, and more:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;https://cwiki.apache.org/confluence/display/NETBEANS/Apache+Transition&quot;&gt;https://cwiki.apache.org/confluence/display/NETBEANS/Apache+Transition&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Note: Apache NetBeans (incubating) 9.0 Beta is primarily focused on IP clearance. Its functionality has not been tested&amp;#8201;&amp;#8212;&amp;#8201;the NetCAT (NetBeans Community Acceptance Testing) process will begin now that Apache NetBeans (incubating) 9.0 Beta has been released. Watch this space for upcoming announcements about NetCAT. When NetCAT completes, we will vote on the final release of Apache NetBeans (incubating) 9.0.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Details on Apache NetBeans (incubating) 9.0 Beta:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;https://cwiki.apache.org/confluence/display/NETBEANS/Apache+NetBeans+9.0+Beta&quot;&gt;https://cwiki.apache.org/confluence/display/NETBEANS/Apache+NetBeans+9.0+Beta&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Download not available&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Work is being done on bringing netbeans.org to Apache. In the meantime, refer to the below for all details related to Apache NetBeans:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;https://cwiki.apache.org/confluence/display/NETBEANS&quot;&gt;https://cwiki.apache.org/confluence/display/NETBEANS&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;On behalf of the Apache NetBeans PPMC&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Geertjan&lt;/p&gt;
&lt;/div&gt;
</content>
</entry>
<entry>
<id>https://netbeans.apache.org/front/main/blogs/entry/netbeans-status-interview-at-devox/</id>
<title type="html">NetBeans Status Session at Devoxx 2017</title>
<author><name>Geertjan Wielenga</name></author>
<link rel="alternate" type="text/html" href="https://netbeans.apache.org/front/main/blogs/entry/netbeans-status-interview-at-devox/"/>
<published>2017-11-08T00:00:00Z</published>
<updated>2017-11-08T00:00:00Z</updated>
<content type="html">
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Watch this quick session, with a number of Apache NetBeans team members, to learn about the status of the process at Apache NetBeans (incubating):&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;videoconsentblock&quot; id=&quot;EkfX-W0tgNoplaceholder&quot;&gt;
&lt;div class=&quot;imageblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;../../../_images/placeholder/EkfX-W0tgNo.jpg&quot; alt=&quot;placeholder for video EkfX-W0tgNo&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Clicking on the image above will load the video and send data from and to Google&lt;/p&gt;
&lt;/div&gt;
&lt;script&gt;
function loadScript() {
return new Promise((resolve, reject) =&gt; {
let script = document.createElement(&apos;script&apos;);
script.src = &apos;https://www.youtube.com/iframe_api&apos;;
script.addEventListener(&apos;load&apos;, resolve);
script.addEventListener(&apos;error&apos;, (e) =&gt; reject(e));
document.body.appendChild(script);
});
}
function addElement() {
loadScript().then(() =&gt; {
window.YT.ready(function() {
let player = new YT.Player(&apos;EkfX-W0tgNoplaceholder&apos;, {
height: &apos;490&apos;,
width: &apos;968&apos;,
videoId: &apos;EkfX-W0tgNo&apos;,
playerVars: {
&apos;playsinline&apos;: 1
},
events: {
&apos;onReady&apos;: (event) =&gt; {
event.target.playVideo();
}
}
});
});
});
}
var container = document.querySelector(&apos;#EkfX-W0tgNoplaceholder .content&apos;);
container.addEventListener(&apos;click&apos;, addElement);
&lt;/script&gt;
</content>
</entry>
<entry>
<id>https://netbeans.apache.org/front/main/blogs/entry/the-case-of-the-different/</id>
<title type="html">The case of the different jsch 0.1.54 binaries</title>
<author><name>Emilian Bold</name></author>
<link rel="alternate" type="text/html" href="https://netbeans.apache.org/front/main/blogs/entry/the-case-of-the-different/"/>
<published>2017-10-04T00:00:00Z</published>
<updated>2017-10-04T00:00:00Z</updated>
<content type="html">
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;As part of the Apache NetBeans IP clearance we are combing through all the code and dependencies.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;One interesting thing we bumped into was that the jsch 0.1.54 binary JAR we are using has a different hash (and size)
than the binary JAR from Maven Central.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The old hash is 0D7D8ABA0D11E8CD2F775F47CD3A6CFBF2837DA4, the new one is DA3584329A263616E277E15462B387ADDD1B208D.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The binaries are 278,612 bytes vs 280,515 bytes in Maven Central.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Our version is actually the same as the one found on &lt;a href=&quot;http://www.jcraft.com/jsch/&quot;&gt;http://www.jcraft.com/jsch/&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Also, the Maven JAR is properly signed with the author&amp;#8217;s CA7FA1F0 key.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;This is where it becomes clear that &lt;a href=&quot;https://reproducible-builds.org/&quot;&gt;reproducible builds&lt;/a&gt; are important.
You do not want to have to wonder why a binary differs, especially years later when you are doing a review. And this one is a library doing SSH!&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;So, why the different binaries?&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;It seems the original JAR was compiled on Aug 30, 2016 with Java 1.4 (major version 48) while the Maven Central JAR was compiled
Sep 3, 2016 with Java 5 (major version 49).&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The original JAR also concatenates strings using &lt;code&gt;StringBuffer&lt;/code&gt; while the Maven Central JAR uses the newly introduced in 1.5 &lt;code&gt;StringBuilder&lt;/code&gt;.
Which should also be a bit faster since it&amp;#8217;s not synchronized.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Next, most of the cypher classes use some reflection via a &lt;code&gt;static java.lang.Class class$(java.lang.String)&lt;/code&gt; method.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;What is this? It&amp;#8217;s just the way class literals worked in Java 1.4. //As explained here,
In Java 5 the &lt;code&gt;ldc_w&lt;/code&gt; instruction was introduced to load a &lt;code&gt;Class&lt;/code&gt; object.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In 1.4 the class literal was helped by the compiler by actually introducing the helper &lt;code&gt;Class class$(java.lang.String className)&lt;/code&gt; method
and replacing the &lt;code&gt;Person.class&lt;/code&gt; with a &lt;code&gt;class$(&quot;Person&quot;)&lt;/code&gt; call.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;It conclusion, it seems that excluding the Java 1.4 to Java 5 compiler changes, the two JARs are identical.
With the Maven Central JAR even a bit better due to &lt;code&gt;StringBuilder&lt;/code&gt; being used.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;There is no check so far that the sources do produce the specific JAR. This is an exercise left for the reader.&lt;/p&gt;
&lt;/div&gt;
</content>
</entry>
<entry>
<id>https://netbeans.apache.org/front/main/blogs/entry/netbeans-status-interview-at-javaone/</id>
<title type="html">Audio of Virtual Apache NetBeans Meeting 1</title>
<author><name>Geertjan Wielenga</name></author>
<link rel="alternate" type="text/html" href="https://netbeans.apache.org/front/main/blogs/entry/netbeans-status-interview-at-javaone/"/>
<published>2017-10-03T00:00:00Z</published>
<updated>2017-10-03T00:00:00Z</updated>
<content type="html">
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Watch this quick interview to learn about the status of the process at Apache NetBeans (incubating):&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;videoconsentblock&quot; id=&quot;o5qDm0yS8mcplaceholder&quot;&gt;
&lt;div class=&quot;imageblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;../../../_images/placeholder/o5qDm0yS8mc.jpg&quot; alt=&quot;placeholder for video o5qDm0yS8mc&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Clicking on the image above will load the video and send data from and to Google&lt;/p&gt;
&lt;/div&gt;
&lt;script&gt;
function loadScript() {
return new Promise((resolve, reject) =&gt; {
let script = document.createElement(&apos;script&apos;);
script.src = &apos;https://www.youtube.com/iframe_api&apos;;
script.addEventListener(&apos;load&apos;, resolve);
script.addEventListener(&apos;error&apos;, (e) =&gt; reject(e));
document.body.appendChild(script);
});
}
function addElement() {
loadScript().then(() =&gt; {
window.YT.ready(function() {
let player = new YT.Player(&apos;o5qDm0yS8mcplaceholder&apos;, {
height: &apos;490&apos;,
width: &apos;968&apos;,
videoId: &apos;o5qDm0yS8mc&apos;,
playerVars: {
&apos;playsinline&apos;: 1
},
events: {
&apos;onReady&apos;: (event) =&gt; {
event.target.playVideo();
}
}
});
});
});
}
var container = document.querySelector(&apos;#o5qDm0yS8mcplaceholder .content&apos;);
container.addEventListener(&apos;click&apos;, addElement);
&lt;/script&gt;
</content>
</entry>
<entry>
<id>https://netbeans.apache.org/front/main/blogs/entry/introducing-the-apache-netbeans-blogs/</id>
<title type="html">Introducing the Apache NetBeans Blog</title>
<author><name>Geertjan Wielenga</name></author>
<link rel="alternate" type="text/html" href="https://netbeans.apache.org/front/main/blogs/entry/introducing-the-apache-netbeans-blogs/"/>
<published>2017-10-01T00:00:00Z</published>
<updated>2017-10-01T00:00:00Z</updated>
<content type="html">
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Here, at last, is a community space for everyone working on Apache NetBeans, currently incubating, to post blogs.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;I imagine this will be a place where we can announce new releases of Apache NetBeans, while it will also be a place for everyone to share their experiences and make all kinds of other announcements.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Happy blogging everyone, at the brand new Apache NetBeans (incubating) blog.&lt;/p&gt;
&lt;/div&gt;
</content>
</entry>
</feed>