Openfire 4.3.0 Release

The Ignite Realtime Community is thrilled to announce the promotion of release version 4.3.0 of Openfire. A changelog denotes 130 Jira issues resolved with this release! There are a few gotchas / unresolved issues we would like to inform you of.

  • OF-1615 Openfire Preference Pane crashes on MacOS.
    If you are a Mac user and try to start Openfire via ‘Start Openfire’, it will fail. We are very much desperate for MacOS developers to help us figure out how to fix it.
  • OF-1647 Upgraded Openfire on Windows sometimes fails to start.
    Some users have been able to reproduce a bug that an upgraded Openfire to 4.3.0 release will fail to properly start. The workaround is to locate the plugins/admin/webapp/WEB-INF/lib, delete it, then start Openfire again.
  • OF-1432 meaning of property xmpp.pubsub.create.anyone is inverted.
    The release of Openfire 4.3.0 corrected the behavior of having that property set. Setting it now to true means that anybody can create pubsub nodes.
  • OF-1594 bookmarks are unexpectedly copied to other users.
    It is not clear this bug actually exists, but we wanted to make you aware of it as the Ignite Realtime Openfire host routinely reproduces the issue, but nobody else has :). The impact is that sometimes logged in users are given other users bookmarks. This will cause them to perhaps auto-join rooms with that user’s handle. We hope that this issue is some one-off that is only due to our usage of Ignite Realtime for testing development releases!
  • OF-1383 Support Java 11. (this ticket is not completed, there is no support for Java 10/11 yet, read more below)
    Openfire currently requires Java 8 to properly run. We are hoping to support newer JVMs, but need things like upstream releases of Apache MINA to happen.

Have the above issues scared you off yet from trying this release? We certainly hope not! We always recommend you have tested backups and a testing environment to see how this release works for you.

The release can be downloaded from our Downloads Page and the artifacts have the following sha1sums.

32e02876340404f36de93d1a8812f3e5a0eb3502  openfire-4.3.0-1.i686.rpm
6b1b960da879bd27e25365e214915cfe44b40c78  openfire-4.3.0-1.noarch.rpm
a588f28e8a5a043e6a02dfceb67256d5a4572b87  openfire-4.3.0-1.x86_64.rpm
40a44e444a2d91f7cd68f4bb97632bd3073e8928  openfire_4.3.0_all.deb
27846f2a9995394cae72df9597438da4e10a42c3  openfire_4_3_0_bundledJRE.exe
4fd7cee7fb4d372e12d193d54c0bc192880d8b8c  openfire_4_3_0_bundledJRE_x64.exe
41e3cbb6e2cd67f7d92b508be9fdff47bbdf537d  openfire_4_3_0.dmg
01c3a796ab6d6b741614f70f13187e0b11e1cb83  openfire_4_3_0.exe
962e161ac8b7c5e231016ce1f471d6a7e4762b41  openfire_4_3_0.tar.gz
10654ece9d6825e8430c9501ce0fe41518a9f4da  openfire_4_3_0_x64.exe
2803a1693c949b3ae86b56def2eb5809cc042cfc  openfire_4_3_0.zip
635c4e3cfa9193bbba6bac11698a01d5f5c59e92  openfire_src_4_3_0.tar.gz
bf63a63e77f932a0c5b2863ab4df02ce0fdb9d2a  openfire_src_4_3_0.zip

A special recognition for this release goes to @guus and @gdt who did a tremendous amount of work in the area of Maven migration and improving how Openfire plugin development happens. Please remember that we are all volunteers here and very much looking for others to help develop, document, and test Openfire. Please stop by our open_chat to say “Hi” if you are interested in learning more!

Note: MySQL Connector/J has been updated to version 8.0.11 in this release. This version only works with MySQL 5.5 or later. Older MySQL versions are not supported by Oracle and will not work with Openfire anymore.

3 Likes

Hate to add more issues, but if one is using Monitoring plugin, they should hold off upgrading:


Added a comment to Java 11 ticket. People quickly skimming through blog post get impression that Java 11 support has been added… :slight_smile:

Monitoring plugin’s issues fixed in 1.7.0 version.

MacOS El Capitan

4.3.0 wiped all data of 4.2.3 after upgrade and it showed still 4.2.3 version. I totally reinstalled JDK 8 and 4.3.0.
So there is only one question: While PrefPane is dead, how to launch Openfire server now from terminal?

Sorry to ask here, but what happened to Spark?? No more stable updates for a long time… any news about that??

No developers actively working on it. A lot of issues in the current source (2.9.0) preventing it from doing a release. Issues blocking 2.9.0 release

1 Like

I tried 4.3.0 (tar.gz version) on RHEL 7. Using the redhat-postinstall.sh script, the openfire.sh script is not executable (so the init.d script doesn’t work). Also when using the internal database and LDAP (this is what I was using), openfire did not shutdown properly for me with init.d (it needed to be killed). In the earlier 4.2.3 version, I created the /bin/openfire.sh (because it was missing) and linked it to /bin/openfire – and that seemed to make init.d/openfired work properly. Now that /bin/openfire.sh is included (and different than /bin/opendfire), stopping openfire with init.d is hangy and it needs to be killed (looks like HSQLDB had trouble in logs during shutdown). Additionally, setting up LDAP in the wizard seems to fail with good known values, but if you restart the install with a fresh browser, it works again.

Just found out now, after a few days, that I cannot enter on web interface!!

HTTP ERROR 500

Problem accessing /index.jsp. Reason:

Server Error

Caused by:

java.lang.NoClassDefFoundError: com/sun/syndication/fetcher/FeedFetcher
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
at java.lang.Class.getConstructor0(Unknown Source)
at java.lang.Class.getDeclaredConstructor(Unknown Source)
at org.eclipse.jetty.server.handler.ContextHandler$Context.createInstance(ContextHandler.java:2655)
at org.eclipse.jetty.servlet.ServletContextHandler$Context.createServlet(ServletContextHandler.java:1372)
at org.eclipse.jetty.servlet.ServletHolder.newInstance(ServletHolder.java:1297)
at org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:647)
at org.eclipse.jetty.servlet.ServletHolder.getServlet(ServletHolder.java:519)
at org.eclipse.jetty.servlet.ServletHolder.prepare(ServletHolder.java:803)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:530)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:220)
at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:126)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at org.eclipse.jetty.server.Server.handle(Server.java:503)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.onFillable(SslConnection.java:411)
at org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:305)
at org.eclipse.jetty.io.ssl.SslConnection$2.succeeded(SslConnection.java:159)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: com.sun.syndication.fetcher.FeedFetcher
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:565)
at java.lang.ClassLoader.loadClass(Unknown Source)
… 45 more

Caused by:

java.lang.ClassNotFoundException: com.sun.syndication.fetcher.FeedFetcher
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:565)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
at java.lang.Class.getConstructor0(Unknown Source)
at java.lang.Class.getDeclaredConstructor(Unknown Source)
at org.eclipse.jetty.server.handler.ContextHandler$Context.createInstance(ContextHandler.java:2655)
at org.eclipse.jetty.servlet.ServletContextHandler$Context.createServlet(ServletContextHandler.java:1372)
at org.eclipse.jetty.servlet.ServletHolder.newInstance(ServletHolder.java:1297)
at org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:647)
at org.eclipse.jetty.servlet.ServletHolder.getServlet(ServletHolder.java:519)
at org.eclipse.jetty.servlet.ServletHolder.prepare(ServletHolder.java:803)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:530)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:220)
at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:126)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at org.eclipse.jetty.server.Server.handle(Server.java:503)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.onFillable(SslConnection.java:411)
at org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:305)
at org.eclipse.jetty.io.ssl.SslConnection$2.succeeded(SslConnection.java:159)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
at java.lang.Thread.run(Unknown Source)

It is mentioned in the blog post (second bullet point)
OF-1647 Upgraded Openfire on Windows sometimes fails to start.
Some users have been able to reproduce a bug that an upgraded Openfire to 4.3.0 release will fail to properly start. The workaround is to locate the plugins/admin/webapp/WEB-INF/lib , delete it, then start Openfire again.

1 Like

Added info about supported MySQL versions.

worked perfectly!

You should update to 4.3.2 while you at it :slight_smile: https://discourse.igniterealtime.org/t/openfire-4-3-2-release