The process to update K2 is fairly simple. If you are on Joomla 1.5, grab the zip file from the link above and install it on top of your existing K2 version. If you are on Joomla 2.5 or 3.x, go to the Joomla update manager, purge the update cache, re-check and you'll see the new release available to instantly update. If you are still on Joomla 1.6 or 1.7 or 2.5, you're also still listening to cassette tapes (kewl!) - but why not do yourself a favour and upgrade to Joomla 3.x? It's easier than you think.
So what's been added, changed or updated in this new release in more detail?Here's a list of the important things added, changed or updated in K2 v2.9.0.
- Lots of code restructuring as we pave the way towards Joomla 4 compatibility
- Frontend editing improvements & fixes. Important: If your template has an itemform.php K2 override that you did not base off at least K2 v2.8.0, please delete it as it will load an older version of the frontend editing item form and thus break frontend editing.
- Fixed non-latin characters being replaced by dashes in attachments (after uploaded)
- Removed Google Search option (deprecated API)
- Remove duplicate items when fetching item lists filtered with tags in mod_k2_content
- SQL query improvements in modules & related items (in the item view). K2 Content module performance improvements range between 20-30%. The performance boost will be especially visible on sites with heavy traffic and lots of K2 Content module instances published.
- Extra fields: Fixed relative path for images when inserted via extra fields - it would previously output the wrong file path if Joomla was installed in a subfolder of the public www root.
- Output the extra field alias as class name in all extra field loops (for targetted CSS styling)
- For developers: Fixed single category selection for new k2ModalSelector element/field - you can re-use this element/field to allow inserting items, categories or users in your own extensions by only specifying the "context" of the selector (see how it's implement for example in mod_k2_content).
- For integrators: Allow using ?template=X to load the correct template (view) overrides in K2 - very handy when creating a new template on an existing Joomla/K2 installation
- Fixed in which positions backend modules are configured in Joomla 3.x upon installing K2
- Fixed existing extra field data being nulled in the database when frontend editing for extra fields is disabled
- Additional security hardening for the K2 Media Manager (elFinder)
- Joomla 1.5 bug fixes since 2.8.0
- Fix URL scheme matching in item model (frontend)
- Updated all 3rd party dependencies to their latest versions
- Still 100% compatible with Joomla 1.5 and 2.5.
- Many, many other bug fixes and improvements under the hood.
UpgradingIf you use v2.7.x or v2.8.x already, then it is (as always) safe to upgrade to K2 v2.9.0. If you use a version before 2.7.0, refer to the 2.7.0 upgrade notes.
If you already have your own K2 CSS and/or HTML template overrides then there's nothing to worry about. If you use "stock" K2 CSS and HTML template overrides, just browse your site after the upgrade to make sure nothing's misalligned. In any case, exceptions may occur but they are usually easy to resolve. If you need any help, just post about your issue in the K2 Community Forum.
Since the release of K2 v2.7.0 we have added an update notification for new releases of K2 within the K2 backend (viewed only by super admins) to make it easier to spot new releases and update accordingly.
Before upgrading, it's always a good idea to get a backup of your site (just in case):
- To upgrade in Joomla 1.5, just install v2.9.0 on top of any existing K2 installation.
- To upgrade in Joomla 2.5 or 3.x, either install on top (as with Joomla 1.5) or use Joomla's extension updater (you should already see the notification for v2.9.0).
HTML & CSS Template OverridesHave a look here: https://getk2.org/documentation/tutorials/77-k2-template-override-package-comparison
There are currently no changes that need to be ported to existing overrides.
What's nextK2 v2.9.1 will come within October as we have identified 2 bugs which (although not a deal breaker) must be dealt soon. The first is related to frontend editing and more specifically published items get unpublished when edited by their authors, even though they should remain published (per K2's ACL). The other issue relates to how meta tags are stored in Joomla 3.x (now it's a string and it should be a JSON object). Along with these fixes, we'll be adding invisible reCaptcha and if reCaptcha v3 is ready by then, it'll also be implemented as an option.
Next versions will also come every 1-2 months as we're in the phase of refactoring/modernising the codebase and slowly moving towards Joomla 4 compatibility. It also means feature normalization, e.g. offer a "batch" operation mode on all backend list views, as well as improvements in the frontend layouts by adopting the new CSS Grid rulesets.
The new code changes will also make K2 more resilient to constant API changes in the Joomla CMS & framework. It'll also open the path to port K2 to other CMSs as well.
Remember that K2 does suffer from a ~10 year technical debt which means for example that code which should exist in a model is now found in a view, causing overall structural inconsistencies. The Joomla MVC is fine alright but we can do better. And by restructuring the codebase we can speed up new feature adoption (e.g. an extensible extra fields system, a better plugin system, a more productive backend UI and so on) and significantly improve performance.
It's 2018 and K2 still reigns as the easiest and most flexible way to truly manage any kind of content in Joomla, without giving yourself headaches with options you don't understand or dozens of overrides that you don't need. Keeping things as simple as possible, with a workflow that makes sense and template overrides to master any layout/design you want.
K2 Pro is also in the works for an initial lauch in the coming October. K2 Pro will be a suite of extensions complementing K2 with additional functionality ranging from event management, to mapping, ads, better/more flexible content modules etc. etc.
Enjoy K2 v2.9.0 :)