The first release of December delivers bug fixes and compatibility improvements. We are also shipping foundations for the New Notification Engine based on Server Sent Events, which will remain hidden under the hood until alpha testing is finished.
If you are on version 2 already: simply wait for all PeepSo plugins to show that the update is available and then update them all. We deploy our plugins through two independent systems, it usually takes a few minutes for all updates to propagate.
In PeepSo 2 the order of updates is no longer important – just make sure at the end of it everything has the same version number. If you happen to update Foundation first, the child plugins will still remain active (although their functionality won’t) and you will be able to update them as well.
If you are using the PeepSo Theme – Gecko update it too. A new 126.96.36.199 BETA was released too.
PeepSo Bug Fixes
The last quarter of 2018 and most of 2019 will be dedicated to speed, scalability and modernization of the code under the hood. As we put a hold on new features that are not directly in line with these three priorities, we still carefully listen to bug reports and have a chunk of our manpower reserved only for these.
In this release we fixed scenarios where admins were unable to see posts with “friends” privacy, made sure PeepSo links no longer send 404 headers when using the experimental SEO URLs, and patched two final little bugs related to albums combined with PHP 7.3 and WordPress 5.0.
As the backend engineers busy themselves with big architectural work, our frontend magician Matthew keeps working on our new theme. Although still in beta, Gecko Theme 188.8.131.52 delivers better page builder compatibility, full width options, some new color settings, multi-level main menu and more.
You can read the complete changelog here.
Server Sent Events
In essence, the browser will open a single permanent connection (shared between all tabs) to the server and be ready to receive events instead of permanently bombarding the server with timed AJAX requests.
The SSE handler is written in pure PHP and without any database, to avoid WordPress and MySQL overhead. Event triggers are simple text files placed in specific directories identified with user ID and unique token generated for each browser separately. When an event is triggered via the SSE pipe, the legacy AJAX call is performed in order to actually obtain the information. This hybrid approach allows us to deliver a feature that brings a positive performance change in high-load environments without having to wait for a complete redesign of most of the systems involved.
This feature will only work on PHP 7.2 and newer. It will bring benefits to bigger communities where the need of constant back and forth communication between the server and hundreds or thousands of logged-in users tends to become a bottleneck. It will require some custom server configuration (to allow multiple keep-alive connections and more relaxed timeouts, so it won’t be very beneficial on shared hosting environments (which you should not be using anyway if your community reaches a certain size). We are still in closed alpha mode, measuring the performance.
This and license / update improvements in 2.0.0 are only a small foray into the bigger picture of architecture changes coming to our plugins. Next months will bring a new event-based notification engine capable of hooking custom actions to events (think mobile push notifications hooked into events in PeepSo). Our database design needs to shift away from WordPress tables to custom structure. All the PeepSo AJAX needs to be rewritten into WP REST API, and new endpoints need to be written for full separation of data from presentation. The list is pretty long but everything in is is either about making PeepSo faster, reaching into the mobile app world – or both.
WordPress 5, PHP 7 and more
The WordPress industry is about to experience a combination of three major events.
WordPress 5.0 is around the corner and marks the first major release in 4 years.
Additionally, as I detailed previously in a dedicated article, PHP 7.0 has reached End of Life today, and PHp 5.x will follow in 4 weeks. These versions will not be provided with any security fixes anymore – which immediately makes them a threat to the security of your website.
The demise of PHP 5 is the first PHP major version End Of Life event in a decade -last time it happened in 2008 when PHP 4 was written off.
On top of that, PHP 7.3 is almost ready. That leaves us with three officially supported versions: PHP 7.1, PHP 7.2 and PHP 7.3
(Wind Of Change now plays in your head)
Our team is dedicated to staying ahead of the curve when it comes to new technology, so it might be no surprise to hear that we have been ready for these things long before they are actually happening.
PeepSo and WordPress 5.0
We have routinely tested PeepSo on the bleeding edge nightly builds from the very beginning. We have found a handful of small bugs and patched them weeks or months ago. As I am writing this, WordPress 5.0 has a status of RC1 and we are completely ready for it.
PeepSo and PHP 7.3
Similar to WordPress 5.0, we have been running PeepSo on PHP 7.3 since the first Release Candidate. We only found a couple of minor issues and fixed them all. As far as PeepSo is concerned, it’s perfectly safe to upgrade to PHP 7.3 when it comes out – but I can’t speak for potential plugin / theme conflicts as not every developer stays up to date with the industry standards.
PeepSo and PHP 5.6 / 7.0
I can’t stress that enough: staying on these old versions is a very bad idea – since they are no longer patched, anyone below 7.1 is a sitting duck for hackers.
Nevertheless, we are not completely dropping support for the legacy PHP versions yet. We will be happy to do it as soon as PHP 5 market share melts to a reasonable low – only then we will be able to start using PHP7 syntax without breaking anything.
However, some new PeepSo features will not be supported on PHP below 7.1 (starting with Server Sent Events). You will be simply unable to turn them on.
It is very likely that new plugins (Pages, Events, etc) will be written for PHP 7.1 and up and faced with PHp 5.x or 7.0 they will refuse to activate.
We will also be very reluctant to fix bugs specific to legacy PHP versions that reached End Of Life, simply because we have to draw a line between legacy and performance somewhere. We have a lot of new code to (re)write for the benefit everyone in the PeepSo family in terms of speed, scalability and mobile apps – and we need to keep our eyes forward into the future as much as possible.