v6.0.0
6.0.0
This release aims to bring our ecosystem one step closer to the latest Laravel release. The primary reason for the delay was the necessity to upgrade all dynamic relations across our entire codebase to support the native Laravel Implementation. This process required extensive testing to ensure proper compatibility.
Additionally, we took this opportunity to implement support for PHP native enums alongside our existing enum implementation. This decision was mandatory for maintaining backward compatibility while also embracing the latest features offered by PHP. Integrating these two required enum implementations further contributed to the release delay.
Here are the key highlights:
-
Laravel 10: Laravel 10 is now a mandatory requirement for the v6 release.
-
Form and Tables Packages Update: Both packages now support native PHP Enums in addition to our custom implementation, ensuring backward compatibility.
-
Automatic Dynamic Relations/Methods Registration: Dynamic relations are now registered automatically and utilize Laravel's native dynamic relation registration functionality. Dynamic methods are registered automatically as well. All dynamic methods and relations must be created under the
App\Dynamicsnamespace.
Front-end
accessories
- hides count if 0
addresses
- fixes modal multiple open/close
- improves logic segregation
- fixes default value for id in form
bookmarks
- fixes bookmarks
calendar
- removes deprecated imports
- adds colors
- fixes import
card
- fixes events
charts
- fixes rounding issue
checkbox
- fixes v-model use on prop
clipboard
- fixes size
- removes custom size
comments
- improves padding
- improves word break
companies
- adds ability to navigate to person create form from company edit form
- adds router error handler
- fixes #16
confirmation
- fixes attribute inheritance
currencies
- removes unneeded actions in store
data-import
- fixes rejected arg
- refactor due to
Typesenum deletion - adds invisible & template props in import uploader
- fixes import uploader
dropdown
- fixes selections during transition
- adds
open-upprop
files
- adds store
- adds count option on folder
- removes max width for files
- brings back
max-w - improves file layout
- adds
word-wrap:break-all
filters
- fixes input filter clear control
- fixes v-model on input filters
- supports null in core input filter
- improves label translation
- adds
xpadding for header
forms
- implements custom submit path
- adds
dirtyFieldsarray - adds
Confirmationto export list - makes all actions
<a>instead of<button> - removes confirmation modal
- extracts the new confirmation in its own component
- adds ability to pass params to select field
how-to
- raised limit for how to videos;
io
- removes redundant websockets connect
- fixes IO elapsed / remaining toggle
- improves operation template
- adds support for tasks
- makes tasks not cancellable
measurement-units
- makes form smaller
menus
- removes transition group tag from draggable
- removes unused prop
money
- fixes
modelValueprecision - fixes input for values with comma thousands separator
- fixes null handling
notifications
- removes redundant websockets connect
packaging-units
- improves form
people
- improves edit form
progress-circle
- allows string progress
progress-indicator
- fixes missing import
quick-view
- fixes animation
select
- ignores options if is server side
- fixes searchLimit condition
- fixes objects scenario
- adds open-up prop
strings
- fixes #2
switch
- improves label slots
tables
- adds event on ajax/fetch error
- implements filter state handling
- fixes initial filters backup
- improves filter state handling
- implements custom css row style
- fixes mobile controls
- adds ability to toggle selectable from ui
- clears selection when selectable is toggled
- fixes space in records info -> selection details
tabs
- improves tab id type
tasks
- removes redundant websockets connect
- update error handler in selector
themes
- fixes avatar size
- fixes tooltip arrow
- disables light classes for dark theme
typeahead
- now using trim for query length
- uses invalidRegExp in template
ui
- fixes code style
- uses await / async in store
- improves
app-update - puts
app-updateindicator in its original position - adds route getter in store
- added check for having the route in the state obj
- adds http helper in local
- fixes password reset
- adds
app-state-loadedevent - adds option to hide/show page header
- fixes edge case where the
appUpdateitem is not present - adds handling for
422errors in error handler - improves navbar item to accept array icons
users
- fixes user profile template
Back-end
action-logger
- implements
duration
addresses
- adds
namein township rememberable keys - adds
abbreviationin region rememberable keys - adds ability to update coordinates
- adds missing relations
- implements the new
geocodingKey - adds
Regionresource - adds locality name to resource
Locality - adds
addressesrelation - adds
Abilitiestrait
api
- allows string type request body
- adds timeout contract
- implements mandatory validation
- helper update
avatar
- adds minssing
unique()onfile_id
calendar
- fixes event filtering
- adds colors
charts
- depreciate when helper trait
comments
- refactor resource alias
companies
- makes
fiscal_codeunique in importer - drops
companies_reg_com_nr_unique
control-panel-api
- implements
syncPermissions
core
- removes superfluous enum
- removes .styleci.yml
- adds tiktok in config
- fixes email icons
- adds
noindexmeta
data-export
- improves export excel speed
- adds custom max contract
- adds custom count
- improves email subject for export done / export error notification
- implements
CascadesFileDeletion - adds missing
unique()onfile_id - fixes
syncExporter - improves data export by extracting iteration part; adds
CustomMininterface - fixes edge case in iterator
- Use qualified key name instead of key name
- adds notifiables ability to export
data-import
- added the purge command implementation
- removes prune batches
- makes private table builder methods protected
- adds avoids deletion conflicts on import
- added upgrade; updated migration
- set batch null on import cancellation
- implements
CascadesFileDeletion - updated cascade deletion; added missing unique index
- when restarting an import, optionally cleanup the attached
RejectedImport - improves purge command; improves table builder; fixes
rejected_importsfk - improves purge command
- fixes
deletemethod in model - fixed old
deletable($type)usages - fixes rejected load
- prioritized
RejectedDataImportForeignKeyAFTERRejectedDataImportId - fixes excel seeder
- Update
RejectedFileCreatedBy - improves excel seeder for better flexibility
- refactor due to
Typesenum deletion - fixes missing enum
- adds cancel stuck command
- implements CSV import
- reverts example import to excel
- addresses mentions
- depreciate when helper trait
- fixes exception in
Optionsservice, refactor - improves
restartmethod - adds
txtas supported type
document
- implements
CascadesFileDeletion - fixed deletion
- fixed actions
dynamic-methods
- improves dynamic methods and relations functionality, wraps core laravel dynamic relations
files
- adds file id unique upgrade
- fixes destroy redirect
- removes file in attachable; adds
CascadesFileDeletioninterface - fixes cascadable
- adds missing
unique()onfile_id - add upgrade to drop old morphable index
- improves performance in files index
- fixed upgrade order & type (manual)
- adds missing index
- adds
type_id&created_atindex - adds state for types
- improves upload controller logic
- adds
loadDatain file model - fixes icons in type index table;
- moves
is_publicinfile_typestable - fixes factory
- fixes browsing public files
form
- improves form mutators (arg handling)
- fixes args handling
- adds support for params
- adds support for pivot params & custom params
- depreciate when helper trait
- fixes encrypted columns length
- updated migrations
- addresses PR discussion
- removes static property from settings model
- adds recaptcha url field
- adds recaptcha validation rule
- improves message in recaptcha rule
- adds geocoding key
helpers
- adds round capability in Decimals
- adds use index ability in forceable index trait
- small refactor
- depreciate when helper trait
how-to
- adds minssing
unique()onfile_id
io
- improves
ioEvent - adds support for task
- reverted interface method return type
- uses
broadcastQueuemethods in event
localisation
- adds new confirmation text
- fixes translation
- improves texts
menus
- refactors the menu table
- adds filename for inline
people
- adds email in person resource
- implements
id_seriesandid_numberfields - import #23
- improves factory
- remove validator
- fixes upgrade order
- Update
IdNumber
permissions
- improves access-route gate to user cache
roles
- manages role-permissions cache
- improves cache handling
- caches permissions only in production
- improves role seeder
- reverts previous config change
- improves roles seeder
- adds user groups selector in form
select
- fixes pivot params with null value
- depreciate when helper trait, upgrade
tables
- adds properties to number
- sets decimal & thousand only when were defined
- removes money
- adds the ability to define method columns (calls method from model)
- adds method to default false meta columns array
- small refactor in filter class
- fixed error when filtering a multiple selection
- fixes internal string filters
- extracts table cache key in a method
- fixes and improves excel export performance
- fixes edge case when the writer was not initialised yet
- fixes enum export
- implements custom filtered count interface
- refactors interval logic
- fixes server side enum computation for loaded relations
- fixes strip order
tasks
- improves task validation
upgrade
- resets role permission cache
- adds tiny integer helper
- adds support for unsigned
- namespace update
- adds missing column upgrade helper
- fixes upgrade structure
user
- adds
isSuperior(role) in user - adds
canAccesshelper that caches permissions - implements
Role::permissionList() - adds
appellativegetter in user
Upgrade Steps:
-
Sync Composer Dependencies: Update your
composer.jsonfile according to this file. -
Run Composer Update: Execute
composer updatein your terminal. -
Follow the official Laravel 10 Upgrade guide: Refer to the Laravel 10 Upgrade guide, making sure to also check out the comparison tool and update your files accordingly.
-
Upgrade Dynamic Relations: Ensure all dynamic methods are under the
App\Dynamicsnamespace prefix. Follow this example. -
Upgrade Dynamic Methods: Ensure all dynamic methods are under the
App\Dynamicsnamespace prefix. Refer to this commit. -
Update User Factory: Refer to this file.
-
Optional: Migrate Existing Enso Enums to Native PHP Enums: If you wish to migrate your existing Enso Enums to native PHP enums, ensure that you use the
LaravelEnso\Enums\Traits\Select.phpTrait in order to retain compatibility with our Forms and Tables packages.