We have finished Pyro v3.4 which is primed and ready for the Laravel 5.5 release.
Looking at some of the features and updates it's important to note that because we use a semantic and agile versioning approach some of these features may already be very familiar to you.
When we bump minor versions like this it is our only chance to introduce database migrations for new core features as well as new and planned features for addons even if the features have yet to be released.
Try it out!
composer create-project pyrocms/pyrocms:3.4.x-dev
There have been loads of new little features and bug fixes to the system as a whole but here are a few favorites from the Streams Platform which has bumped versions recently:
- Added a
copymethod that copies the file to public verbatim. Nice for animated gifs!
- Added automatic image versioning to help alleviate common issues when using aggressive caching strategies.
- Added automatic alt tags that humanize the file name by default if no alt is provided.
- Removed aggressive auto-optimization for mobiles and tables and created an opt-in/customizable pathway for using the feature.
- Added automatic asset versioning to help alleviate common issues when using aggressive caching strategies.
- Fixed issue where minifying would fail when also parsing assets.
- All assets are now parsed unless using the
- Improved cache busting for included / nested assets that are inherited by the file included in the collection.
- Added a
resourcespath hint for
- Updated theme stub to demonstrate dumping inline styles in the head for better PageSpeed scores.
- Added pathway to add your own custom filters and filter flags to the Asset pipeline using the
$cascadesarray attribute to automatically cascade deleting and restoring relationships.
- Added core utilities to quickly add custom field and assignment management to custom addons: https://github.com/anomalylabs/posts-module/blob/2.2/src/PostsModuleServiceProvider.php#L113
- Added ability to change field type of an existing field. Requires compatible columns (pivots not included).
- Improved autoloader performance by merging composer.json files instead of loading on the fly.
- Created a Satis repository for effortless PRO addon support: https://packages.pyrocms.com/
- Updated Laravel to 5.5
- Updated Twig to 2.0
- Improved support for nested control panel sections.
- Added Select2 "search" modes to applicable field types.
- Improved usability for tables and forms with affixed headers and controls.
- Added form tabs, sections, and action buttons in the forms for most all first-party addons.
- Streams are now sortable.
- Added RTL support to control panel with the help of https://github.com/Youhan
- Added date/time picker UI back to datetime FT with native JS plugin.
- Added control panel global search with integration API on the way.
- Staged database requirements for upcoming revisionable core features.
Upgrading is a similar process as other releases.
First update your
composer.json file. Copy the composer requirements from the 3.4
composer.json to your own and run a
composer update to make sure you have the same dependencies as the 3.4 branch: https://github.com/pyrocms/pyrocms/blob/3.4/composer.json#L24-L80
While we are in our
composer.json file be sure bring these lines over as well: https://github.com/pyrocms/pyrocms/blob/3.4/composer.json#L110-L119
Next migrate the streams platform by running the following command:
php artisan migrate --path=vendor/anomaly/streams-platform/migrations/application
Then migrate all the addons:
php artisan migrate --all-addons
Before upgrading you may want to consider the following BC notes and probability of their addressing your typical project:
Very Rare: Any use of
TwigBridge/Bridge should be replaced with
Anomaly\Streams\Platform\View\Twig\Bridge. The API is the same however we absorbed that dependency in order to optimize view overrides and control some other factors of that functionality.
$route->getParameter($key) in Laravel has been renamed
$route->parameter($key). While I did personally have some examples of this it is unlikely due to common practice for Laravel devs to simple use method injected route parameters.
Rare: While most developers will use the
env for configuring compilers to use PHP or Ruby it may be possible that some have published the streams platform configuration and overridden it there. In that case make sure that the
streams::assets.filters configuration key values in your published config align with those found in the streams platform: https://github.com/anomalylabs/streams-platform/blob/1.3/resources/config/assets.php#L53
Please keep us posted on issues here: http://github.com/pyrocms/pyrocms/issues