Introducing Grocery CRUD v3.1
We are excited to introduce Grocery CRUD version 3.1, a version designed with your peace of mind as our top priority. We've made significant improvements and added new features to ensure a worry-free experience for you. Read on to discover what's new in this version.
In the latest version of Grocery CRUD, version 3.1, we have focused on making it the version that you worry less about:
- Installation and upgrades: We've streamlined the process to make it easier and more reliable.
- Configuration values: If a configuration is missing, we are replacing it with the default configuration value.
- Documentation: We've improved our documentation to help you understand and use Grocery CRUD more effectively.
- Bugs: Numerous bug fixes have been implemented to make the software more stable.
- Performance: We've optimized the software to run faster and more efficiently.
- Security: Enhanced security measures have been implemented, including xss_clean and CSRF change for any framework. We've also tested specifically with Codeigniter 4 and Laravel 10.
Furthermore, version 3.1 has now caught up with all the features and details that were missed from version 2.
Default Configuration Changes
You don't need to worry if you have included all the configurations. Now, if a configuration is missing, we are replacing it with the default configuration value. This means that you can have a configuration file with only the values that you want to change.
New Configuration Value: `display_js_files_in_output`
This new configuration value allows you to include JavaScript files in the main output and not return them at the 'js_files' variable. This is useful for quicker installations/demos, but it is recommended to set this to false and have all of your JavaScript files at the bottom of your page before the closing body tag. Please consider that when JavaScript files are included directly in the output, you lose the ability to control when and where these files are loaded. We will have more documentation on this soon.
3.0 to 3.1 Upgrade
Upgrading from version 3.0 to 3.1 is straightforward and doesn't require any special steps. Despite the fact that we have refactored a lot of background sections, there are no breaking changes. Therefore, a simple
composer update --prefer-dist
as usual, and the copy of the asset/public files is more than enough.
Also, if you are using Codeigniter 4 or Laravel 10 you can have the public files updated with the same command.
Codeigniter 4
More specifically for Codeigniter 4 if your composer.json file has the following:
"scripts": {
"test": "phpunit"
},
You can change it to:
"scripts": {
"test": "phpunit",
"post-update-cmd": "@php spark publish"
},
This will automatically copy the public files to the public folder of Codeigniter 4 when you run the command of the
composer update. In order to do so, you will need to also have the file
GroceryCrudPublisher.php in the app/Publishers
folder.
Laravel 10
For Laravel 10, you can have the public files updated with a similar command. If your composer.json file has the "scripts" that looks like this:
"scripts": {
"post-autoload-dump": [
"Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
"@php artisan package:discover --ansi"
],
"post-update-cmd": [
"@php artisan vendor:publish --tag=laravel-assets --ansi --force"
],
"post-root-package-install": [
"@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
],
"post-create-project-cmd": [
"@php artisan key:generate --ansi"
]
},
Add the line:
"@php artisan vendor:publish --provider=\"GroceryCrud\\LaravelAssetsServiceProvider\""
on "post-update-cmd"
so your "scripts" will look like this:
"scripts": {
"post-autoload-dump": [
"Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
"@php artisan package:discover --ansi"
],
"post-update-cmd": [
"@php artisan vendor:publish --tag=laravel-assets --ansi --force",
"@php artisan vendor:publish --provider=\"GroceryCrud\\LaravelAssetsServiceProvider\""
],
"post-root-package-install": [
"@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
],
"post-create-project-cmd": [
"@php artisan key:generate --ansi"
]
},
and everytime you run the command:
composer update --prefer-dist
will also copy the public files to the public folder of Laravel 10.
Last but not least
We believe these changes and improvements will greatly enhance your experience with Grocery CRUD. We appreciate your support and look forward to your feedback on version 3.1 🤗🤗🤗.
You can find the full change log from version 3 to 3.1:
- 3.1.0 (Release date: 20 January 2024)
- GC-522: Upgrading to latest React and Redux versions.
- GC-523: Search doesn't work when I am searching from a page other than the first one.
- GC-521: Removing the page change loading delay when we change the page.
- GC-524: New Configuration: Display JavaScript files into the main output (default is false).
- 3.0.20 (Release date: 14 January 2024)
- GC-520: Multiple Grid in one page doesn't work. Only the first grid is loading.
- 3.0.19 (Release date: 28 December 2023)
- GC-519: When configuration remember_filters_upon_refresh is false and we have CSRF on, then "Something went wrong!" message appears for no reason.
- 3.0.18 (Release date: 26 December 2023)
- GC-518: hasActionButtonsMultiple is also showing the delete button.
- 3.0.17 (Release date: 22 December 2023)
- GC-516: Create 3 new functions: requiredAddFields, requiredEditFields and requiredCloneFields which specifies the required fields only for specific operations.
- GC-517: Introducing
groceryCrudSetQuickSearchValue
which you can set a quick search on datagrid externally with JavaScript.
- 3.0.16 (Release date: 01 December 2023)
- GC-514: While inserting show loading overlay so the user can't click on the save button twice.
- GC-515: Send Master Id on add/edit/clone form record when it comes from the detail page
- 3.0.15 (Release date: 18 November 2023)
- GC-510: Configuration for publish_events = true doesn't work on master-detail datagrid.
- GC-511: Insert/Add Form doesn't work when the relationNtoN is in the field list.
- GC-512: By changing the table name while we are developing a CRUD, some columns are getting disappeared due to browser cache.
- GC-513: Date Format to be automatically detected from the default language and region of the browser.
- 3.0.14 (Release date: 21 October 2023)
- GC-507: Add button "Remove Filters" when we have a quick search text on any column.
- GC-508: On Multigrid when we have more than 2 CRUDs the subject is wrong on add/edit form.
- GC-509: New configuration
remember_filters_upon_refresh
which we can exclude the filters in local storage if set to false.
- 3.0.13 (Release date: 07 October 2023)
- GC-505: Configuration
default_per_page
doesn't work. - GC-506: filter for setRelationNtoN doesn't work.
- GC-505: Configuration
- 3.0.12 (Release date: 23 September 2023)
- GC-504: Replacing default uploader with dropzone uploader and "Undo" button on accidental deletion of the file (before "Save").
- 3.0.11 (Release date: 01 September 2023)
- GC-501: "Read" operation doesn't work on "views" table.
- GC-502: fieldType "invisible" doesn't work as expected.
- GC-503: newTab = true doesn't work on setActionButton when it isn't in a dropdown.
- 3.0.10 (Release date: 11 August 2023)
- GC-498: Where statement using Lamina-Db Where object doesn't work as expected when we filter.
- GC-499: requiredFields doesn't work with upload data.
- GC-500: Adding multiple where statements with $crud->where.
- 3.0.9 (Release date: 08 July 2023)
- GC-494: Introducing a new PHP function
unsetSortingColumns
which you can unset the Sorting for the specified columns in the datagrid. - GC-495: A new implementation for
callbackBeforeUpload
,callbackUpload
andcallbackAfterUpload
methods. - GC-496: setRelationNtoN is returning empty data on edit for PHP version 8.x.
- GC-497: Third Party CSS (like datepicker) doesn't load on master detail forms.
- GC-494: Introducing a new PHP function
- 3.0.8 (Release date: 15 June 2023)
- GC-427: Ability to fully redirect after a CRUD operation.
- GC-493: Introducing new PHP configuration
remember_state_upon_refresh
. Default value istrue
.
- 3.0.7 (Release date: 04 June 2023)
- GC-490: Introducing
groceryCrudSetFieldValue
which you can set a form value externally with JavaScript. - GC-491: Enabling the
show_image_preview
configuration to work as expected. - GC-492: Fixing issue with error throwing when date or date time has invalid zero value such as '0000-00-00'.
- GC-490: Introducing
- 3.0.6 (Release date: 30 May 2023)
- GC-488: Multiple delete is throwing an error when using setRelation with where statement when we have an ambiguous primary field.
- GC-489: Issue with number of rows when we have a where statement on a setRelation
- GC-485: German locale is throwing an error when date and datetime field types are used.
- 3.0.5 (Release date: 23 May 2023)
- GC-485: Spanish locale is throwing an error when date and datetime field types are used.
- GC-486: readOnlyAddFields, readOnlyEditFields and readOnlyCloneFields method doesn't work.
- GC-487: Delete button doesn't work on SQL view tables.
- 3.0.4 (Release date: 14 May 2023)
- GC-483: Adding where functionality to setRelationDynamic.
- GC-484: Fixing inconsistent date and date time format and value from datagrid to CRUD form.
- 3.0.3 (Release date: 30 April 2023)
- GC-481: When date columns are hidden and you press filtering with a date, React DatePicker doesn't appear correctly.
- GC-482: Issue with date and date-time values showing the wrong data within datagrid.
- 3.0.2 (Release date: 14 April 2023)
- Fixing issue with failure error to appear as a simple popup message to the end user.
- GC-480 - MySQL Views doesn't consider the id from setPrimaryKey function on edit and delete.
- 3.0.1 (Release date: 10 April 2023)
- Introducing new method
setDatagridButton
which we can apply extra datagrid buttons on top or bottom of the datagrid.
- Introducing new method
- 3.0.0 (Release date: 02 April 2023)
- First official stable release of Grocery CRUD Enterprise v3.0.0
- 3.0.0-beta.10 (Release date: 26 March 2023)
- When 'remove_file_on_delete' is set to true, the file will be removed from the disk when we delete the record.
- 3.0.0-beta.9 (Release date: 20 March 2023)
- Portuguese Translations (pt-BR and pt-PT)
- 3.0.0-beta.8 (Release date: 15 March 2023)
- Fully functional for PHP 8.2
- 3.0.0-beta.7 (Release date: 11 March 2023)
- Secondary Table Header to be visible only when we have something to show.
- 3.0.0-beta.6 (Release date: 08 March 2023)
- Fixing issue when we disable the Multiple Delete button so the checkbox will not be shown.
- 3.0.0-beta.5 (Release date: 13 February 2023)
- Better UI for the validation error messages
- 3.0.0-beta.4 (Release date: 03 February 2023)
- Adding an asterisk when the field is required
- 3.0.0-beta.3 (Release date: 20 January 2023)
- Introducing
defaultColumnWidth
method to set the default column width
- Introducing
- 3.0.0-beta.2 (Release date: 05 January 2023)
- Introducing setSkin() method to set the skin of 'light' or 'dark' for our CRUD. The default skin is 'light'.
- 3.0.0-beta.1 (Release date: 28 December 2022)
- Our first version release for 3.0.0
Feb 08, 2024 by John Skoubourdis