K2 Blog

K2 is the popular, powerful and awarded content extension for Joomla! with CCK-like features developed by JoomlaWorks, makers of fine Joomla! extensions since 2006. It provides an out-of-the box integrated solution featuring rich content forms for items (think of Joomla! articles with additional fields for article images, videos, image galleries and attachments), nested-level categories, tags, comments, a system to extend the item base form with additional fields, a powerful plugin API to extend item, category and user forms, ACL, frontend editing, sub-templates and a lot more!
  1. K2 v2.10.3 now available

    K2 v2.10.3 is now available to download for Joomla versions 1.5 to 3.x. This is a maintenance & bugfix release, which refines the backend user interface (building upon the changes that were introduced with v2.10.0 to v2.10.2), improves client-size (frontend) caching & resolves broken auto-generated feeds URLs.

    We urge everyone using K2 v2.7.0+ to upgrade to this new release.

    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!

  2. K2 v2.10.2 released - now with a 100% mobile-friendly backend user interface!

    K2 v2.10.2 is now available to download for Joomla versions 1.5 to 3.x. This is a maintenance & security release: it concludes the backend user interface changes that were introduced with v2.10.0 and is now 100% mobile-friendly and it also addresses a (low severity) vulnerability that was discovered in a third-party library used.

    We urge everyone using K2 v2.7.0+ to upgrade to this new release.

    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.2.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 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.2.

    • Fully re-worked backend user interface (UI) that is now 100% mobile-friendly. We'd like to think it's the best looking -and more importantly the most practical to use in a mobile device- Joomla component. The new UI has been carefully crafted and tested on multiple devices, on all K2 views, including menus and modules, for a true mobile app-like feel. If you manage content on the go, then you'll love using K2 on smartphones and/or tablets.
    • Fully revamped the "batch operations" modal in the backend UI.
    • Flatpickr has been reverted to the latest version in the 4.5.x series (v4.5.7). This resolves a bug which made deleting a calendar date impossible. Once the developers of Flatpickr resolve this issue, K2 will adopt the new version in the next update.
    • Resolved a bug where K2 items with no images would display with an empty <img /> tag in the K2 content module and on custom K2 template overrides (with relaxed image object checks).
    • Addressed a (low severity) vulnerability that was discovered in the third-party PHP library "class.upload.php" that K2 uses for file uploads. Under certain server setups (e.g. fresh Ubuntu 18.04 installation with Apache, PHP and MySQL installed from core repos) an attacker could upload certain file types as images, bypassing the library's security checks. Keep in mind that depending on your server's MIME configuration, you may not be affected at all by this vulnerability (e.g. cPanel-based  or Plesk-based servers are not affected). A sincere thank you to Jinny Ramsmark (of Defensify AB) for discovering the vulnerability and for letting us know in advance. You can read the related reports for CVE-2019–19576 and CVE-2019–19634 in Jinny's blog.
    • Re-instated the "edit Joomla user" toolbar button in the K2 edit user form which was previously hidden in Joomla 3.x only.
    • Fixed various backend UI bugs that were introduced in v2.10.1, e.g. the filters in the K2 modal selector are no longer getting cut-off by the modal header.
    • System messages will now hide after 3 seconds (instead of 5 in v2.10.1).
    • New flat-style K2 favicon used in Joomla 1.5 & 2.5.

    Upgrading

    If you use v2.7.x to v2.9.x already, then it is (as always) safe to upgrade to K2 v2.10.1. 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 major update (v2.11.0 - around Jan/Feb 2020) will introduce a more modernized (& responsive out-of-the-box) frontend, hopefully with zero dependencies to any 3rd party JS library. This basically translates to improvements for all frontend views to share a common structure, which will make creating your own set of K2 template overrides an even easier task, especially if your category, tag, user etc. views share the same design and features.

    These changes will also be coupled with some content changes (e.g. the removal of the item toolbar in the item view). As always, ful backwards compatibility will allow for safe upgrades to the newer release.

    Enjoy K2 v2.10.2!

  3. Retiring the K2 templates section

    As we're preparing to launch a new website for getk2.org, we have decided to make an important change in the K2 Extensions Directory (KED).

    We stopped accepting new entries for templates in the KED about 2 weeks ago and this week we unpublished all template entries. So the KED now consists only of extensions that support or interface with K2, plus the translations which are automatically created from K2's project on Transifex.

    The new getk2.org will have a special section to list all Joomla template providers that support K2. So if you wish to get listed there, just send us a message through this site's contact form. To the template providers who decide not to get listed in this new section of our site, we thank you for having supported K2 so far.

    Beyond these changes, we've started a new curated showcase section which replaces any old (and some outdated) listings. The plan is to list websites that really make a great case for the K2 showcase, not just any Joomla site built with K2 (there are hundreds of thousands either way). Priority will be given to sites from well-known brands (local or international) and sites that are exceptionally designed & developed (even if they are just small corporate site presentations).

    If you've built (or know) a K2 site that matches these simple requirements, let us know - either on social media or using this site's contact form.

  4. K2 v2.10.1 released

    K2 v2.10.1 is now available to download for Joomla versions 1.5 to 3.x. This is a maintenance release that addresses a few bugs that were introduced with v2.10.0 released a couple weeks ago and we urge everyone using v2.10.0 to upgrade to this new release..

    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.1.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 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.1.

    • Improves and refines the backend user interface, following the changes that were introduced with v2.10.0. Messages follow a uniform (app-like) style on all supported Joomla releases and they auto-hide after 5 seconds.
    • The K2 Settings page has been re-organized into more logical groups, to make configuring your K2 site even easier. A new option has also been added to disable item hit tracking in the frontend (e.g. for those that use caching or -most commonly- an external analytics system).
    • The search view (for K2 results only) has ben upgraded to include a search bar. Previously you were forced to combine that view with the search option of the K2 Tools module to have a working "search & browse" functionality for your K2 content.
    • Meta tags (common, opengraph/social etc.) have been re-worked to produce a uniform set on all K2 views (minus any elements that are missing by default - e.g. a tag view cannot have an image meta tag for Facebook/Twitter sharing).
    • Updated all 3rd party JS libraries and elFinder (which powers the K2 Media Manager) to their latest versions.
    • Flatpickr, the JS widget for date insertion in K2 has been configured to also load a localized version if you use a language different to Engish. So if your backend is in French, Flatpickr language strings (e.g. the days) will also load in French.

    In more detail...

    Bugs fixed:

    • Fixed the main K2 menu router as the changes introduced in 2.10.0 left some multilingual Joomla with partially broken URLs (specifically to content pointing to secondary languages).
    • Fixed a permissions bug in Joomla 1.5 which caused "managers" not to be able to assign a different author to a K2 item.
    • Fixed a visual bug where the new K2 sidebar was being loaded in the item edit form's extra fields when switching category to load a different set of fields.
    • Missing or incomplete meta tags have been fixed. All views will now display common, opengraph (Facebook) and Twitter meta tags based on this inheritance pattern: category settings > item settings > menu settings. In other words, any changes to meta tags in the menu items will now always prevail over any other setting. For any missing meta tag content, K2 will generate automated content (e.g. for the tag view when a tag does not belong to a menu item and thus it does not contain data like meta description or keywords) and supplement any missing details from whatever is configured in Joomla's global configuration.

    Backend:

    • Re-organized all K2 settings into new logical groups to make initial K2 configuration easier. The plan is to further extend the options available especially for the frontend layouts/views to allow e.g. for using a grid layout (setup) for the tag view or for loading a different image size for the search results. In other words, bring the "generic" layouts closer to their category layouts in terms of configuration and templating flexibility.
    • New styling for system messages, now common to all Joomla versions supported by K2. These messages will also auto-hide after 5 seconds.
    • Fixed list offset in smaller screens or when tag filtering is enabled in "Items". The list will now be properly placed when filters increase in height.
    • Further layout/design improvements to all edit forms, especially those for item, category, user and extra field.
    • Overall it's the most refined K2 backend ever built. What is planned for the next update is to swap the "move" feature under "Users" to the more flexible "batch" dialog which is also used in "Items" and "Categories".

    Frontend:

    • Major improvements in meta tags (as referenced earlier).
    • Search bar in K2 search results.
    • Page heading for date/search/tag listings.
    • The pagination container now wraps both navigation and "page X of Y" to div containers to make different layouts easier (e.g. stacked or side by side) with pure CSS overrides.
    • Feeds now have a personalized title instead of the boring "RSS 2.0" or "Atom 1.0" which has been a commonplace in Joomla components for over a decade.
    • Hit tracking for items can now be disabled, especially for sites that don't need to sort items by popularity, sites with caching enabled or just sites that use external analytics. Disable hit tracking will also improve performance slightly, especially for sites still with K2 still on MyISAM tables (less transactions for the items table).

    API / For developers:

    • The item image object now holds more details to allow better image manipulation, e.g. if you wish to build custom meta tags in your K2 template overrides you can easily grab the file name path sans the size suffix. Just do a var_dump on the $item->image or $this->item-image objects to get the additional properties and use them however you like.
    • Structured data (which were introduced in v2.10.0) can also be overriden by third-party extensions to allow for different data types to be created/integrated.

    Upgrading

    If you use v2.7.x to v2.9.x already, then it is (as always) safe to upgrade to K2 v2.10.1. 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.10.2) will finalize the backend UI to be completely responsive, even for very small screens. Expect that within 30 days.

    That was the plan all along ever since the refreshed backend UI was introduced in K2 and frankly this is made a lot easier with the use of CSS Grid properties, which are already partially used after 2.10.0. For example, this is how we got K2 in Joomla 2.5 to look so nice in module parameters, menus etc. without overriding the core parameter renderer.

    Then we're onto version 2.11.0 (Jan/Feb 2020) with more refinements primarily in the frontend. This basically translates to improvements for view layouts & more control options to make setup easier and more flexible. These changes will be coupled with some design changes (e.g. the removal of the item toolbar in the item view).

    Of course in every update we'll always do micro-improvements and refinements to existing features (e.g. new filters, view/layout options etc.).

    Enjoy K2 v2.10.1!

  5. K2 v2.10.0 released
    K2 v2.10.0 is now available to download for Joomla versions 1.5 to 3.x. This release introduces a refreshed backend design as well as feature improvements or additions (like Google Structured Data) and as always, performance improvements everywhere.
    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.0.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 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...
    In more detail...

    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)
    Performance:
    • 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
    Backend:
    • 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
    Frontend:
    • 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)
    Backend UI Redesign:
    • 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)
    For the OCD folks (like your truly):
    • 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).
    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 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)