Skip to content

v3.8.1

Choose a tag to compare

@aocneanu aocneanu released this 02 Feb 16:58

3.8.1

With this release, we have upgraded sass-loader to the latest version(8.0.3)

front-end

currencies

  • adds a Conversion.js service and a vuex store module
  • adds allowed prop to currencies
  • splits initialise in distinct actions for countries / currencies

divider

  • centers title and slightly adjusts horizontal position

forms

  • removed optional SelectField params attribute binding to field.meta.params
  • adds slot in form field

modal

  • adds ability to stack multiple modals w/o breaking close on esc

products

  • small cleanup

projects

  • adds projects status
  • upgrades deps

roles

  • extract hover to themes
  • adds class
  • revert

tables

  • adds clearSelected Helper
  • set pagesSelected to false directly
  • refactors action slots

teams

  • updated deps versions

themes

  • fixes syntax
  • move hover logic
  • refactor content-manager

tutorials

  • upgrades sass-loader

ui

  • adds an Avatar.vue component that works with the backend TrackWho resource
  • refactors users table to use the new avatar component
  • updated dependencies version

back-end

core

  • added migrations for morphable models namespaces
  • adds currencies permission in upgrade command
  • Spa and AppState flexibility #272
  • made AppState private methods protected.
  • Spa __invoke method will not instantiate with "new AppState" but with App::make
  • adds missing import
  • refactors Enso's Login event

countries

  • adds avoids deletion conflicts trait

currencies

  • fixes converter with default currency
  • adds check for same currencies in converter; adds exception if no rate is found
  • fix; needs refactor / rename
  • renames Converter to Conversion; adds an endpoint for making conversions; refactors validators location;
  • fixes typo in exchange rates table; adds an apiPrecision config option

data-export

  • adds a purge command
  • adds a retainFor config option

data-import

  • fixes validation/import logic
  • removed leftover/deprecated Validator methods

files

  • fixes forUser scope check

forms

  • adds option to customize label in form
  • added taggable to the list of supported meta params
  • removed params, pivotParams and customParams from the list of valid, optional meta attributes

helpers

  • fixes db seed progress bars
  • adds a DiskSize helper class for human readable values

image-transformer

  • removed leftover exceptions

localisation

  • removed leftover command
  • added new translation keys

migrator

  • removes leftover classes, improves structure migration rollback logic
  • fixes rollback when parent menu is null; small refactor
  • improves logic encapsulation
  • adds validation on rollback for permissions

products

  • improves syncSupplier method; improves validation

ro-addresses

  • fixes method signature in AddressForm

select

  • fixes bug when search is empty and the builder was making a comparison to %%

tables

  • removes unneeded name attribute from buttons
  • adds support for json resources on table properties
  • adds support for resource collection
  • adds comptesArrayColumns and computesModelColumns contracts
  • adds Resource computor
  • adds a strip template option that can receive an array of attributes that will be stripped from the response
  • refactors config to Config

track-who

  • fixes created by & updated by when no user is auth

Upgrade steps:

  • update sass-loader in client/packages.json from "sass-loader": "^6.0.0" to "sass-loader": "^8.0.0"
  • add bulma-extensions+2.2.2.patch from the current repo to your client/patches
  • update client/vue.config.js to compile the view locally instead of under the vendor folder
    filename: process.env.NODE_ENV === 'production'
        ? '../resources/views/index.blade.php'
        : './index.html',
  • update the default route in routes/web.php to
    Route::view('/{any}', 'index')->where('any', '.*');
  • add in .gitignore the local view (resources/views/index.blade.php)
  • since this version we went back on building the app for both legacy and modern browsers. To enable that you have to:
    • update the babel.config.js file to:
    module.exports = {
        presets: [
            '@vue/cli-plugin-babel/preset',
        ],
    };
    
    • add the --modern flag in client/package.json for the build script
    "build": "rm -rf ../public/{js,themes,themes-rtl,images} && vue-cli-service build --no-clean --modern",
    
  • run yarn upgrade && yarn in /client
  • run composer update in project root
  • update the version to 3.8.1 in config/enso/config.php

Note:

Besides what's mentioned above, you should go through these files in your project and align / adapt their content with the ones from the Enso repo:

  • client/package.json
  • client/vue.config.js
  • client/babel.config.js
  • .eslintrc.js and client/.eslintrc.js