To install K2 for the first time or update your existing K2 based website, just grab the latest package here: https://getk2.org/downloads/?f=K2_v2.10.3.zip
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 update instantly.
So what's been added, changed or updated in this new release?
Here's a list of the most notable additions, changes or updates in K2 v2.10.3.
- Finalized the backend UI (building upon the changes that were introduced with v2.10.0 to v2.10.2). From minor alignment issues (e.g. in tag controls or extra field renderings in the item edit form) to having the same UI controls in all component views, modules and menus, across all supported Joomla versions.
- Any file upload control will now properly trigger the right media action when using K2 in a smartphone or tablet. That means you can now use your smartphone's camera to snap a picture and upload it directly to a K2 item. Or a video and upload it to the "Media" tab. The change that is planned for K2 v2.11.0 (the next update) is to change the current tab layout in the K2 item edit form to a linear form and also offer an optional lightweight and mobile/touch-friendly WYSIWYG editor to replace any Joomla (desktop oriented) WYSIWYG editor when editing content through a smartphone or tablet.
- Extra fields: Added new "select extra field group" default option when creating a new extra field (previously the first group was preselected), the "required" option is now set to "no" by default, improved CSV uploading & previewing/rendering, updated the layout for extra fields in the K2 item edit form (emphasized headers, extended spacing for lists/checkboxes to cover for lengthy text options, textareas & WYSIWYG blocks that cover all available horizontal space & are now better to manage content and more).
- Fixed JCE top tabs misalignment which was caused by generic CSS styling.
- A link to the K2 Settings is now available in both the sidebar and button toolbar.
- Introduced new option "Set a request limit for all item listings..." in the "Advanced" section of the "Administrator" tab. To protect your site from serving unintended large requests for K2 item listings (via HTML, Atom/RSS feeds and the JSON API) when the 'limit' URL variable is manually modified, this option allows you to configure a hardcoded limit and prevent your database from potential downtime and thus your site. If you set this option to 0 then no limit is enforced. This option was previously hardcoded in the itemlist views to 100 items.
- Improved client-side caching with the addition of 2 new HTTP headers ("Last-Modified" & "Etag") that allow K2 to better control client-side caching to browsers and server-side caching to proxies like Varnish, Haproxy, Nginx etc. Unlike Joomla content, when caching is only enabled in Joomla's Global Configuration options, K2 will properly respond with adjusted Cache-Control/Expires headers plus the 2 new HTTP headers added. In the end, your Joomla/K2 site will simply be served more efficiently to your visitors.
- To complement the HTTP header changes, K2 now ensures that it will always send the correct Content-Type HTTP header for JSON and JSONP requests, even when caching is enabled in Joomla. The way Joomla handles HTTP headers when caching is enabled is really a long-standing big WTF. TLDR; when caching is enabled in Joomla, components cannot send HTTP headers corrently because Joomla only caches the HTML body that is output by each component view & not HTTP headers. K2 works around this Joomla limitation by passing a custom type script tag in the <head> of the HTML page that defines any custom HTTP headers required by its content & finally the K2 system plugin parses this specialized script tag and sends the additional HTTP headers passed by K2 content.
- Fixed auto-generated feed URLs (broken in v2.10.2). Feeds will now be generated as relative URLs only.
- The canonical URL option can now be entirely disabled.
- Properly set the canonical URL for paginated itemlist views. If an item is crawled by a search engine in "Page 2" of your category listing, then K2 will use that specific page's URL for the canonical URL <head> link.
- Fixed canonical URLs for tag/user views when Joomla is served from a domain subdirectory.
- K2 Content (module): added new "today" option for the popularity filter. This option is handy especially for media sites that only wish to display the day's most popular K2 items (based on hits).
- Fixed the "title" for attachments.
- Link-type extra fields now provide the raw URL as part of their output (either as $this->item->rawValue or $item->rawValue, depending on where they are rendered).
- Removed hardcoded restrictions in the K2 item model (frontend) for the user object. In other words, user details (like the name, avatar etc.) will be usable anywhere in K2 content.
- Improved the K2 URL router's performance. Additional URL manipulation options and performance improvements are planned for K2 v2.11.0.
- Improved compatibility with Falang and resolved the dreaded "pagination missing" issue.
- Translated tag pages with either JoomFish or Falang will now be properly rendered by K2.
- Improved compatibility with PHP 7.4.
- Resolved fatal error when using PHP 5.3 (as reported in https://github.com/getk2/k2/issues/506) to comply with Joomla 3.x's minimum requirements (https://downloads.joomla.org/technical-requirements).
A word on translation packages for K2
It recently came to our attention that some K2 language packs still use the infamous "_QQ_" identifier, which dates back to the days of Joomla 1.6! This identifier was used to render double quotes in language packs but it now causes broken translations for K2 in recent versions of Joomla, as it is no longer supported by Joomla.
As such, in order to resolve this issue once and for all, we now pre-process all language packs and remove that indentifier, ensuring it is replaced by a single quote.
This results in usable language packs for the affected languages (e.g. French, Danish and many others).
Upgrading
If you use v2.7.x to v2.9.x already, then it is (as always) safe to upgrade to K2 v2.10.3. 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).
We also highly recommend that you update AllVideos to version 5.x (the most recent).
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-comparison
There are minor changes in the tag.php and generic.php sub-templates due to the addition of page headings and the search bar (in generic.php).
What's next
The next update (v2.11.0) will finalize the new K2 URL router (more URL manipulation options & better performance) and introduce a new (optional) mobile & touch friendly editor for content editing via smartphones and tablets, which will make content editing easier compared to traditional WYSIWYG editors in Joomla.
There is already a list of other minor improvements for K2 v2.11.0 which will further refine the 2.x series, but no other significant changes will be introduced. These are pushed for K2 v4 (you read that correctly, there won't be a v3) which will be 100% backwards compatible with K2 v2 and as such the upgrade process will be seamsless (as always). K2 v4 will be Joomla 4 compatible & it will introduce major updates to frontend component views & modules, a new modular extra fields system with new extra field types, attachment re-ordering, integration with Joomla's user action logging & privacy features & more.
For now, enjoy K2 v2.10.3!