3.0.0
Release Notes for 3.0.0
This release includes a significant number of breaking changes for the following primary reasons:
- Decouple from MVC and any other unnecessary dependencies
- General modernisation of the codebase and quality improvements
- Explicit state handling to ensure safety when used in cli based apps (Roadrunner, Swoole, Franken PHP, et al)
- Better type inference for consumers
- Service Manager v4 Support (finally)
For full details on BC breaks, please read the migration guide at:
https://docs.laminas.dev/laminas-view/v3/migration/v2-to-v3
3.0.0
- Total issues resolved: 29
- Total pull requests resolved: 139
- Total contributors: 11
Documentation,Enhancement
- 395: Extract
PartialLoopdocs into a separate page thanks to @gsteel and @froschdesign - 392: Add documentation on refactoring view helpers thanks to @gsteel
- 372: Refine types for view variables to
iterable<non-empty-string, mixed>thanks to @gsteel - 366: Update Migration Guide with changes to Template Resolvers thanks to @gsteel and @weierophinney
- 347: Update migration guide and
Partialhelper documentation thanks to @Genjiff and @weierophinney - 333: Refactor documentation to standardize callout formatting thanks to @froschdesign
- 331: Introduce IDE Helper Interface thanks to @gsteel
- 330: Introduce
HelperPluginManagerInterfacethanks to @gsteel - 286: Refactor
TemplateResolverDocumentation thanks to @gsteel - 122: Initial work on a migration guide for 3 thanks to @gsteel
Dependencies,QA
- 394: Refresh Dependencies thanks to @gsteel
- 367: Remove requirements for unused PHP extensions thanks to @gsteel
- 361: Drop dependency on
Laminas\EventManagerthanks to @gsteel - 345: Dependency Refresh,
composer.jsonupdate thanks to @gsteel
QA
- 393: Ensure factories are
@internalthanks to @gsteel - 388: Add defensive check for empty strings to
ViewModel::setCaptureTo()thanks to @gsteel - 382: Add un-prefixed
@internalwhere necessary thanks to @gsteel - 368: Add make targets to check for unused dependencies thanks to @gsteel
- 360: Re-work and tidy up template path stack test case thanks to @gsteel
- 358: Merge release 2.41.0 into 3.0.x thanks to @github-actions[bot]
- 344: Further duck-typing deprecations + SA issue reduction thanks to @gsteel
- 343: Add Sarif report to GitHub actions thanks to @gsteel
- 301: Fix
make clean: Only rm the docs image when it exists thanks to @gsteel - 299: Remove CI hack for cyclic dependencies thanks to @gsteel
Enhancement
- 391: Introduce
ViewInterfacethanks to @gsteel - 383: Prevent ambiguous arguments to
PhpRenderer::renderthanks to @gsteel - 373: Allow for View Model Mutations Prior to Rendering thanks to @gsteel
- 370: Merge release 2.42.0 into 3.0.x thanks to @github-actions[bot]
- 354: Reinstate 'Termination' of View Models thanks to @gsteel
- 350: Documentation Re-Write thanks to @gsteel
- 273: Merge release 2.39.0 into 3.0.x thanks to @github-actions[bot]
- 270: Merge release 2.38.0 into 3.0.x thanks to @github-actions[bot]
- 263: Update to laminas-servicemanager v4 thanks to @alexgit2k
- 256: Merge release 2.36.0 into 3.0.x thanks to @github-actions[bot]
- 229: Merge release 2.33.0 into 3.0.x thanks to @github-actions[bot]
- 227: Merge release 2.32.0 into 3.0.x thanks to @github-actions[bot]
- 222: Merge release 2.31.0 into 3.0.x thanks to @github-actions[bot]
- 214: Merge release 2.30.0 into 3.0.x thanks to @github-actions[bot]
- 211: Merge release 2.29.0 into 3.0.x thanks to @github-actions[bot]
- 206: Merge release 2.28.0 into 3.0.x thanks to @github-actions[bot]
- 199: Merge release 2.27.0 into 3.0.x thanks to @github-actions[bot]
- 185: Merge release 2.25.0 into 3.0.x thanks to @github-actions[bot]
- 179: Merge release 2.24.0 into 3.0.x thanks to @github-actions[bot]
- 176: Merge release 2.23.0 into 3.0.x thanks to @github-actions[bot]
- 171: Merge release 2.22.0 into 3.0.x thanks to @github-actions[bot]
- 167: 2.21 mergeup thanks to @gsteel
- 166: Merge release 2.21.0 into 3.0.x thanks to @github-actions[bot]
- 153: Fix #7 - placeholder view helper return value should be given also with
nullinput thanks to @gsteel and @weierophinney - 151: Merge release 2.20.0 into 3.0.x thanks to @gsteel
- 150: Merge release 2.20.0 into 3.0.x thanks to @github-actions[bot]
- 130: Chore: dot-file cleanup thanks to @gsteel
- 121: [RFC]: Ship factories, config providers and make use of plugin-installer thanks to @gsteel
- 109: Merge release 2.19.0 into 3.0.x thanks to @github-actions[bot]
- 105: Merge release 2.18.0 into 3.0.x thanks to @github-actions[bot]
- 103: Merge release 2.17.0 into 3.0.x thanks to @github-actions[bot]
- 98: Merge release 2.16.0 into 3.0.x thanks to @github-actions[bot]
- 86: Merge release 2.14.0 into 3.0.x thanks to @github-actions[bot]
- 20: Support strict_vars globally in application config thanks to @weierophinney
BC Break,Documentation Needed,Enhancement
- 390: Introduce View Interface thanks to @gsteel
BC Break,Documentation,Feature Removal
- 386: Remove the
RenderChildModelView Helper thanks to @gsteel - 337: Remove
TreeRendererInterfacethanks to @gsteel - 316: Remove
Laminas\Feedrelated code thanks to @gsteel - 315: Remove
AbstractHtmlElementthanks to @gsteel - 310: Remove the
HtmlPageview helper thanks to @gsteel - 238: [v3] Remove the Json view helper and update the migration guide thanks to @gsteel
Dependencies
- 380: Refresh dependencies thanks to @gsteel
- 376: Merge release 2.43.0 into 3.0.x thanks to @github-actions[bot]
- 308: Bump dev deps for the 3.x branch thanks to @gsteel
Dependencies,Enhancement,QA
- 377: Drop support for PHP 8.1 and upgrade PHPUnit to 11.x thanks to @gsteel
- 274: Setup standalone installation of composer-require-checker thanks to @gsteel
Dependencies,Enhancement
- 374: Add support for PHP 8.5 thanks to @gsteel
Bug,Documentation
- 371: Fixes order in navigation configuration for version 3 docs in
mkdocs.ymlthanks to @froschdesign
Documentation
- 365: Update Migration Guide with changes to
PhpRendererthanks to @gsteel - 359: Documentation Changes for v3 thanks to @gsteel
- 355: Merge release 2.40.0 into 3.0.x thanks to @github-actions[bot]
- 335: Update migration guide to note options removal from
ViewModelthanks to @gsteel - 291: Minor docs fixes thanks to @gsteel
- 224: Reset v2 docs create v3 docs tree thanks to @gsteel
BC Break,Enhancement
- 363: Replace
templatemap_generator.phpwith aSymfony\Consolecommand thanks to @gsteel - 362: Allow Passing Child View Models to the Constructor thanks to @gsteel
- 348: Re-introduce
Laminas\View\Viewthanks to @gsteel - 340: Refactor template rendering thanks to @gsteel
- 327:
PluginManageris a hard dependency forPhpRendererthanks to @gsteel - 312: Refactor the
HtmlObjectview helper thanks to @gsteel - 298: Refactor
HeadLinkHelper thanks to @gsteel - 288: Refactor
PartialandPartialLoophelpers thanks to @gsteel - 208: [laminas-mvc-view] Remove Url & Server Url Helpers thanks to @gsteel
- 155: Resolve deprecations in Identity view helper thanks to @gsteel
- 154: Resolve deprecations in Asset view helper thanks to @gsteel
- 152: Remove deprecated const EOL in AbstractHtmlElement thanks to @gsteel and @weierophinney
- 136: remove E_USER_DEPRECATED deprecated methods thanks to @gsteel and @weierophinney
- 129: Remove Stream Wrapper Functionality thanks to @gsteel and @weierophinney
- 128: Remove legacy Zend compatibility and service names from plugin manager defaults thanks to @gsteel
- 127: Removes deprecated/obsolete Flash and QuickTime helpers thanks to @gsteel
- 125: Remove dependency on laminas-json thanks to @gsteel and @michalbundyra
Enhancement,QA
- 356: Add Rector to Tooling thanks to @gsteel
- 329: Refactor
PartialLoopTest thanks to @gsteel - 271: Setup Make thanks to @gsteel
BC Break,Feature Removal
- 352: Remove
Variablesthanks to @gsteel - 334: Remove
ViewModel"Options" thanks to @gsteel - 275: Remove Deprecated Components: Gravatar Helper, Placeholder Registry thanks to @gsteel
- 265: Remove the URL Helper thanks to @gsteel
- 135: Remove flashmessenger view helper thanks to @gsteel and @weierophinney
- 126: Remove laminas-console dependency thanks to @gsteel
BC Break,Enhancement,QA
- 351: Ensure Invokable Variables are not Invoked thanks to @gsteel and @weierophinney
- 346: Set up mutation testing with
roave-infection-static-analysis-pluginthanks to @gsteel - 328:
TemplateResolveris a hard dependency forPhpRenderer, removesetResolverfromRendererInterfacethanks to @gsteel - 284: Refactor
RenderChildModelthanks to @gsteel
BC Break,Enhancement,Feature Removal,QA
- 338: Partial Refactor of
Variableswith BC Breaking Changes toRendererInterfacethanks to @gsteel - 281: Refactor Template Resolvers thanks to @gsteel
BC Break
- 326: Swap
FilterChainfor acallablethanks to @gsteel - 252:
laminas-translatorsupport thanks to @earthiverse - 49: Fixes #7 Fix Placeholder view helper return value thanks to @samsonasik and @weierophinney
- 47: Fixes #16 remove FlashMessenger view helper thanks to @samsonasik
- 44: remove deprecated const EOL in AbstractHtmlElement thanks to @samsonasik
BC Break,Documentation,Enhancement,Feature Removal
- 324: Remove the
IdentityView Helper thanks to @gsteel - 318: The Big Placeholder Refactor thanks to @gsteel
- 277: Refactor
Layout,HtmlAttributes,HtmlListandBasePathhelpers thanks to @gsteel - 276: Refactor Escape Helpers thanks to @gsteel
- 268: Refactor
HeadTitleHelper, Remove MVC and i18n Dependencies thanks to @gsteel
BC Break,Documentation Needed,Enhancement,Feature Removal
BC Break,Documentation,Enhancement
- 320: Refactor
CycleView Helper thanks to @gsteel - 313: Refactor the
HtmlTagview helper thanks to @gsteel - 305: Refactor
HeadMetaview helper thanks to @gsteel - 292: Refactor
RenderToPlaceholderthanks to @gsteel - 142: Refactor
Doctypethanks to @gsteel
Bug,Enhancement
- 311: Remove Initializers from the
HelperPluginManagerthanks to @gsteel - 94: Merge release 2.15.0 into 3.0.x thanks to @github-actions[bot]
RFC
- 302: [RFC] Invokable View Variables are (should not be) Automatically Invoked thanks to @gsteel and @weierophinney
- 149: [RFC]: Massive BC Break and Simplification of
laminas-viewthanks to @gsteel - 120: [RFC]: Make AbstractHelper internal and Guarantee a renderer for existing implementors thanks to @gsteel
BC Break,Dependencies,Enhancement
- 297: Make use of
EscaperInterfacethanks to @gsteel
BC Break,Feature Removal,RFC
BC Break,Dependencies,Feature Removal
- 293: Remove Pagination View Helper thanks to @gsteel
- 267: Remove deprecated JSON Helper thanks to @gsteel
BC Break,Enhancement,Feature Removal
- 282: Remove the deprecated
DeclareVarsHelper, Introduce factory forPhpRendererthanks to @gsteel - 259: Remove Navigation View Helpers thanks to @gsteel
BC Break,Dependencies
- 280: Upgrade Laminas ServiceManager to v4 thanks to @gsteel
- 241: Update dependency laminas/laminas-servicemanager to v4 thanks to @renovate[bot]
Feature Removal
- 266: Merge release 2.37.0 into 3.0.x thanks to @github-actions[bot]
Bug
-
257: Remove laminas-json thanks to @arhimede
-
118: Workaround for Cyclic Incompatible Dependencies on 3.0.x thanks to @gsteel
-
249: Merge release 2.35.0 into 3.0.x thanks to @github-actions[bot]
-
236: Merge release 2.34.0 into 3.0.x thanks to @github-actions[bot]
-
83: Merge release 2.13.0 into 3.0.x thanks to @github-actions[bot]
-
82: Merge release 2.12.1 into 3.0.x thanks to @github-actions[bot]
renovate
BC Break,Duplicate,Enhancement
- 68: Laminas\Json dependency removal thanks to @gsteel and @michalbundyra