|
1 | 1 | # Laravel Enso's Changelog |
2 | 2 |
|
| 3 | +## 4.4.0 |
| 4 | + |
| 5 | +The release further decouples ui packages and introduces automatic asset |
| 6 | +discovery and registration, better files organization to help in the future with |
| 7 | +adding a new CSS framework as well as various other improvements. |
| 8 | +This also means breaking changes, so please read through the entire changelog. |
| 9 | + |
| 10 | +### Front-end |
| 11 | + |
| 12 | +All packages which depend on the `ui` package have had their dependency versions updated. |
| 13 | + |
| 14 | +Also, the `icons.js` files have been moved from the `bulma` folder one level up, since icons are css framework agnostic. |
| 15 | + |
| 16 | +The packages thus affected have been updated to their next respective major version. |
| 17 | + |
| 18 | +#### auth (new) |
| 19 | +- extracted assets (components, pages, routes, store) from the ui package |
| 20 | + |
| 21 | +#### bookmarks (new) |
| 22 | +- extracted assets (components) from the ui package |
| 23 | + |
| 24 | +#### charts |
| 25 | +- improved chart update |
| 26 | +- fixed chart redraw on dataset changes |
| 27 | +- improves yAxis callback handling |
| 28 | + |
| 29 | +#### data-import |
| 30 | +- fixed select params label |
| 31 | + |
| 32 | +#### datepicker |
| 33 | +- added new 'value-updated' event on component value change |
| 34 | +- improved enso datepicker alt-format handling |
| 35 | + |
| 36 | +#### filters |
| 37 | +- updated eslint config |
| 38 | + |
| 39 | +#### forms |
| 40 | +- implemented field related methods that controls the field's meta.hidden attributes by showField and hideField |
| 41 | +- reused these methods inside the showTab/hideTab methods, while avoiding forceUpdate after each meta.hidden change |
| 42 | +- fields methods are independent of tabs/sections and target all form fields |
| 43 | +- adds ability to handle nested fields withing the form template |
| 44 | +- displays default field for a custom field if the slot is empty |
| 45 | + |
| 46 | +#### io (new) |
| 47 | +- extracted assets (components) from the ui package |
| 48 | + |
| 49 | +#### localisation |
| 50 | +- extracted assets (components) from the ui package |
| 51 | + |
| 52 | +#### notifications (new) |
| 53 | +- extracted assets (components, pages, routes) from the ui package |
| 54 | + |
| 55 | +#### tasks (new) |
| 56 | +- front-end for the new task management package |
| 57 | + |
| 58 | +#### themes |
| 59 | +- added flags background color |
| 60 | +- made options having warning text more visible in vue-filter |
| 61 | + |
| 62 | +#### tutorials |
| 63 | +- extracted assets (components) from the ui package |
| 64 | + |
| 65 | +#### tree-view |
| 66 | +- small cleanup |
| 67 | + |
| 68 | + |
| 69 | +#### user-groups (new) |
| 70 | +- extracted assets (pages, routes) from the ui package |
| 71 | + |
| 72 | +#### users (new) |
| 73 | +- extracted assets (components, pages, routes) from the ui package |
| 74 | + |
| 75 | +#### ui |
| 76 | +- implemented automatic registration for package: |
| 77 | + - routes |
| 78 | + - icons |
| 79 | + - custom registration logic |
| 80 | + - store |
| 81 | +- extracted various assets to existing or new packages as required |
| 82 | + |
| 83 | +### Back-end |
| 84 | + |
| 85 | +#### activity-log |
| 86 | +- fixed test name |
| 87 | + |
| 88 | +#### avatars |
| 89 | +- improved avatar generation during tests, to use a locally generated avatar vs doing |
| 90 | +a gravatar fetch, which speeds up tests |
| 91 | +- fixed gravatar warning message |
| 92 | + |
| 93 | +#### charts |
| 94 | +- added `autoYMin()` helper |
| 95 | +- added support for gridlines |
| 96 | +- switched `xAxisConfig` parameter order and made dataset optional; |
| 97 | +- added `disableAutoRadius()` in bubble; added `datalabels` config setter |
| 98 | +- improved chart customization |
| 99 | +- added method return types and typed parameters |
| 100 | + |
| 101 | +#### cli |
| 102 | +- the generated routes now use controller classes |
| 103 | + |
| 104 | +#### departments |
| 105 | +- removes leftover namespace |
| 106 | + |
| 107 | +#### discussions |
| 108 | +- refactored routes |
| 109 | +- added xss sanitizer |
| 110 | + |
| 111 | +#### enums |
| 112 | +- added the option to have the key validated when getting a value (disabled by default) |
| 113 | +- added the option to have localisation on/off per enum as opposed to all enums, |
| 114 | +by adding a `$localisation` variable with the desired value in your enum; |
| 115 | + |
| 116 | +#### forms |
| 117 | +- the Form service now uses the `when` trait so actions may be chained conditionally |
| 118 | + |
| 119 | +#### io |
| 120 | +- fixed the variable name within the `BroadcastServiceProvider` |
| 121 | + |
| 122 | +#### core |
| 123 | +- data-import is no longer required and becomes optional |
| 124 | + |
| 125 | +#### currencies |
| 126 | +- fixed CurrencySeeder namespace |
| 127 | + |
| 128 | +#### control-panel |
| 129 | +- switched to using Laravel's Http instead of Guzzle |
| 130 | +- refactored services & fixed invalid response edge case bug |
| 131 | + |
| 132 | +#### helpers |
| 133 | +- small refactor in `FactoryResolver` |
| 134 | + |
| 135 | +#### products |
| 136 | +- added data-import missing dependency |
| 137 | + |
| 138 | +#### select |
| 139 | +- fixed bug for multiple select-filter where values were missing due to failed collection merging |
| 140 | + |
| 141 | +#### tasks (new) |
| 142 | +- task management package |
| 143 | + |
| 144 | +#### tables |
| 145 | +- refines export done notification |
| 146 | + |
| 147 | +#### upgrade |
| 148 | +- added pre-migration option for the upgrade command; upgrades that run pre-migration |
| 149 | +are also visible in the status report |
| 150 | +- refactored the `MigratesStructure` contract |
| 151 | +- fixed missing `Priority` column in the status report |
| 152 | + |
| 153 | +### Upgrade steps |
| 154 | + |
| 155 | +As this new release cleaned up the `@enso-ui/ui` package and simplified icon and route |
| 156 | +registration, a bit of cleanup is also required in the local project. |
| 157 | + |
| 158 | +Also, a new `php artisan enso:upgrade --before-migration` command is available that |
| 159 | +is meant be used to run upgrade commands **before** the `php artisan migrate` command, |
| 160 | +which should help with complex upgrade scenarios. |
| 161 | + |
| 162 | + |
| 163 | +To upgrade: |
| 164 | +- within `client/.env` the following entry must be added: |
| 165 | + - `VUE_APP_PROFILE=bulma` |
| 166 | + The `.env` file must also be available during the build stage, |
| 167 | + so take that into account if using CI flows. |
| 168 | +- the `@core` alias has been renamed to `@ui`, so update all usages, including |
| 169 | + - local resources (pages, components) |
| 170 | + - the `client/.eslintrc.js` file |
| 171 | +- bump at least the following dependencies within `client\package.json`: |
| 172 | + - `"@enso-ui/activity-log": "^3.0` |
| 173 | + - `"@enso-ui/bulma": "^4.0",` |
| 174 | + - `"@enso-ui/calendar": "^3.0",` |
| 175 | + - `"@enso-ui/data-import": "^3.0",` |
| 176 | + - `"@enso-ui/how-to": "^3.0",` |
| 177 | + - `"@enso-ui/tasks": "^2.0",` |
| 178 | + - `"@enso-ui/tutorials": "^3.0",` |
| 179 | + - `"@enso-ui/ui": "^4.0",` |
| 180 | + - `"eslint-config-airbnb-base": "14.2.0",` |
| 181 | + Depending on your project requirement, the following dependencies might also need bumping: |
| 182 | + - `"@enso-ui/categories": "^2.0",` |
| 183 | + - `"@enso-ui/commercial": "^4.0",` |
| 184 | + - `"@enso-ui/discounts": "^3.0",` |
| 185 | + - `"@enso-ui/emag": "^4.0",` |
| 186 | + - `"@enso-ui/financials": "^3.0",` |
| 187 | + - `"@enso-ui/inventory": "^3.0",` |
| 188 | + - `"@enso-ui/measurement-units": "^3.0",` |
| 189 | + - `"@enso-ui/products": "^3.0",` |
| 190 | + - `"@enso-ui/services": "^3.0",` |
| 191 | + - `"@enso-ui/themes": "^2.0",` |
| 192 | +- remove any package icon imports from `client/src/js/app.js`, as they're no longer required |
| 193 | +- if using the dashboard page/component & menu, import the menu icon in `client/src/js/app.js`: |
| 194 | + ``` |
| 195 | + import { library } from '@fortawesome/fontawesome-svg-core'; |
| 196 | + import { faTachometerAlt } from '@fortawesome/free-solid-svg-icons'; |
| 197 | + library.add(faTachometerAlt); |
| 198 | + ``` |
| 199 | +- unless using them in your local resources, you may remove package aliases from `client/vue.config.js` |
| 200 | +- the avatar (`Avatar.vue`) component has been moved from the `ui` package to the `users` package, if you're using it locally, update the imports. |
| 201 | +- within the `composer.json` `scripts/post-update-cmd` section add the command: |
| 202 | + - `"php artisan enso:upgrade:status"` |
| 203 | +- the `data-import` package has been made optional, if you still require it, add it to: |
| 204 | + - `composer.json` : `"laravel-enso/data-import": "^5.0",` |
| 205 | + - `package.json`: `"@enso-ui/data-import": "^3.0",` |
| 206 | +- the `tasks` package has been made optional, if you added it & still require it, add it to: |
| 207 | + - `composer.json` : `"laravel-enso/tasks": "^1.0",` |
| 208 | + - `package.json`: `"@enso-ui/tasks": "^2.0",` |
| 209 | +- remove the following files as they're no longer required: |
| 210 | + - `client/src/js/store.js` |
| 211 | + - `client/src/js/router.js` |
| 212 | +- look within this [PR](https://github.com/laravel-enso/enso/pull/344/files) and update: |
| 213 | + - `client/src/js/enso.js` |
| 214 | + - `client/src/js/localState.js` |
| 215 | +- run `composer update` |
| 216 | +- run `yarn`, `yarn upgrade && yarn` to ensure you have the latest package versions and patches are applied. If necessary, update your patch files |
| 217 | +- `php artisan migrate` |
| 218 | +- `composer dump-autoload` |
| 219 | +- `php artisan enso:upgrade` |
| 220 | +- publish the updated localisation assets with `php artisan vendor:publish --tag=enso-localisation` |
| 221 | +and copy the `ru.json` file from the above commit into the local `resources/lang/app` folder |
| 222 | +- in `Envoyer` and/or during your deployment process, add the new command: |
| 223 | + `php artisan enso:upgrade --before-migration` |
| 224 | +- update the Enso version to `4.4.0` in `config/enso/config.php` |
| 225 | +- as per every release, delete the old upgrades |
| 226 | +
|
3 | 227 | ## 4.3.0 |
4 | 228 |
|
5 | 229 | This release aims to upgrade the Enso ecosystem to [Laravel 8](https://laravel.com/docs/8.x/releases#laravel-8). |
|
0 commit comments