Skip to content
Snippets Groups Projects
  1. Nov 17, 2022
  2. Oct 21, 2022
  3. Sep 18, 2022
  4. Jul 14, 2022
  5. May 25, 2022
  6. Mar 03, 2022
  7. Feb 23, 2022
  8. Feb 22, 2022
    • Christian Kuhn's avatar
      [TASK] Allow DI for extbase validators · 78fa14c1
      Christian Kuhn authored
      With #92238, it has been postulated that Extbase
      validators should not be dependency injection aware.
      Further places following this idea have been done
      in v11 with #94451 and #94384. A final breaking
      ReST file has been added with #95026.
      
      All of that is pretty unfortunate and there is
      simply no reason that Extbase validators can
      not get dependencies injected, no matter if
      they're not singletons.
      
      This patch specifically targets v11 to allow
      dependency injection in Extbase validators again
      if extension authors really need this, and don't
      want to stick to manual dependency retrieval
      as outlined in #95026. This patch should basically
      mitigate issues for extension upgrades and paves
      the way for a more solid general solution in v12.
      
      Extension authors have a more smooth upgrade path,
      especially when supporting two core versions at
      the same time.
      
      The v12 version of this patch is identical with
      v11 for now - The breaking interface change,
      adapting all core validators, and declaring core
      validators 'final' in v12 will be done with a
      dedicated v12 patch as soon as this
      v11 tailored version has been aligned on.
      
      Note all of this is pretty hairy and the solution
      outlined with the patch for v11 hopefully gives the
      maximum amount of compatibility without being
      breaking again, with giving extension authors
      additional options, and having v12 options to
      further mitigate this complex mess.
      
      Resolves: #96332
      Related: #92238
      Related: #95026
      Related: #94451
      Related: #94384
      Releases: main, 11.5
      Change-Id: I5fea15c9b73c59e5d7c3212a0842bc9a3413d2a1
      Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/73631
      
      
      Tested-by: default avatarcore-ci <typo3@b13.com>
      Tested-by: default avatarBenni Mack <benni@typo3.org>
      Tested-by: default avatarOliver Bartsch <bo@cedev.de>
      Tested-by: default avatarChristian Kuhn <lolli@schwarzbu.ch>
      Tested-by: default avatarStefan Bürk <stefan@buerk.tech>
      Reviewed-by: default avatarBenni Mack <benni@typo3.org>
      Reviewed-by: default avatarOliver Bartsch <bo@cedev.de>
      Reviewed-by: default avatarChristian Kuhn <lolli@schwarzbu.ch>
      Reviewed-by: default avatarStefan Bürk <stefan@buerk.tech>
      78fa14c1
  9. Jan 30, 2022
  10. Dec 22, 2021
  11. Dec 04, 2021
  12. Dec 03, 2021
  13. Dec 02, 2021
  14. Dec 01, 2021
  15. Sep 21, 2021
  16. Sep 16, 2021
  17. Sep 11, 2021
  18. Sep 10, 2021
  19. Sep 09, 2021
  20. Aug 26, 2021
  21. Aug 25, 2021
  22. Jul 23, 2021
  23. Jul 22, 2021
  24. Jul 12, 2021
  25. Jun 30, 2021
  26. Jun 22, 2021
  27. Jun 18, 2021
  28. Jun 15, 2021
  29. Jun 14, 2021
  30. May 30, 2021
  31. May 28, 2021
  32. May 18, 2021
  33. May 14, 2021
  34. May 07, 2021
  35. Jan 07, 2021
    • Benjamin Franzke's avatar
      [BUGFIX] Use PSR-17 interfaces in Extbase · 71884c8f
      Benjamin Franzke authored
      In order to strengthen TYPO3's focus on PSR standards, this change
      uses PSR-17 interfaces instead of the custom ResponseFactoryInterface
      which was added solely for extbase in #92784.
      
      The interface was added as part of the #92784 deprecation, but it
      actually contradicts with the ideas of interchangable PSR interfaces
      and therefore we strive for native PSR-17 usage, instead of wrapping
      PSR interfaces, now.
      The Extbase ActionController::htmlResponse() method – which was
      suggested to be used by #92784 – is kept as is (functionality wise [1]),
      and since the interface was injected into the ActionController using a
      final method, the impact of this switch is very low.
      
      Concrete implementations of PSR interfaces are always internal api,
      threfore also TYPO3\CMS\Core\Http\Response is switched back to be
      marked as internal API.
      
      Furthermore TYPO3\CMS\Core\Http\JsonResponse properties do not need to
      be marked internal, as the entire class is internal.
      
      [1] ActionController::htmlResponse() is adapted to avoid rewinding()
          the response body, as every usage/respond is actually expected
          to rewind or use toString(), and therefore rewind() would be
          called twice. Only functional tests where buggy in not calling
          rewind() during test assertion.
      
      Releases: master
      Resolves: #93237
      Related: #92784
      Change-Id: I59e5a190eaa1f0dd62f08db34987c6d4a72b73c1
      Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/67353
      
      
      Tested-by: default avatarTYPO3com <noreply@typo3.com>
      Tested-by: default avatarChristian Kuhn <lolli@schwarzbu.ch>
      Tested-by: default avatarOliver Bartsch <bo@cedev.de>
      Tested-by: default avatarBenjamin Franzke <bfr@qbus.de>
      Reviewed-by: default avatarChristian Kuhn <lolli@schwarzbu.ch>
      Reviewed-by: default avatarOliver Bartsch <bo@cedev.de>
      Reviewed-by: default avatarBenjamin Franzke <bfr@qbus.de>
      71884c8f
  36. Dec 21, 2020
  37. Dec 09, 2020