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.
So what's been added, changed or updated in this new release?
Here's a list of the important things added, changed or updated in K2 v2.10.0.- New, refreshed, backend design for the K2 component, modules and menus. The new design is 98% identical on all currently supported Joomla releases (1.5, 2.5 & 3.x) and improves your workflow substantially, overall making the process of managing content with K2 more enjoyable than ever.
- All modals and content selectors have been re-worked. New unified modal for selecting items, categories, tags or users in K2 or other extensions that integrate with K2.
- Massive code restructuring, as we pave the way towards Joomla 4 compatibility.
- Improved compatibility with PHP 7.2 & 7.3. If you get any "countable()" warnings in your site's frontend, you need to compare your K2 template overrides with the source K2 overrides and adjust any PHP check added next to "count($whatever)" uses.
- Twitter cards & Google Structured Data support added for K2 items in the frontend. Keep in mind that Google Structured Data is supported for 3 content types out-of-the-box (article, news article and blog post). If you wish to utilize the other content types included, you'll need some plugin to extend K2's item form with necessary fields, as required by each content type spec (e.g. a "product" requires a price field, reviews etc.). A commercial plugin will complement this K2 feature in the coming months...
Bugs fixed:
- Fix broken language filter in SQL query in the K2 Comments module
- Fix check for non-valid (placeholder) custom link in K2 Content
- Retrieve unique items in all frontend itemlists
- Updated JS libs, swapped CDNJS with jsDelivr & jQuery CDN (both GFW friendly)
- Properly render content plugins (Joomla & K2) in the item gallery and media output
- Improve plugin parsing in the K2 Content module
- K2 User module: Fix menu fetching in J3.x latest
- Fixed K2 URL router to properly fetch all menu items when used in a multi-lingual J3.x site
- Fetch entire extra field group lists in backend forms
- Fixed CSV field loading in extra field edit form (previously broken)
- Don't enforce a published state for social media sharing buttons on install/upgrade when an option is uninitialized
- Fixed: When you press enter to confirm the tag entry - JCE editor gets enabled/disabled on every Enter press
- Fixed: Meta data set in the menu item should override any item specific values
- Don't attach OpenGraph namespace if it exists already (K2 System plugin)
- Fixed K2 items getting unpublished after being edited in the frontend (even though permissions were correctly set to allow for editing)
- 50% less SQL queries (e.g. for the itemlist view) - sites using InnoDB will benefit even more from these changes
- SQL schema updates (improvements) for new installations
- Optimized theSQL query for retrieving authors in the backend (e.g. in filters, edit forms etc.)
- Added the ?m, ?amp, ?tmpl, ?template params as URL params for distinct caching in all frontend component views
- New unified modal selector (as described earlier) - makes working with modules a lot easier and it's there for 3rd party developers to utilize in their own extensions that interface with K2
- Enlarged SIGPro modal in the item form
- Better checks for same item aliases when Advanced SEF is enabled in K2
- Moved SEO options to their own tab in the K2 Settings
- Added option (in new SEO tab in K2's settings) to control canonical URLs
- Added more plugin events in the category edit form
- Display the language code next to category names on all category dropdowns
- Enlarge the media modal selector & media manager (now covers all available screen space) - see screenshots below
- Improve attachment saving (item form) - resolves naming bug when saving a combination of uploaded files with files selected directly from the server
- Backend - User lists: add avatar preview (as on items, categories etc.)
- Backend - Simplified new extra field group creation in extra field form
- Backend - Show the generic size of an image in the image tab
- Display item tags on the tag.php layout - also added control in K2 Settings for the tag layout
- Sort related items (in item view) by ID, not by date created
- Fix frontend editing permissions related to editing already published items
- Display the attachment filename if no title and/or title attribute is set (previously showed as blank in the frontend)
- Google Structured Data - can be overridden per category/item
- Twitter card support
- Change comment sorting in mod_k2_comments' latest option by comment ID
- Allow multiple itemform.php overrides per "theme" (sub-template) folder
- Removed Google+ button
- ...and replaced with LinkedIn button
- Updated FaceBook like button and added "Share" option
- Enabled image timestamp by default on modified items
- Slight improvements to the comments report function in K2
- Load frontend editing using the system template (better template compatibility & less CSS conflicts)
- New sidebar design
- Normalized forms/identity overall for a more enjoyable content management workflow
- Shorten filters length in backend lists
- You now get more screen "real estate" thanks to these changes
- Added a "no content" placeholder message when there is no data to show (e.g. no tags used)
API / For developers:
- Combined all HTML/Feed/Raw/JSON views for a unified data output set. Previously there were inconsistences on the data output e.g. between HTML (site) and JSON views.
- JSON/Feeds: Dynamically change the pagination (item limit) but protect from large limit requests - Allowed for simplified paginated results using "page"
- Set image per feed item as an enclosure object
- Add "onAfterK2DeleteAttachment" event for K2 plugins when deleting an attachment
- Set Google Structured JSON data as param in the item (for extending with plugins et al)
- Since dozens of files were refactored, we took the opportunity to reformat the code in all PHP files according to PSR-1/2. It's damn poetry I tell you :)
- HTML overrides have also been reformatted to be properly indented.
- Spaces have won over tabs. Don't debate it.
Why the hell we still support Joomla 1.5 & 2.5 (along with 3.x)
Cause Joomla was a migration between these versions and not an upgrade.Lots of companies, especially those who invested in expensive custom extensions have no "real" need to update to the latest Joomla releases as long as their servers are secure. And with K2 (being one of the most secure Joomla extensions ever), they can afford to do that. Plus, whenever they decide to upgrade, they won't have to worry about data migration if their data is on K2 - it's just a matter of exporting the K2 DB tables and moving the static files (images, videos etc.) to a new Joomla/K2 installation.
Did I mention Joomla 1.5 still loads faster than Joomla 3.x? There, I did...
(And wait till we add Joomla 4 and *cough* WordPress *couph* to the list)
Upgrading
If you use v2.7.x to v2.9.x already, then it is (as always) safe to upgrade to K2 v2.10.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.10.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.10.0).
DO NOT uninstall any older K2 version first, as this will wipe out your K2 content!
HTML & CSS Template Overrides
Have a look here: https://getk2.org/documentation/tutorials/77-k2-template-override-package-comparisonThere are currently only PHP 7.2 compatible changes plus the swapping of Google+ with LinkedIn in social sharing buttons that need to be ported to existing overrides (primarily checks for "count()").
What's next / Goals
K2 has surpassed 3.5 million downloads already. It powers the top Joomla sites worldwide, especially the high traffic ones.The goal for K2 is to be the killer app to use Joomla for.
We'll provide more details in the coming days through another blog post.
Enjoy K2 v2.10.0!
(Edited with minor corrections & additions)