|
1 | 1 | # Laravel Enso's Changelog
|
2 | 2 |
|
| 3 | +## 4.8.2 |
| 4 | +This aims to be the last minor release before upgrading to Vue 3 and includes many improvements, bug fixes and also several new features. |
| 5 | + |
| 6 | +### Front-end |
| 7 | + |
| 8 | +#### addresses |
| 9 | +- implemented google package |
| 10 | + |
| 11 | +#### algolia (new) |
| 12 | +- implemented settings package for Algolia |
| 13 | + |
| 14 | +#### bulma |
| 15 | +- added toggle filters |
| 16 | +- added users as dependency |
| 17 | + |
| 18 | +#### charts |
| 19 | +- updated `Chart.vue` |
| 20 | +- updated dependencies |
| 21 | +- fixed chart instance usage |
| 22 | +- brings back default options |
| 23 | +- added `shortNumber` filter |
| 24 | + |
| 25 | +#### data-import |
| 26 | +- improved UX for disabled exports |
| 27 | + |
| 28 | +#### emails |
| 29 | +- updated syntax and eslint config |
| 30 | + |
| 31 | +#### enums |
| 32 | +- updated dependencies and `.eslintrc.js` |
| 33 | + |
| 34 | +#### files |
| 35 | +- small refactor in index |
| 36 | +- removed redundant chart option |
| 37 | + |
| 38 | +#### filters |
| 39 | +- added toggle filters |
| 40 | +- added dirty to filter-state |
| 41 | +- improved dirty watcher in filter state |
| 42 | + |
| 43 | +#### forms |
| 44 | +- added the ability to reload based on a be flag |
| 45 | +- exposed `undo()` |
| 46 | + |
| 47 | +#### google |
| 48 | +- fixed missing icon import |
| 49 | + |
| 50 | +#### meili-search (new) |
| 51 | +- implemented settings package for MeiliSearch |
| 52 | + |
| 53 | +#### mixins |
| 54 | +- fixed edge case with re-rendering login form after logging in |
| 55 | + |
| 56 | +#### mobile-app |
| 57 | +- added `.eslintrc.js` |
| 58 | +- updated `.gitignore` and dependencies |
| 59 | + |
| 60 | +#### range-slider (new) |
| 61 | +- Vue Range Slider based on `noUiSlider` |
| 62 | + |
| 63 | +#### route-mapper |
| 64 | +- updated dependencies |
| 65 | +- updated `.eslintrc.js` |
| 66 | +- refactored the mapper class; fixed bug related to optional params; improved logic/flow |
| 67 | + |
| 68 | +#### scroll-to-top |
| 69 | +- fixed bottom margin |
| 70 | + |
| 71 | +#### search-mode |
| 72 | +- renamed `algolia` to `searchProvider` |
| 73 | + |
| 74 | +#### select |
| 75 | +- fixed multiple select value mutations when using state options |
| 76 | + |
| 77 | +#### sentry |
| 78 | +- updated dependencies and `.eslintrc.js` |
| 79 | + |
| 80 | +#### strings |
| 81 | +- fixed slug generation issue to handle cases when `regEx` matching had no actual matches |
| 82 | + |
| 83 | +#### tables |
| 84 | +- improved key in table header |
| 85 | +- reflected filtered state |
| 86 | +- added missing `mr-1` in controls |
| 87 | +- added `danger` on filter flag |
| 88 | +- added support for dropdown actions |
| 89 | +- added debounce for filters |
| 90 | + |
| 91 | +#### themes |
| 92 | +- added `has-margin-auto` |
| 93 | +- removed `bulma-checkradio` |
| 94 | +- updated `bulma-extensions` dependency |
| 95 | +- imported minimized css from `bulma-extensions` |
| 96 | + |
| 97 | +#### typesense (new) |
| 98 | +- typesense integration for laravel-enso |
| 99 | + |
| 100 | +#### ui |
| 101 | +- added `integrations.js` |
| 102 | +- improved app update notification |
| 103 | +- updated `AppUpdate.vue` |
| 104 | +- fixed app update `v-if` |
| 105 | +- made app update dropdown always visible |
| 106 | +- improved internal `AppUpdate` flow; fixed issue with showing the modal |
| 107 | +- updated bulma-extensions dependency |
| 108 | + |
| 109 | +#### users |
| 110 | +- fixed user profile level margin |
| 111 | + |
| 112 | +### back-end |
| 113 | + |
| 114 | +#### activity-log |
| 115 | +- updated for php 8 |
| 116 | +- updated `.styleci.yml` |
| 117 | + |
| 118 | +#### addresses |
| 119 | +- deprecated google config key, uses settings from google package |
| 120 | +- improved validation for case when postcode exists in the DB, but for a different country |
| 121 | +- improved postcode validation |
| 122 | +- added GBR addresses |
| 123 | +- added `Geocoding` service; updated `Coordinates` to use the new service |
| 124 | + |
| 125 | +#### algolia (new) |
| 126 | +- implemented settings package for Algolia |
| 127 | + |
| 128 | +#### api |
| 129 | +- implemented custom headers |
| 130 | +- added a throttle helper |
| 131 | +- added `toJson` method to the api resource |
| 132 | +- improved adding headers to the request |
| 133 | +- added request duration logging |
| 134 | +- updated api logger |
| 135 | +- decreased duration column size |
| 136 | +- removed nullable from duration |
| 137 | +- added public `apiEnabled: bool` on Action |
| 138 | +- improved exception message |
| 139 | +- updated method visibility |
| 140 | + |
| 141 | +#### avatars |
| 142 | +- made the avatars generators configurable |
| 143 | + |
| 144 | +#### categories |
| 145 | +- added options endpoint |
| 146 | +- removed unneeded attribute |
| 147 | +- added categories import |
| 148 | +- added sync queue for the categories import; if needed, template can be locally customized |
| 149 | + |
| 150 | +#### charts |
| 151 | +- refactored to `chartjs 3` |
| 152 | +- fixes default tooltip config |
| 153 | +- implemented backend `shortNumbers` |
| 154 | +- fixed horizontal chart |
| 155 | + |
| 156 | +#### cnp-validator |
| 157 | +- updated `CnpValidator.php` |
| 158 | +- required php 8 |
| 159 | +- updated `strlen` usage to `mb_strlen` |
| 160 | + |
| 161 | +#### companies |
| 162 | +- fixed company fiscal code in factory |
| 163 | +- added queue sync for the companies import; if needed, template can be locally customized |
| 164 | +- updated import, added new attributes |
| 165 | +- added fiscal code to rememberable keys |
| 166 | + |
| 167 | +#### control-panel-api |
| 168 | +- fixed stat class |
| 169 | + |
| 170 | +#### core |
| 171 | +- added structure for integrations |
| 172 | +- improved app update event |
| 173 | +- added a `Login` trait to work with the latest changes in laravel-ui |
| 174 | +- fixed login test for the new guard config attribute in `sanctum.php` |
| 175 | + |
| 176 | +#### countries |
| 177 | +- updated eea for United Kingdom |
| 178 | + |
| 179 | +#### data-import |
| 180 | +- fixed the Template's notifies method |
| 181 | + |
| 182 | +#### documentation |
| 183 | +- added route mapper docs stub & mention about transpiling |
| 184 | + |
| 185 | +#### filters |
| 186 | +- renamed `algolia` to `searchProvider`; improves searchProvider results |
| 187 | + |
| 188 | +#### google (new) |
| 189 | +- implemented settings package for Google |
| 190 | + |
| 191 | +#### helpers |
| 192 | +- updated searchable trait |
| 193 | +- added production check |
| 194 | +- configured styleci for php8 |
| 195 | +- updated Searchable trait due to new Algolia package |
| 196 | +- updated price computor constructor and vatPercent use |
| 197 | +- fixed searchable for extended / binded models |
| 198 | +- added support for meilisearch in searchable |
| 199 | +- removed deprecated searchable trait |
| 200 | +- fixed `Obj casts:` set method now performs json encode |
| 201 | +- fixed `Cash` label |
| 202 | +- updated `codesize/phpmd` config rules for constant naming |
| 203 | +- removed `Sleep` |
| 204 | +- added new min max utility methods to Decimals |
| 205 | + |
| 206 | +#### localisation |
| 207 | +- updated texts, added new keys & translations |
| 208 | +- added missing cleanup for the language update test |
| 209 | +- added missing php dependency |
| 210 | +- made seeder reusable in local projects |
| 211 | + |
| 212 | +#### logs |
| 213 | +- improved logs collection to handle archives |
| 214 | +- fixed tests |
| 215 | + |
| 216 | +#### meili-search (new) |
| 217 | +- implemented settings package for MeiliSearch |
| 218 | + |
| 219 | +#### phpunit-pretty-print |
| 220 | +- updated strlen usage to `Str::length` |
| 221 | + |
| 222 | +#### select |
| 223 | +- opened up flexibility on Options Service instantiation from `OptionsBuilder` |
| 224 | + |
| 225 | +#### tables |
| 226 | +- added support for dropdown actions |
| 227 | +- resolved resources from service container |
| 228 | +- updated template |
| 229 | + |
| 230 | +#### tasks |
| 231 | +- fixed export error |
| 232 | + |
| 233 | +#### typesense (new) |
| 234 | +- new typesense integration for Laravel Enso |
| 235 | + |
| 236 | +#### unit-conversion (new) |
| 237 | +- new unit converter utility classes for Laravel Enso. |
| 238 | + |
| 239 | +#### upgrade |
| 240 | +- added `getLength` in `Column` |
| 241 | +- added `exists()` helper for table |
| 242 | +- updated upgrade status to address change in `Symphony` console table |
| 243 | +- ignored upgrades from namespaces that are not within autoload |
| 244 | + |
| 245 | +### Private packages |
| 246 | + |
| 247 | +#### webshop-commercial |
| 248 | +- added webshop searchable array |
| 249 | +- maked default ranking 0 in search provider data |
| 250 | +- replaced the product dynamic method `WebshopSearchableArray` with a simple service |
| 251 | +- updated flow for `webshopDiscount`; now we no longer fall through to general supplier discount but use webshop company if no specific cliend discount exits |
| 252 | +- used float casts for searchable attributes |
| 253 | +- updated webshop order implementation |
| 254 | +- fixed class path and deprecated `Online` |
| 255 | + |
| 256 | +#### webshop |
| 257 | +- moved search provider product index to webshop from algolia |
| 258 | +- hides price and discount when no stock available |
| 259 | +- removed `webshop-shadow` role |
| 260 | +- added `isActive` to the `BaseFilters@facets` array (excluded facets) |
| 261 | +- moved searchable attributes to webshop from webshop commercial |
| 262 | +- updated contract & account order actions |
| 263 | +- updated `BaseFilters.php` |
| 264 | +- added availability filters |
| 265 | +- updated discount observer |
| 266 | +- hides empty filters |
| 267 | +- added price filter |
| 268 | +- added `priceFiltered()` getter |
| 269 | +- added services for search providers |
| 270 | +- removed `PaymentMethods` enum; |
| 271 | +- added payment config |
| 272 | +- added default sorting to newest |
| 273 | +- builded the new price filter |
| 274 | +- implemented most popular sort |
| 275 | +- various fixes, improvements and refactors |
| 276 | + |
| 277 | +#### emag |
| 278 | +- refactored add invoice -> upload invoice |
| 279 | +- refactored product index use |
| 280 | +- removed `ValidateStoreRequest` request, `MissingOffer` notification, deprecated `parents()` setter call, measurment units implementation, checker scopes & methods, recheck & cleanup flows and `notSyncedYet` scenarios branch |
| 281 | +- offer download throws exception on error; categories sync service deletes any old emag categories |
| 282 | +- updated order flow: now stopping before generating awb if not fully reserved |
| 283 | +- emag categories now have parent id |
| 284 | +- implemented awb schedule |
| 285 | +- added vat id to the offer update resource and conversionable unit Enums |
| 286 | +- updated `CreateCategoryEmagCategoryPivotTable` and `CreateEmagOffersTable` migration |
| 287 | +- now an offer is made inactive when we do not have stock |
| 288 | +- removed deprecated `NullableCategoryId` upgrade |
| 289 | +- added `emagDiscount()` dynamic for services, new headers to all emag requests and check for sync / when not empty |
| 290 | +- log now also sends email notification; added checker jobs failure handling |
| 291 | +- made the buy button rank array key `optional` |
| 292 | +- set number of offers & best offer sale price as nullable |
| 293 | +- renamed `last_checked_at` to `checked_at` |
| 294 | +- added check for the presence of the emag settings table for further scheduling |
| 295 | +- refactors `fetchPicture(s)` to `downloadPictures` |
| 296 | +- added new emag status |
| 297 | +- added upgrade to drop offers `discount_percent` |
| 298 | +- removed `auto_pricing` from the `Offer` table resource and urls from the settings form and migration |
| 299 | +- removed download after each operation; updated offer fill, using DI resource, new genius column |
| 300 | +- added upgrade for removal of old settings url columns |
| 301 | +- added commands for activation/deactivation of the emag api |
| 302 | +- various fixes and improvements |
| 303 | + |
| 304 | +#### commercial |
| 305 | +- enabled cancel |
| 306 | +- removed sort by `created_by/updated_by` |
| 307 | +- removed By columns from being searchable |
| 308 | +- added limit for product labels |
| 309 | +- updated products template |
| 310 | +- refactored `grn` to `goodsReceivedNote` |
| 311 | +- added `bulkStockRemoval` |
| 312 | +- added limit and ordering for bulk stock removal; |
| 313 | +- updated sale cancellation policy to exclude invoiced sales |
| 314 | +- added locks |
| 315 | +- updated limit to cover all cases |
| 316 | +- allowed sale fulfill, on default channel & internal warehouses when missing address |
| 317 | +- renamed `externallyFullfilled` |
| 318 | +- added quick fix for sales payment form |
| 319 | +- added awb schedule validation and internal code to typeahead controller |
| 320 | +- added serializeDate to models and cast to settings |
| 321 | +- reverted schema check |
| 322 | +- made settings `warehouse_id` nullable to avoid seed / provider / schedule issues |
| 323 | +- updated awb generation schedule to 06:00 |
| 324 | +- various fixes, refactors and improvements |
| 325 | + |
| 326 | +#### financials |
| 327 | +- date is now required for client payments |
| 328 | +- fixed payment due date logic; updated tests |
| 329 | +- fixed case when no serial is given |
| 330 | +- refactored code |
| 331 | +- due date fixes |
| 332 | +- added date serialization customization for all relevant models |
| 333 | +- updated client invoice form |
| 334 | + |
| 335 | + |
| 336 | +#### inventory |
| 337 | +- removed manual upgrade from the `INsLot` upgrade |
| 338 | +- fixed reservations count for `Reservations.vue` update |
| 339 | +- added `inventoryIn` locks as required to avoid over-reserving |
| 340 | +- extracted to services |
| 341 | +- added `is_bundle` check |
| 342 | +- removed App make from the Inventory interface |
| 343 | +- fixed update available emitting |
| 344 | + |
| 345 | +#### discounts |
| 346 | +- refactor for import |
| 347 | +- added reset |
| 348 | +- improved client product discount importer |
| 349 | +- fixed missing param |
| 350 | + |
| 351 | +#### frisbo |
| 352 | +- converted eav grams to kg when publishing product |
| 353 | +- updated resource to use the new unit conversion package; added validation |
| 354 | +- updated product bundle resource to correctly use bundled quantity |
| 355 | + |
| 356 | +#### eav |
| 357 | +- added a public `searchableKey` method on the attribute |
| 358 | +- improved `eav` filterable searchable key |
| 359 | +- small `Attribute` factory fix |
| 360 | + |
| 361 | +#### product-eav |
| 362 | +- replaced the `EavSearchableArray` dynamic product method with a simple service class |
| 363 | +- updated searchable array |
| 364 | +- improved facets |
| 365 | +- added search provider integration |
| 366 | +- fixed import |
| 367 | + |
| 368 | +### Upgrade steps |
| 369 | + |
| 370 | +* update the Enso version to `4.8.2` in `config/enso/config.php` |
| 371 | +* run `composer update` in the project's root |
| 372 | +* remove the `bulma-extensions` patch |
| 373 | +* run `yarn`, `yarn upgrade && yarn` in `/client` to ensure you have the latest versions and patches are applied. If necessary, update your patches |
| 374 | +* after `yarn upgrade`, update `vue.config.js` by adding `@enso-ui/route-mapper` package under `transpileDependencies` key |
| 375 | +* `php artisan enso:upgrade --before-migration` |
| 376 | +* `php artisan migrate` |
| 377 | +* `php artisan enso:upgrade` |
| 378 | +* as per every release, delete any local, deprecated upgrades |
| 379 | +* update all models having forms with date fields, by adding the following method: |
| 380 | +``` |
| 381 | +protected function serializeDate(DateTimeInterface $date) |
| 382 | + { |
| 383 | + return $date->format('Y-m-d H:i:s'); |
| 384 | + } |
| 385 | +``` |
| 386 | +Make sure you have set the `$dates` property. |
| 387 | + |
3 | 388 | ## 4.8.1
|
4 | 389 | ### Front-end
|
5 | 390 | For most of our frontend packages we've added router error handling.
|
|
0 commit comments