Skip to content

Latest commit

 

History

History
528 lines (381 loc) · 37.1 KB

CHANGELOG.md

File metadata and controls

528 lines (381 loc) · 37.1 KB

VHS Change log

3.0.1 - 2016-07-29

  • #1067 Argument subject on v:format.preg.replace made optional to allow usage with tag content / inline
  • #1068 Page-related ViewHelpers operable in backend context
  • #1073 Bug fix to show sub menus with single item on root level pages
  • #1074 Bug fix to remove unintentionally shown pages from menus
  • #1077 Added JSON_HEX_APOS to default JSON encoding parameters in v:format.json.encode

3.0.0 - 2016-07-12

Cosmetic change: unmodified PSR-2 CGL and shorthand array syntax adopted.
Contributions must now respect this CGL (`phpcs` as well as `phpcbf` are provided
in the `vendor/bin` directory once installed and can be ran using `--standard=PSR2`).
  • ❗ NEW DEPRECATIONS AND REMOVED DEPRECATED CODE

    • 49e2295 Deprecated VHS typoLink ViewHelpers (use core versions instead)
    • 'includeHidden', 'showHiddenInMenu' attributes deprecated on all Menu ViewHelpers
    • 'linkAccessRestrictedPages' was deprectaed in favor of 'showAccessProtected' on all Menu ViewHelpers
    • 'resolveExclude', 'showHidden', 'excludeSubpageTypes' attributes removed from all Menu ViewHelpers
    • Removed FluidTYPO3\Vhs\Service\PageSelectService (use FluidTYPO3\Vhs\Service\PageService and TYPO3 native TYPO3\CMS\Frontend\Page\PageRepository instead)
    • #1023 RegEx related ViewHelpers changed
    • v:condition.string.preg removed and v:variable.pregMatch should be used instead
    • v:format.regularExpression removed and v:format.pregReplace should be used instead
    • v:variable.pregMatch
    • v:format.pregReplace
    • #1003 v:switch and v:case ViewHelpers removed (use core versions instead)
    • 7ca6865 Argument arguments on Asset ViewHelpers removed (use variables instead)
  • #970 PHP7 is supported

  • TYPO3 8 supported

  • #974 'allowMoveToFooter' attribute removed from asset ViewHelpers

    • use 'movable' instead
  • fc1baf9 'name' attribute removed from v:variable.extensionConfiguration

  • #1003 v:switch and v:case ViewHelpers removed

    • use f:switch and f:case from Fluid itself
    • check the notes from PR #1003 for migration instruction
  • #987 Major refactoring of menu ViewHelpers

    • WIP: the list of changes and work on this isn't complete yet. Feel free to add more items here to provide a better overview of the work, which was done.
    • All the menu ViewHelpers are relocated from v:page.menu.[vh-name] to v:menu.[vh-name]
    • Removed FluidTYPO3\Vhs\Service\PageSelectService (use FluidTYPO3\Vhs\Service\PageService and TYPO3 native TYPO3\CMS\Frontend\Page\PageRepository instead)
    • v:condition.page.hasSubpages
      • 'includeHiddenInMenu' attribute added - include pages hidden in menu
      • 'includeAccessProtected' attribute added - includes pages, protected by FE groups constraints, see #976
      • 'includeHidden', 'showHiddenInMenu' attributes deprecated
    • All the menu ViewHelpers
      • 'showAccessProtected' attribute added - if TRUE links to access protected pages are always rendered regardless of user login status
      • 'classAccessProtected' attribute added - optional class name to add to links which are access protected
      • 'classAccessGranted' attribute added - optional class name to add to links which are access protected but access is actually granted (user is logged in with corrrect FE usergroup)
      • 'resolveExclude', 'showHidden', 'excludeSubpageTypes' attributes removed
    • All the menu objects, used in Fluid manual menu rendering
      • got 'accessProtected' property, which indicates, that page is protected by FE groups constraints
      • got 'accessGranted' property, which indicates, that page is protected by FE groups, but currently logged in user can access the page
      • 'hasSubPages' property was renamed to 'hasSubpages' (lowercase P)
    • Source commit with more info
    • Followup no. 1
    • Followup no. 2
    • Followup no. 3
  • #1024 v:page.link functionality was aligned with same link creation behavior, which was introdiced in menu ViewHelpers, regarding shrotcuts and protected pages

    • Received new attributes 'showAccessProtected', 'classAccessProtected', 'classAccessGranted', 'useShortcutUid', 'useShortcutTarget', 'useShortcutData'
    • 'linkAccessRestrictedPages' was deprectaed in favor of 'showAccessProtected'
    • v:page.link
  • #1022 All the possible ViewHelpers are static compilable, which results in major performance improve

  • #955 v:unless ViewHelper added

    • Inverted f:if which only supports negative matching
    • v:unless
  • #988 v:iterator.diff ViewHelper added

  • #1018 v:iterator.unique ViewHelper added

    • Accepts a subject and returns or assigns a new uniques-filtered array
    • v:iterator.unique
  • #1019 v:iterator.column ViewHelper added

    • Allows doing everything that array_column in PHP does but also supporting Iterator as input
    • v:iterator.column
  • #958 v:page.header.alternate got 'addQueryString' attribute

  • #980 v:media.youtube got 'enableJsApi' attribute

  • aff7034 v:variable.extensionConfiguration returns a complete extension settings in case NULL provided as 'path'

  • 6851420 Image and ImageInfo ViewHelpers cna now correctly recognize a FileReference, supplied as 'src', so no need to set up manually 'treatIdAsUid' and 'treatIdAsReference' attributes

  • #966 Fixed links of type "external" in menu ViewHelpers

  • #981 Fixed player_id argument for Vimeo player

  • #982 Fixed rendering of restricted pages by menu ViewHelpers

  • #984 Fixed 'caseSensitive' behavior of v:format.replace

  • #994 Fixed deprecation warnings with TSFE->getPageRenderer()

  • #995 Fixed 'addQueryString' behavior in v:page.languageMenu

  • #997 Fixed path to SVG flag icons in v:page.languageMenu

  • Easter egg: over 1000 commitments into repository!

  • #1001 v:format.placeholder.image now loads the placeholder via https: https://placehold.it

  • #953 v:page.resources.fal respects enableFileds, when sliding records by rootline

  • #1015 v:render.template is aware of TYPO3 7 paths definition (layoutRootPaths and partialRootPaths)

  • #1042 v:page.header.canonical includes query string, like with addQueryString

  • #1044 Fix duplicate content in workspace previews

  • 8085f56 v:media.source respect fully qualified uris

  • 456d709 src-set of image ViewHelper works correctly with treatIdAsReference

  • 4ea3cb2 Bug fix for incorrect type cast causing translated FAL records to be incorrectly detected

  • f38acef Bug fix for returned variable in v:resource.collection

  • 62428e8 Security condition ViewHelpers fixed to work in compiled templates

  • 5e17260 Bug fix for interpretation of movable argument on Assets

  • 9c739c7 Bug fix to localise all FAL records individually

  • efa01ee Bug fix to exclude DELETED placeholders for FAL records when in workspace mode

  • [2614c18[(https://github.com/FluidTYPO3/vhs/commit/2614c189ba08cf1b58c9f9fbbd250b7114e593f9) Bug fix to make image sub-ViewHelpers function with changed parent class

  • #1065 Updated deprecated usage of PageRenderer

2.4.0 - 2015-11-19

  • TYPO3 7 LTS supported

  • ❗ No more testing for PHP 5.4

  • ❗ Support of TYPO3 6.2 dropped

    • For TYPO3 6.2 based projects there will be a legacy branch
  • #829 'allowMoveToFooter' attribute became deprecated in asset ViewHelpers

    • use 'movable' instead
  • #856 'pageUid' attribute removed from v:render.request

    • In fact it was never used, so shouldn't break your code, unless you explicitly defined it
    • v:render.request
  • #906 #907 #908 #909 #910 #911 #912 #913 All the condition (v:condition.*) ViewHelpers are static compilable

    • Makes these ViewHelpers compatible with TYPO3 7.3+
    • Improves Fluid rendering speed
    • Discover Static compilable
  • #875 Responsive images support added

    • v:media.image got 'srcset' attribute, which contains CSV or Traversable with image widths
    • v:media.image got 'srcsetDefault' attribute, expected to contain default width, which should be used as fallback for non-srcset aware browsers
    • v:media.picture - fully-functional implementation of picturefill
  • #825 v:page.resources.fal got 'slide', 'slideCollect' and 'slideCollectReverse' attributes, which enables page media to slide

  • #884 v:media.gravatar and v:uri.gravatar ViewHelpers added

  • #945 v:variable.extensionConfiguration can fetch a subpart of extension configuration

    • 'path' attribute introduced, which is responsible for this; contains TS-dotted path, like 'bar.baz'
    • 'name' attribute became optional and deprecated
    • 'name' and 'path' are both optional, but at least one of them must be set
    • v:variable.extensionConfiguration
  • #883 v:resource.image returns an img-tag instead of an array, when no 'as' attribute provided

  • #861 All the menu ViewHelpers got 'forceAbsoluteUrl' attribute

    • Forces menu items to contain absolute URLs
    • Default: FALSE
  • v:page.resources.fal respects overrides in page localizations

  • #921 v:page.header.canonical respects RealURL configuration

    • ❗ Due to internal changes, attribute 'normalWhenNoLanguage' is not used anymore and deprecated
    • v:page.header.canonical
  • v:format.tidy got 'encoding' attribute

  • v:format.replace got 'caseSensitve' attribute

  • #847 All the menu ViewHelpers got rid of hardcoded backup values

    • This allows to use any variable names in 'as' and 'rootLineAs' attributes
  • #879 All the menu ViewHelpers respect empty values in page translations

  • #763 All the menu ViewHelpers respect moved pages in workspaces

  • #854 v:page.languageMenu correctly detects TYPO3 version and provides appropriate path to flag-images

  • #871 v:page.languageMenu applies both: 'inactive' and 'current' classes, when this is a case

  • #858 Force closing tag (instead of self-closing), when no file specified (or found) for asset

  • #922 v:page.resources.fal loads resources of current page by default

  • #865 v:resource.image respects fully qualified URIs

  • #905 v:page.menu correctly calculates number of translated sub-pages

  • #915 v:media.image correctly define paths to images, when config.absRefPrefix contains sub-folder in path

  • #939 v:resource.record.fal handles workspaces better

  • #898 All the menu ViewHelpers are aware of possible anonymous users, when checking access rights against pages, links to which they generate

    • anonymous users are those, who doesn't have a concrete user object, but have group only, like is done in EXT:sfpipauth
  • #925 v:media.audio correctly handles audio-files with non-lowercase file extension

  • #934 PageSelectService is instantiated via GeneralUtility::makeInstance() instead of new(), making it possible to Xclass

  • Bugfix to respect 'preload' argument of v:media.audio

2.3.3 - 2015-05-20

  • #826 v:format.wordWrap added - breaks a 'subject' into strings with maximum size of 'limit' (default = 80) characters, breaking with 'break' (default = PHP_EOL) and concatenating them with 'glue' (default = PHP_EOL)

  • #819 v:format.eliminate got 'whitespaceBetweenHtmlTags' attribute, which makes VH to remove all spaces between HTML tags

2.3.2 - 2015-04-16

  • #798 v:page.header.meta got 'property' attribute - used for open graph metadata

  • #799 v:iterator.filter got 'nullFilter' attribute - allows to filter NULL or empty values

  • v:or 'arguments' array also applies on 'alternative' text

2.3.1 - 2015-03-15

  • No important changes

2.3.0 - 2015-03-09

  • ❗ Legacy namespace support completely removed

    • It is no longer possible to use any of VHS classes by their legacy names. Switch to the proper vendor and namespace.
  • Reusable Traits implemented to extend ViewHelper capabilities, as a replacement for ViewHelperUtility:

  • ❗ Support of TYPO3 6.0 and 6.1 was dropped

  • ❗ Minimum PHP requirement is now 5.4.0 due to the use of Traits

  • #734v:format.url.sanitizeString changed

    • Became deprecated - use v:format.sanitizeString instead
    • Got 'customMap' attribute - allows to override built-in replacement mapping with custom one
    • v:format.sanitizeString
  • ❗ CompilableAsset concept removed

  • #735 Context ViewHelpers added: v:condition.context.isDevelopment, v:condition.context.isProduction, v:condition.context.isTesting and v:context.get

  • #771 v:variable.extensionConfiguration added - reads extensions settings located in ext_conf_template.txt

  • #746 v:resource.language added - reads a language file and returns all the translations from it

  • #770 #773 v:media.youtube got more control attributes:

    • 'hideControl' - hide player's control bar
    • 'hideInfo' - hide player's info bar
    • 'playlist' - comma separated list of video IDs to be played
    • 'loop' - play the video in a loop
    • 'start' - start playing after seconds
    • 'end' - stop playing after seconds
    • 'lightTheme' - use the player's light theme
    • 'videoQuality' - set the player's video quality (hd1080,hd720,highres,large,medium,small)
    • 'windowMode' - Set the Window-Mode of the player (transparent,opaque). This is necessary for z-index handling in IE10/11.
    • v:media.youtube
  • #751 v:iterator.filter also accepts an array as 'filter' attribute; in case of array provided as filter, each value of 'subject' is compared with each value of 'filter'

  • #757 v:iterator.merge can be used in a chain

  • Contents of Fluid assets (asset's attribute fluid="TRUE") can be stored (or overridden) with TS 'content' property

  • #740 v:page.languageMenu got 'excludeQueryVars' attribute - set to comma-separate list of GET variables to exclude from generated link

  • v:debug got more intelligence in debugging ObjectAccessors - shows properties only accessible in Fluid

2.2.0 - 2014-12-03

  • Added support of TYPO3 7.x

2.1.4 - 2014-11-16

2.1.3 - 2014-10-24

  • #688 v:condition.type.isBoolean added

  • #697 v:format.removeXss added - accepts 'string' as argument and cleans it out from possible XSS

    • Not included in VH reference, so please check commit

2.1.2 - 2014-10-04

  • #684 v:page.languageMenu got 'configuration' attribute - holds additional typoLink configuration

2.1.1 - 2014-10-03

  • No important changes

2.1.0 - 2014-10-03

  • #681 v:tag added - generate dynamic HTML tag names without breaking XHTML validation and with nice features, like disabling empty attributes

  • v:iterator.filter got 'invert' attribute - inverts the behavior of the ViewHelper, so the filtered element is removed from the array

2.0.2 - 2014-09-19

2.0.1 - 2014-09-05

  • No important changes

2.0.0 - 2014-09-05