---
title: "3.0 Changes"
manual: "Academic Programs"
version: "main"
source: "Changelog/3.0/Index.rst"
rendered: "2026-09-27T09:40:45+00:00"
noindex: true
---

# 3.0 Changes {#3-0-changes}

**Table of contents**

-   [Breaking Changes](#breaking-changes)
-   [Features](#features)
-   [Deprecation](#deprecation)
-   [Important](#important)

## Breaking Changes {#breaking-changes}

-   [Breaking: Program pages render their content without a global path](Breaking-ContentLoadSetRemoved.html#breaking-program-pages-render-their-content-without-a-global-path)
-   [Breaking: Images render as a responsive picture](Breaking-ImagesRenderAsPicture.html#breaking-images-render-as-a-responsive-picture)
-   [Breaking: The partial Program/Categories.html has been removed](Breaking-ProgramCategoriesPartialRemoved.html#breaking-the-partial-program-categories-html-has-been-removed)
-   [Breaking: The content type academicprograms_programfinder is taken](Breaking-ProgramFinderRegisteredUpstream.html#breaking-the-content-type-academicprograms-programfinder-is-taken)
-   [Breaking: Program pages render inside the site layout](Breaking-ProgramPageRendersInsideTheSiteLayout.html#breaking-program-pages-render-inside-the-site-layout)
-   [Breaking: Record and category icons follow the colour scheme](Breaking-RecordAndCategoryIconsFollowTheColourScheme.html#breaking-record-and-category-icons-follow-the-colour-scheme)
-   [Breaking: Removed TYPO3 v12 support](Breaking-RemovedTYPO3V12Support.html#breaking-removed-typo3-v12-support-1)

## Features {#features}

-   [Feature: Program filter selections have a URL](Feature-FilterSelectionsHaveAUrl.html#feature-program-filter-selections-have-a-url)
-   [Feature: Integrators choose the filters of the program list](Feature-ListFilterTypesAreSelectable.html#feature-integrators-choose-the-filters-of-the-program-list)
-   [Feature: Named crop variants for program page media](Feature-NamedCropVariants.html#feature-named-crop-variants-for-program-page-media)
-   [Feature: The plugins can render the content element header](Feature-PluginsCanRenderContentElementHeader.html#feature-the-plugins-can-render-the-content-element-header)
-   [Feature: The plugins dispatch the plugin view event](Feature-PluginViewEvent.html#feature-the-plugins-dispatch-the-plugin-view-event)
-   [Feature: Integrators choose the facts of a program](Feature-ProgramFactsFieldList.html#feature-integrators-choose-the-facts-of-a-program)
-   [Feature: A program finder content element](Feature-ProgramFinderContentElement.html#feature-a-program-finder-content-element)

## Deprecation {#deprecation}

## Important {#important}

-   [Important: The category filter accepts a list of uids](Important-CategoryFilterAcceptsAList.html#important-the-category-filter-accepts-a-list-of-uids)
-   [Important: The list demand is not part of the cache hash](Important-ListDemandIsNotPartOfTheCacheHash.html#important-the-list-demand-is-not-part-of-the-cache-hash)
-   [Important: The program list keeps its sorting when a filter carries none](Important-ListKeepsItsSortingWithoutASubmittedOne.html#important-the-program-list-keeps-its-sorting-when-a-filter-carries-none)
-   [Important: List ordering ties are broken by uid](Important-ListOrderingTiesAreBrokenByUid.html#important-list-ordering-ties-are-broken-by-uid-1)
-   [Important: Manual order can be reversed](Important-ManualOrderCanBeReversed.html#important-manual-order-can-be-reversed-1)
-   [Important: Page media follows the reference sorting](Important-PageMediaFollowsTheReferenceSorting.html#important-page-media-follows-the-reference-sorting-1)
-   [Important: The page module shows the page categories](Important-PageModuleCategorySummary.html#important-the-page-module-shows-the-page-categories)
-   [Important: The page template name of the academic program page type is set explicitly](Important-PageTemplateNameIsSetExplicitly.html#important-the-page-template-name-of-the-academic-program-page-type-is-set-explicitly)
-   [Important: The page TSconfig directory is now spelled TSconfig](Important-PageTsConfigDirectoryRenamed.html#important-the-page-tsconfig-directory-is-now-spelled-file-tsconfig)
-   [Important: The shipped route enhancer configuration can be imported](Important-RouteEnhancerConfigurationIsValid.html#important-the-shipped-route-enhancer-configuration-can-be-imported)
-   [Important: The route enhancer declares no default sorting](Important-RouteEnhancerKeepsTheDefaultSorting.html#important-the-route-enhancer-declares-no-default-sorting)
-   [Important: Sorting options read the plugin override on TYPO3 v14](Important-SortingOptionsReadThePluginOverrideOnTypo3V14.html#important-sorting-options-read-the-plugin-override-on-typo3-v14-1)
-   [Important: The sorting select shares the option rendering](Important-SortingSelectSharesOptionRendering.html#important-the-sorting-select-shares-the-option-rendering)
