Open Realtime.

Ignite Realtime is the community site for the users and developers of Jive Software's open source Real Time Communications projects. Your involvement is helping to change the open RTC landscape.

Open Realtime.

Ignite Realtime is the community site for the users and developers of Jive Software's open source Real Time Communications projects. Your involvement is helping to change the open RTC landscape.
Latest Blog Entries
daryl herzmann

Openfire 4.4.0 Beta Release

The Ignite Realtime Community is thrilled to announce the promotion of a beta quality release of Openfire 4.4.0! Please test out this release and let us know how it goes by reporting your feedback in the Community Forums. We?d like to turn around a formal release sooner than later!

So what?s in this release you ask? The Changelog denotes many Jira issues resolved. Much of this work is thanks to @guus and @gdt! The highlights include:

  • Numerous improvements and bug fixes around Openfire?s caching. The administrative console now provides a detailed look into cache usage as well as the ability to selectively remove individual cache entries.
  • Improvements to Openfire?s stability and performance whilst in clustering mode.
  • The Admin Console will now show software versions, whenever possible, of the remotely connected client and server.
  • Java 11 should be fully supported and usable with this release. This includes using OpenJDK.
  • Plugin loading should be much more robust and the Admin Console now reports more information about the plugins loaded along with better UI interaction whilst updating plugins.
  • Openfire makes heavy usage of Apache MINA and Jetty, both of which libraries have been updated for this release.

Here?s a listing of sha1sums for the release and you can find the downloads here.

b44a621f491b33d35d138b8a9d1c041558dacf8f  openfire-4.4.0-0.2.beta.i686.rpm
ddb4871e2dbb83b10d4d6e227869f0294253d8f8  openfire-4.4.0-0.2.beta.noarch.rpm
172c9aa94353717d824bfdf13741a9be614f7e54  openfire-4.4.0-0.2.beta.x86_64.rpm
72b4ab488fb7a0116482fbb53709887b41213377  openfire_4.4.0.beta_all.deb
ceb8f315e6327d34887685b7630eba273202cf5b  openfire_4_4_0_beta_bundledJRE.exe
3e5e384d3677da30f9817a10474c75579f6b606d  openfire_4_4_0_beta_bundledJRE_x64.exe
9ff49a74679a14156c3331c7bc5ff64ed7ab8635  openfire_4_4_0_beta.dmg
4bbe3de332c44fd046ad078a7f86717611baead5  openfire_4_4_0_beta.exe
5a8cfd20a99c9c41ca6ce1a21017e36950540c36  openfire_4_4_0_beta.tar.gz
214c211b8be412c0ff75c8f59b9ce3f0bfd8d248  openfire_4_4_0_beta_x64.exe
759dc5ad17aee48cd7eecbd6b8656abd4f9f2d63  openfire_src_4_4_0_beta.tar.gz

Thanks for your interest and usage of Openfire! Our live group chat is also useful to swing by and let us know how the beta is going for you! We are always interested in folks wishing to help out with development. Please stop by and say hi!

Tags: planetjabber, release, openfire 1
Guus der Kinderen

XMPP Sprint in The Hague, NL, June 2019

Last weekend, I participated in an XSF-community organized sprint, in The Hague (conveniently located in my country of residence). Graciously hosted by IPerity, a group of people from various XMPP related projects got together.

Apart from it always being nice to meet up with fellow enthusiasts, we got quite some work done. In the sprint preparation, we had already established that one of the topics that we?d like to address, was the lack of top-notch (mobile) client support, in XMPP world.

Much of the work that we did revolved around adding better support for client notifications. This lead pep. and Laszlo to build a prototype for browser-based push notifications, which they got working in Converse (the web client that Openfire ships in the ?inVerse? plugin) and the Prosody XMPP server. A goal for this effort is to evolve into a new XEP for web push.

Yours truly is happy to report that a new plugin was created for Openfire, that adds XEP-0357-defined push notifications to Openfire! The code is still somewhat rough around the edges, but I?d love for people to give this a test run, and how the prototype holds up!

Unrelated to the various notification-related efforts, Erik got quite a bit of work done on a refactoring project in the Gajim client, which over the past weekend is growing to be the basis for a refactoring of Gajim?s chat window UI.

I?m thrilled by the prospect of hosting a major, hopefully Openfire-based, hackathon in the near future, that is geared towards a particular industry in the Netherlands. That might be an exciting precursor for another increase in XMPP utilization! More on that later though!

I?ve had a blast! I loved meeting up with everyone, and enjoyed the discussions we had. Let?s do this again, soon!

For other Ignite Realtime release announcements and news follow us on Twitter

Tags: planetjabber 3

User Status Openfire plugin 1.2.1 released

The Ignite Realtime community is happy to announce the immediate release of version 1.2.1 of the User Status plugin for Openfire!

User Status plugin automatically saves the last status (presence, IP address, logon and logoff time) per user and resource to userStatus table in the Openfire database.

This update adds support for longer IPv6 addresses and fixes a few issues with plugin?s build.

Your instance of Openfire should automatically display the availability of the update in the next few hours. Alternatively, you can download the new release of the plugin at the User Status plugin archive page.

For other release announcements and news follow us on Twitter

Tags: planetjabber, openfire 1
Florian Schmaus

Smack 4.3.4 released

The Ignite Realtime developer community is happy to announce the availability of Smack 4.3.4.

This release includes security fixes and improvements. Please have a look at the Changelog for a list of fixes and improvements. As with all patchlevel releases of Smack, you can use it as drop in replacement for previous Smack 4.3 releases because there are no API changes.

We like to thank everyone who contributed by reporting bugs or providing feedback. Special thanks goes to people who contributed code:

$ git shortlog -sn 4.3.3..4.3.4
    18  Florian Schmaus
     2  Oliver Mihatsch
     1  Eng ChongMeng
     1  Georg Lukas
     1  Mohsen Hariri

More information about how to use the 4.3 release series can be found one the Smack 4.3 README.

Tags: planetjabber 1

Spark - Developers needed

You might have noticed that last official release of Spark client was more than two years ago (January 29, 2017). Many have questions about the future of Spark, so i decided to explain a few things and also draw some attention to this project.

TL;DR: there are no active developers working on Spark for some time and there is a number of big issues in the current code blocking new releases.

A bit of history:

Spark has been abandoned a few times in the past. When JiveSoftware released its source one user (student at that time) took the lead developer role - Andrew Seymour (winsrev). Daniel Henniger (jadestorm) also helped to fix a few things. Andrew left the project after he has finished his studies and didn?t have time for side projects. Then there was a team of Walter Ebeling and his two programmers Holger and Wolf. They were using Spark in their company, so there was an incentive for them to make it work better. I think they pushed Spark to 2.6.0 branch and a few releases past that, getting rid of proprietary parts like Synthetica skin and introducing free JTattoo skin framework. Wolf has contributed Roar plugin for popups and actually made a few fixes many years later. Tim Jentz also came along (i think he was an intern and this was his test project). He added a few features and started working on a multi window chat support, but unfortunately never finished it. Probably they switched from using Spark (or XMPP altogether), so they stopped contributing to this project. Not to diminish they work though. Without them there would be no Spark at all. Then cstux took the reign for a short time and also helped push Spark forward (i think there was at least a few betas and maybe 2.6.3 release). There were (and still are) a lot more contributors. As you can see on GitHub activity page (and this only shows history after switching to GitHub from local SVN repo). I can mention Konstantin, Alexander, Mircea. Also Michael Klein did a lot recently for Client Control features (and just a pleasant person to work with). But then there was a long pause. cstux wasn?t active on Spark project anymore, there were a few fixes being added to the source and a few more posted on the forums or in the tracker, but no releases. Actually i have started using nightly build versions in my company, as they were stable enough and had fixes for some annoying bugs in 2.6.3. It was like that for quite a few years (2.6.3 was released in 2011).

Then came April of 2015 and release of Openfire 3.10.0 version (major version after a year old 3.9.3 with some important changes). And it broke compatibility with 2.6.3. Spark was just too old to work with new TLS standards. Although there were workarounds to use Old SSL 5223 port (or keep using old Openfire). But nightly builds were working fine. So, i decided to step in, take the Project Lead role and release the 2.7.0. Now, i wasn?t a developer (and still am not). But i knew internal kitchen for 10 years, i knew current issues, i have posted hundreds of tickets in the tracker, thousands of posts in the forums helping users or working with past developers. And it worked. It was also fun to try new things. Then i started looking for all not yet submitted patches, testing them, even fixing or adding some minor stuff myself (still very proud of an option to use Spark?s version as a resource). Every few months i would release a new minor version with a few more fixes or new features. A few users started to contribute also.

Next year we have released 2.8.0. Spark is built upon Smack API library. But it was using ancient version of Smack at the time. So 2.8.0 introduced newer Smack version and also switch to Java 8 (both in building and bundling). Huge work has been done by @guus (who is also one of the main developers of Openfire). This release was a bit controversial. As new Smack introduced more strict way of dealing with bad certificates. So forums were flooded with users using IP address or wrong server name to login and getting errors. But Spark became more secure this way. Also, it became apparent that Spark needs a better mechanism to deal with certificates. In 2.8.1-2.8.3 a few new options were added to ignore certificate errors for those users who couldn?t fix their setup.

In 2017 we decided to add Spark to Google?s Summer of Code program with a task to create a certificate store management and GUI (and a few more related things). A few students competed and we have picked @Alameyo. Throughout summer he has created a base for this functionality. Although it took longer to finish this work, but now it is in a usable form (with a few quirks still needed to be fixed). As it was an ongoing work, we couldn?t make a release with an unfinished feature.

Earlier this year Ignite Realtime team decided to move from Ant build system to Maven and Spark was selected as a first project (as being fairly less complex than Openfire) to test this path. @guus again did a lot to make it happen. This of course also broke lots of things and made release even less possible.

During the last few years @Flow (and probably Guus also) made an attempt to update Spark to the latest Smack version. Which in turn introduced a few more issues, which are yet to be fixed.

Granted, with bigger team and better management this probably could be avoided. By having separate branches and porting new fixes to development branch, releasing new 2.8.x bugfix releases. But there are no human resources and time for this. Also we kind of hoped for these issues to get resolved faster, so decided to put everything in the current branch (2.9.0).

You can see what major issues are still present and blocking the release (in my opinion) in this list that i have also pinned to Spark Dev forum - Some issues were already fixed and removed from that list. But sometimes it feels like you can find an issue anywhere you poke?

So, my main point of this post - Developers needed
Although we still get small patches here and there, but they kind of go in vain as we can?t do a release. Spark is an old application with a lot of inefficient, deprecated and just confusing code. It also uses old Java Swing technology for its GUI. There were talks at various points to maybe move Spark to AIR, then JavaFx, but that would be an enormous task and it never went past talking. All this is probably making Spark not that attractive to Java developers who want to contribute to open source.

But Spark is still used by many users around the world. It?s UI is clean and nice (and in my opinion better than in some other clients). So, if you are a developer who looks for a project to participate, feel free to do this, contact us in the forums or in the group chat. No matter the size of your contribution (small patch or reworking of a bigger part), you are welcome. Maybe you want to learn Smack. Then fixing Spark?s issues with that library could be a good start. Of course, we would be especially pleased with someone able to devote more time to this project and help fixing all current outstanding issues (we are not offering pay though). Maybe even becoming new Project Lead.

For other release announcements and news follow us on Twitter

Tags: planetjabber 3