RELEASE NOTES MOVED
The release notes have moved to Gitea (See releases)
All release notes below are for archive purposes only.
1.8.0 (Dec 19, 2024)
- The
qlic/qualitypackage is now installed in system - Fields
- Added missing method:
enableStateTransferring(only disabling was possible before)
- Added missing method:
- VariableList - See upgrade guide
- Code field
- Added support for Twig and Variables (See documentation)
- Button field
- Added the ability to open URLs in a new window on response (See documentation)
- Auth preferences
- Updated auth preference field actions to align with tenant preference fields (see upgrade guide)
- RelatedModelDecorator field
- Added new field
RelatedModelDecorator(See documentation)
- Added new field
- Resource show
- Updated the portal (target) names in
ResourceShow.vue
- Updated the portal (target) names in
Upgrade guide
- VariableList
- Assured that
resourceToVariablesdoes not support models anymore to be passed to twig - The variable list registrar has been moved from the
\Qore\System\Mailing\VariableListto the\Qore\System\VariableListnamespace - VariableLists that could be used in mail templates now have to extend the
Qore\System\Mailing\VariableLists\MailableVariableList
- Assured that
- Fixed issues with field retrieval in
AuthPreferenceController- Make sure to follow the following changes in this MR
- Make sure that classes extending the
ActionHookimplement the correct parameter and return types - Upgraded Skeleton to better support qore 1.7.1+
- See the changes in this MR
- When using portals in your custom resource show pages, update according to this MR
1.7.1 (Nov 13, 2024)
- Twig / VariableList
- Fixed issue with resource relation field models not being casted to array
- Mailing
- Models are not allowed in the
QoreMail::send()argsarray anymore, instead use a model ID- The reason for this is that it's better to pass on less (and better serializable) data to jobs
- The args have the least priority (in terms of merging variables) now (was most before) so it does not override MailVariable variables
- Models are not allowed in the
- Twig
- When rendering twig, if an error occurs it will now always throw an exception
- It used to fail silently
- When an error handler is supplied, it will still fail silently, but log a critical error
- When rendering twig, if an error occurs it will now always throw an exception
- Preferences
- Added retrieval of Tenant Preferences Fields & Tab Layout via Qore Actions to allow for hooking and overriding
- Similar principle for the Auth preferences
- Added retrieval of Tenant Preferences Fields & Tab Layout via Qore Actions to allow for hooking and overriding
- Front-end helpers
- Added
$formatRelativeTimehelper for dates
- Added
1.7.0 (Nov 06, 2024)
- Forms
- Removed "debounce" functionality to add a required (red asterisk *) when fields are conditionally required
- This caused unexpected unwanted requests / side effects and should be fixed in a better way
- Removed "debounce" functionality to add a required (red asterisk *) when fields are conditionally required
- MorphTo field
- Added the ability to filter
morphTorelations by only thetypein index tables
- Added the ability to filter
- Job middleware
- Fixed issue with
userIdnot being nullable
- Fixed issue with
- Field
- Added support for a leading text for each field (See documentation)
Every field is wrapped within a <div class="base-field"></div> now in the front-end
- Modules & Plugins
- Extensions can now be hidden on the index page (See documentation)
- 2FA (see upgrade guide)
- Fixed issue with 2fa not always being verified in the back-end
- Whether 2fa is verified, will now be saved on the session:
2fa_verified
Upgrade guide
- If you have a local
qore.phpconfig file, please merge it with the latest one - Make sure to update the session in
app/Http/Controllers/Components/TwoFactorAuthenticationController.php@verifyafter validating, e.g.:
$user = Auth()->user();
$secret = $request->input('secret');
$recovery = new Recovery();
$recovery_codes = $recovery->toArray();
$request->session()->put('2fa_verified', true); // Add this
// ..
1.6.18 (Oct 29, 2024)
- Updated
maatwebsite/excelto^3.1.58to solve XSS issue - Added the ability to hide the reset button in forms
- Mailing
- Fixed index tabs (number indicators) on the overview table
- Added better display for error (status) message
- Added (re-)send ability for mail messages (e.g. when a mail failed to send)
- Added the ability to use a
reply_toaddress - Added the ability to set custom headers
- VariableValue field
- Options in forms are now sorted alphabetically based on (translated) label
- Added missing indices to database columns that are queried often in where clauses
- For reference: #562
- FilePicker & Image field
- Added fix for input width on smaller screens
- The field now validates (total) file size limit in the frontend, and shows validation errors
- BaseTable
- Fixed issue with table columns sometimes snapping back when resizing
- Fixed error that occurred after calling related resource actions when table actions were present
- Slider field
- Add missing required asterisk inside field
- Resource Tabs & Cards
- Added getters for Resource, Model, and Field in Card and Tab class
- Button field
- Added the ability to not show a notification after clicking a Button field
- Changed the styling of the Button field to exist in field meta allowing style changes during runtime
- Code type hinting
- The QoreResource now implement a docblock template for the Eloquent Model for type hinting
- For more info, visit: https://gitlab.qlic.nl/qore/qore-backend/-/merge_requests/575
- Tenant model
- Added
usersrelation
- Added
- Modules & Plugins
- Form now uses POST instead of GET method for fields endpoint
- Added the ability to use
onFormReadyclosure
- Resource
- Fixed 404 notification after deleting a resource
- SimpleEditor field
- Fixed a bug that would accept input when it was disabled or set to readonly.
Upgrade guide
- Publish migrations and migrate central/tenant
php artisan vendor:publish --tag=qore.system.db && php artisan migrate && php artisan tenants:migrate
1.6.17 (Aug 27, 2024)
-
Added MaterialIconSelect Field
-
Added MailReceiver Field
-
Added method to the SerialNumber Model to get a regex pattern.
-
Added the
logDescriptionmethod to theRunsActiontrait. -
Updated
PermissionCreator::crudato return a collection with the created permissions -
Updated TenantVariable(Values) Resources fields
-
Updated kvk related code to support api/v2
-
Updated the docblock of
QoreResource::modelwith return typeclass-string<Model> -
Updated the return types of
RunsAction::redirectToto includearray
Upgrade guide
qore/kvk:^1.0is deprecated.
1.6.16 (Jul 24, 2024)
- Dependencies
- Updated a few dependencies (see upgrade table below)
- Relation fields
- Filter options in tables are limited to records that are used / relevant based on the table query
- This prevents the filter options to be flooded with many (unused) relationships
- You can also manually mutate the filter options if necessary (See documentation)
- Repeater field
- Fixed issue with state being empty/null
- Forms
- Added fix for loader not going away when an error (or
dd()) occurs in the back-end
- Added fix for loader not going away when an error (or
- Wysiwyg
- Fixed issue with firefox adding space before content
Upgrade guide
- Ensure server compatibility with PHP 8.1 (Skeleton already requires ^8.1)
- If you require
laravel/scoutorteamtnt/laravel-scout-tntsearch-driveryou have to upgrade (or remove it since it will be added by qore/system)
Upgrade route:
composer require qore/system teamtnt/laravel-scout-tntsearch-driver:^14.0 laravel/scout:^10 && composer require --dev phpunit/phpunit:^10 squizlabs/php_codesniffer:^3.0 && composer require --dev phpro/grumphp:^2 -W
Remove route:
composer remove laravel/scout teamtnt/laravel-scout-tntsearch-driver && composer uptdate qore/system && composer require --dev phpunit/phpunit:^10 squizlabs/php_codesniffer:^3.0 && composer require --dev phpro/grumphp:^2 -W
Dependencies table
| Dependency | Old requirement | New requirement | Upgrade Guide/Warning |
|---|---|---|---|
| laravel/scout | ^9.4 | ^10.10 | Probably no changes necessary [Upgrade guide]. Make sure to composer require laravel/scout:^10 in root composer.json (or remove it since it will be added by qore/system) |
| teamtnt/laravel-scout-tntsearch-driver | ^12.4 | ^14.0 | No changes necessary. Make sure to composer require teamtnt/laravel-scout-tntsearch-driver:^14 in root composer.json (or remove it since it will be added by qore/system). |
devDependencies table
| devDependency | Old requirement | New requirement | Upgrade Guide/Warning |
|---|---|---|---|
| phpro/grumphp | ^1.3 | ^2 | No changes necessary. Make sure to composer require --dev phpro/grumphp:^2.0 -W (the first time it will fail, so run it twice) |
| phpunit/phpunit | ^9.5 | ^10 | Probably no changes necessary. Check PHPUnit 10 migration guide |
| squizlabs/php_codesniffer | 3.6.0 | ^3.0 | None |
1.6.15 (Jul 18, 2024)
- Resource actions
- Added the ability to optionally hide the eligible and denied model lists in resource actions (See documentation)
- Mailing
- Added
replyTomethod toSingleMessageMailer
- Added
1.6.14 (Jul 15, 2024)
- Roles & Permissions
- Added feature to apply direct permissions to users
- This way you can give a user permissions without applying a role
- Added feature to apply direct permissions to users
- Translations
- Qore front-end has its own translation files now
- Skeleton front-end translations have been moved to the Qore front-end
- Qore front-end has its own translation files now
- FilePicker field
- Fixed issue with smaller screen sizes
- PDF downloads
- PDF files will not open in new tabs anymore (due to file name reasons)
- Code field
- Fixed visual bug when editing inline
- Select field
- Fixed visual bug when options are added dynamically
- Resource duplication
- The
duplicateEnabledmethod expects a?Modelinstance now as single parameter
- The
- Menu
- Added the Laravel
Conditionaltrait to the menu item- This way you can conditionally show/hide menu items
- Added the Laravel
- VariableCreator
- Added
updateOrCreatemethod- Devs no longer have to check whether a tenant variable exists in for example the
onEnablefunction of a Qore extension
- Devs no longer have to check whether a tenant variable exists in for example the
- Added
- TenantVariable
- Added
translate_description(defaulttrue) toTenantVariablemodel- Prevents having localised descriptions in the database
- Added
- Repeater field
- Fixed issue with not being able to submit 0 items
- Modules/Plugins
- Extension index pages are now sorted by their localised display name
Upgrade guide
- Publish migrations & migrate
php artisan vendor:publish --tag=qore.system.db && php artisan tenants:migrate
1.6.13 (Jun 24, 2024)
- Repeater field
- Allowed to set a maximum number of repetitions for the repeater field with
->maxmethod - Added the
deletablemethod to allow for disabling the delete button
- Allowed to set a maximum number of repetitions for the repeater field with
- Slider field
- Added new field
Slider(See documentation)
- Added new field
- Field layout
- Fixed issue where
toggledboolean was not respected for cards
- Fixed issue where
- Resource creation
- Added event method for when a resource is created from duplication (
createdFromDuplicate)
- Added event method for when a resource is created from duplication (
- Resource components
- Added support for upcoming
dashboardsandmetricsmodules - You can now define which components to show on
indexanddetailson a resource (indexComponentsanddetailComponentsmethods)- Default Qore components are now defined in the
qore.phpconfig
- Default Qore components are now defined in the
- Added support for upcoming
Upgrade guide
- When you have a local
config/qore.php, make sure to add the following:
'resource' => [
// ...
/**
* The default vue components that are shown on a resource index and detail page.
*/
'system_components' => [
'resource-alerts',
'resource-index-table',
'resource-block-buttons',
'resource-detail'
]
],
1.6.12 (Jun 05, 2024)
- Upload fields (e.g.
FilePicker)- Added support for setting a different file disk (such as S3) (See documentation)
- qore/frontend cleanup
- Removed
@sentryfrom the qore/frontendpackage.json - Removed unused
vue-query-builderfrom the qore/frontendpackage.json - Removed
npmfrom the qore/frontendpackage.json- This allows for easier and on-demand updating
- Removed
- Resource actions
- Fixed issue with models not being found when soft deleted
Upgrade guide
- When
boot/sentry.jsis still present in your app, add it back in your own frontendpackage.json:"@sentry/tracing": "^7.91.0",
"@sentry/vue": "^7.91.0",
1.6.11 (May 26, 2024)
- Resource duplication
- Added
duplicateInitialStatefunction to resources (See documentation)
- Added
- Relational fields
- Fixed issue that caused empty array to not be respected
- The
->filterOptionswill also accept aClosurethat will only get called when the column is filtered- This is only supported for relational fields on resources (not custom tables or non-relational fields)
- Phone fields
- Added missing validation for metadata fields
- Preferences
- Users can now override the primary and tint colors
- Table sticky columns
- Fixed issue with styler background color not being respected
- Table
- Fixed table row cmd+click / ctrl+click issue for Firefox Developer Edition
1.6.10 (May 22, 2024)
- Field dependency
- Fixed issues with field visibility when using
->dependsOn
- Fixed issues with field visibility when using
- Wysiwyig field
- Removed throwing exceptions when a warning occured in logging
- Twig
- TwigRenderer will use the
sandboxmode now by default - The
config/qore.phpwill have atwigsection now where tags and filters can be configured- If you have a published
qore.phpfile, make sure to add thetwigsection
- If you have a published
- TwigRenderer will use the
- MailMessageResource
- Added
indexQuerysupport when there is no authenticated users (system calls)
- Added
- Price field
- Added better support for setting currency (symbol)
- FormState
- Added the
->getFieldand->getFieldshelper methods
- Added the
- Wysiwyg
- Fix configuration issue with Tinymce not allowing inserting links to current host
1.6.9 (Apr 29, 2024)
- Tables
- Disabled virtual scroll because filters lose focus while typing
- This issue will be addressed in the future
- Disabled virtual scroll because filters lose focus while typing
- Button field
- The
onClickclosure is not required anymore- E.g. when you only want the button to redirect
- The
1.6.8 (Apr 18, 2024)
- Field
dependsOn- The
dependsOnclosure will now be called on initial request instead of separate ajax call- This reduces a lot of unnecessary requests
- The
- Field
onInitialFormRequest- Each field can override the new
onInitialFormRequestmethod (See documentation)- This method will be called when the field is loaded for the first time in the request
- Each field can override the new
- Helpers
- The front-end global
$log(..)helper accepts more than 1 argument now
- The front-end global
- Wysiwyg (and similar fields)
- You can now customize how data should be purified using
->purifyUsing(See documentation)- In some cases you might not want to purify data
- You can now customize how data should be purified using
- Resource options query
- Resources can override the new method
optionsQuerywhich will be used for relational select fields (See documentation)- This way you can customize and optimize the query when fetching options for a field
- The
indexQuerywill still be used as a default
- The
- This way you can customize and optimize the query when fetching options for a field
- Resources can override the new method
- Resource table
- Fixed issue that caused the table to load all fields instead of only index fields
- qore/crm
- Fixed N+1 query issues
Upgrade guide
- Make sure to add the changes as seen in this MR
- Fixed N+1 query for
preferencesandpublicSettingson active tenant
- Fixed N+1 query for
1.6.7 (Apr 11, 2024)
- Checkbox field
- Fixed styling issue for tooltips
- Resources
- Added
onFormReadymethod which can be overridden for create and edit forms (See documentation)- This will be called on every lifecycle in the form
- Added
- Resource table
- Expanded rows will now show the
ResourceShowcomponent when editing is not enabled
- Expanded rows will now show the
- qore/crm
- Added
mail_ccandmail_bccto the organization resource
- Added
- qore/invoicing
- Multiple changes added
1.6.6 (Apr 02, 2024)
- Price field
- Added missing
FieldIsRepeatableimport
- Added missing
- Repeater field
- Repeated fields can now be marked disabled or readonly
1.6.5 (Mar 27, 2024)
- Activity logs
- Improved the way how activity is loaded in the
ActivityLogTable- Two logs with the same
created_atdate will now be sorted by ID afterwards
- Two logs with the same
- Improved the way how activity is loaded in the
- Code field
- Is now repeatable
- Added
jsonas allowed language
- Tables
- Fixed issue with
Buttonfieldclickevent not preventing parentclickevent
- Fixed issue with
- Repeater Field
- Add
draggablemethod to allow setting a sort order for the rows (See documentation)
- Add
- qore/frequency
- Added new plugin which exposes a new field
Frequency- This field can be used to set up a cron job frequency
- Added new plugin which exposes a new field
- qore/invoicing
- Added new feature: invoice merging
- Added banners from CRM to detail page if CRM is enabled
- Added feature to schedule automatic bookings (which can be configured in the module settings)
1.6.4 (Mar 13, 2024)
- Checkbox field
- Removed the unexpected
acceptedrule if therequiredrule is added - Added asterisk (*) only when the
acceptedrule is included - The field will take less vertical spacing now in forms
- Removed the unexpected
- RelationTableField
- A closure expecting a model can now be used in the
queryfunction (See documentation)
- A closure expecting a model can now be used in the
- Alerts
- Method
setModelcan now be called without Qore overwriting the model you set - Fixed visual bug that was introduced by 1.6.3 release
- Method
- Select / Relation fields
- Select fields are now filterable on description as well
1.6.3 (Feb 29, 2024)
- RepeaterField field
- Added support for field metadata for the inner fields (See documentation)
- This meta will be the same for each row
- Added support for field metadata for the inner fields (See documentation)
- Number field
- Is now repeatable
- BetterTime field
- Is now repeatable
- Added fix for the required asterisk always showing in front-end
- SerialNumber field
- The name of the field is now the column for saving the generated number
- Before, it was always hardcoded serial_number
- The name of the field is now the column for saving the generated number
- Resource Chips
- Added (missing) chip validation errors in the front-end
- Authentication settings
- Fixed issue that caused the
2fa_requiredsetting to not be public when saving the settings
- Fixed issue that caused the
- Roles
- Fixed bug that caused
2fa_requiredto not be saved on a created Role - The
RoleCreator:createmethod now accepts an optional$twoFactorAuthRequiredboolean parameter
- Fixed bug that caused
- Resource Alerts
- Resource alerts will use the
resource-alertcomponent now instead ofbase-message - Added buttons (simple actions) support (See documentation)
- Resource alerts will use the
- qore/invoicing
- Added info about overdue days in tooltip on payment due at
- Added payment info on Quick Action & Payment progress improvements
1.6.2 (Feb 19, 2024)
- Phone & PhoneNumbers fields
- Fixed display format for non-NL phone numbers
- MailMessageResource
- Fixed bug which caused errors when there was a mail message not attached to a resource
- This bug was introduced in last patch (1.6.1)
- Fixed bug which caused errors when there was a mail message not attached to a resource
- Removed unnecessary caching from
get_central_database_name- This caused issues when switching between projects/databases
- qore/invoicing
- Added the description field to the invoice template resource.
- Refactored detail page into multiple components
- Added the ability to set the payment date in the invoice payment builder
- Make sure to publish migrations & front-end (forced)
Upgrade guide
- Make sure to add the changes as seen in this MR
- Fixed issue that was caused when the password is made empty
1.6.1 (Feb 12, 2024)
- Mailing
- Mail messages will have a
resource_namecolumn now- This is required for permission checking
- Mail messages will have a
- Mail messages
- Messages are now protected behind 3 new permission scopes
ViewAllSentMails-> View all mail messagesViewResourceSentMails-> View messages linked to resources that the user canviewAnyViewOwnSentMails-> View messages that the user has sent- Both
MailMessagePolicyandMailTemplatePolicynow exists inside Qore
- Both
- Added missing
morphTorelationship for instigator on theMailMessagemodel
- Messages are now protected behind 3 new permission scopes
- Permissions
- The
RoleCreatorclass create method will now usefirstOrNewinstead of always creating- This now aligns with the
PermissionCreatorand will be more friendly for re-running seeders
- This now aligns with the
- The
- Resource permissions
- The
getPermissionNames()method supports an array of permissions now for every policy method
- The
- BaseDialog (front-end)
- BaseDialog accepts a
titleslot now
- BaseDialog accepts a
- Field Layouts
- Fields that are shown next to each other in a row (as columns), will now have the option to have a custom
classandmin-width - This is applied to every existing FieldLayout (See documentation)
- This class was always
coland the min-width was always150, meaning if you had 2Buttonfields next to each other, there would be a lot of space between them
- This class was always
- Fields that are shown next to each other in a row (as columns), will now have the option to have a custom
- StepsLayout
- Improved styling by making the tabs more condensed and removed unnecessary margin in between fields
- qore/crm
- Mail messages card table will now also show messages where the organization is the instigator
- qore/invoicing
- Mail messages will now save the receiver (organization) after sending
- Fixed issue with detail page when user had no permissions to see mail messages
- qore/address
- Added missing model relationships for
entity
- Added missing model relationships for
Upgrade guide
- Make sure to run:
php artisan vendor:publish --tag=qore.system.dbandphp artisan tenants:migrate- This migration will also try to set the
resource_namefor each existing mail message
- This migration will also try to set the
- Make sure to add the changes as seen in this MR
- To re-seed permissions:
php artisan tenants:seed --class=Database\\Seeders\\Tenant\\PermissionsSeeder - Please note after re-seeding only admins will be able to view messages, you will still need to update the roles
- To re-seed permissions:
1.6.0 (Feb 05, 2024)
- Table exports
- Fixed
table-export.blade.phptrying to call non existingformat_text()helper when rendering totals
- Fixed
- Resource tabs & cards
- A
booleanvalue can now be optionally passed into the->asTaband->asCardfunctions- Note: if you have overwritten these class functions before, make sure to add the corresponding parameters
- A
- Resource Table
- Added method
postProcessTableRowon resources to apply styling on table rows without depending on fields- See also Table row styling for more information
- Added method
- The
QoreMail::sendhelper will now use a stringcode_nameinstead of thenameof the mail template- This change is necessary because end-users could potentially change the name of the mail template
- qore/invoicing
- The invoice lines default mapped line config can now accept a
FormStatein the closure - Updated mail template seeder for above
code_nameaddition
- The invoice lines default mapped line config can now accept a
Upgrade guide
- Make sure to update your mail template seeders as seen in this MR
- Make sure to run:
php artisan vendor:publish --tag=qore.system.dbandphp artisan tenants:migrateto add and seed thecode_namein themail_templatestable- The migration makes sure that the new
code_namewill be set to the currentname
- The migration makes sure that the new
1.5.9 (Jan 31, 2024)
- Image field
- Fixed issue which made it impossible for multiple Image fields to upload the same image
- BaseForm
- Fixed issue that caused back-end
dd()to cause endless loading spinner on submit button
- Fixed issue that caused back-end
- Activity logs
- The activity log is now scoped to logs in the
defaultlog
- The activity log is now scoped to logs in the
- Wysiwyg Field
- Added 9, 10, and 11 as default available font sizes
- Fixed issue with
blurevent not updating the template preview
- Twig templating
- Added support for Wysiwyg editors that converted characters like
<and>
- Added support for Wysiwyg editors that converted characters like
- Front-end Resource Permissions
- Reduced default cache duration from 30 min to 5 min (on production)
- Sentry (front-end)
- Updated Sentry dependencies in
package.json
- Updated Sentry dependencies in
Upgrade guide
- Make sure to make the following skeleton error corrections
- Make sure to correct and add robots.txt files
1.5.8 (Jan 26, 2024)
- qore/kanban
- Add support for qore/kanban v1.0.0
1.5.7 (Jan 24, 2024)
- Mailing
- Fixed issue which caused mails to not be sent when multiple receivers were selected
- Resource Alerts
- Alerts can now be shown on create and index as well
- Just make sure to add:
->hideOnIndex(false)or->hideOnCreate(false)because it is only shown on detail by default - The
modelproperty on Alerts are now marked nullable (see upgrade guide)
- Just make sure to add:
- Alerts can now be shown on create and index as well
- Number formatting
- Fixed issues with inconsistent number formatting in front-end. It will now use an equivalent of PHP's number_format function
- Also added
$isNumberhelper in front-end
- Also added
- Fixed issues with inconsistent number formatting in front-end. It will now use an equivalent of PHP's number_format function
- Mail footers
- Mail footer index table has tabs now (for users and tenants)
- Mail footers can now be attached (to user or tenant) in the form
- Mail footer field is removed from TenantResource
- MailMessageResource
- Removed hardcoded references to this resource class
- qore/invoicing
- Added
->getPdfFileAsBase64()method to the invoice model - Added module setting which will optionally update the invoice date & payment due date when sending the invoice
- Upgrade guide is mandatory to follow, even when not using this feature
- Added
- qore/mailgun
- Updated message external id to have surrounding
<and>
- Updated message external id to have surrounding
Upgrade guide
- Alerts
- If you have custom resource Alerts, make sure you mark your
$modelproperty as nullable (if you have overridden it)- The type should be:
protected ?Model $model = null;
- The type should be:
- If you have custom resource Alerts, make sure you mark your
- qore/invoicing
- Make sure you add the following event & listener to
config/invoicing.phpin theevent_listenersarray:- This will make sure the status and dates will be updated before an invoice is sent
- Make sure you add the following event & listener to
InvoiceBeforeSending::class => [
UpdateInvoiceBeforeSending::class
],
1.5.6 (Jan 22, 2024)
- BaseForm
- The
fields-endpointroute will now also supportPOSTroutes - The reason why this is implemented, is because server configurations may deny
GETrequests with a lot of data, this way you can usePOSTif necessary- See also Why is form URL so long? for more information
- Resource create and edit endpoints will now use
POSTby default- The following prop should be added on
<base-form>when you want to supportPOSTin custom forms:use-post-for-fields-endpoint
- The following prop should be added on
- The
1.5.5 (Jan 17, 2024)
- Form interceptor
- Fixed issue with forms loading indefinitely when intercepted
- Code field
- Fixed issue that caused the form to submit when pressing enter inside dialogs
- Fixed issue with preview not working when the code had a lot of characters
- Phone field
- Changed phone
hrefto align with actual number instead of display value
- Changed phone
- Color field
- Added color display for index and detail
- Disabled index filter
- Relation fields
- Added
ResourceRelationAttachedevent for when an external resource model is attached - Added
ResourceRelationDetachedevent for when an external resource model is detached
- Added
- Date & DateTime filter
- Added checkbox to enable dynamic range filtering
- This way you can save a filter (e.g.
last 7 days) without having "hard" dates
- qore/address
- Updated PhoneNumbers field for change above (make sure to force publish)
- qore/invoicing
- Downloading PDF will not conflict with browser extensions anymore
- Fixed issue with PDF not being re-generated when sending a concept invoice
Upgrade guide
- Add missing translations as seen here, here and here
- Also make sure to add
TINY_API_KEYto your.envso it does not get overridden when seeding
- Also make sure to add
- When using
qore/addressand/orqore/invoicingmake sure to force publish front-end
1.5.4 (Jan 10, 2024)
- Number field
- Fixed value to not be casted properly to a number in some cases
- Relation (field) tables
- Added bulk action checkboxes support for these tables
- Actions can be defined on the field using:
->withTableActions(...)(See documentation)
- Actions can be defined on the field using:
- Added bulk action checkboxes support for these tables
- Place field
- Fixed missing validation error when country was empty
- RelatedToMany field
- Added missing default
withRelationalDisplaycall- The other resource
modelTitle(...)will now be used by default
- The other resource
- Added missing default
- BaseTable exports
- Added support for exporting custom base tables
- Selecting records and async (via job) exporting is not supported yet
- More information can be found here (See documentation)
- Added support for exporting custom base tables
- Field Macros
- Added
Macroabletrait to fields to allow custom methods to be appended- E.g.:
Text::macro('enableKanban', function() { ... } )
- E.g.:
- Added
- Front-end
- Added support for turning Kanban on/off for relational fields
- qore/crm
- Fixed issue with wrong model being used in global search result
- qore/layout
- Marked relation buttons as disabled when users have no permission to attach
- Force publishing required (
php artisan vendor:publish --tag=qore.layout.frontend --force)
- Force publishing required (
- Marked relation buttons as disabled when users have no permission to attach
1.5.3 (Jan 09, 2024)
- Select / Relational fields
- Added better searching in dropdowns for special characters
- E.g.: knäckebröd > kna"ckebro"d > knackebrod
- Added better searching in dropdowns for special characters
- Resource create
- Added checkbox that allows for creating another resource record so the user will not be redirected to the detail page
- This is disabled by default, but can be enabled for all resources by overriding qore.php config file
- You can also enable it per resource by overriding (See documentation)
- BaseForm
- Keep submit button disabled shortly after success event to prevent users from clicking it again
- Events
- Added multiple event calls in system which can be used for debugging/listeners
- E.g. when a field renders or when a plugin has booted
- Added multiple event calls in system which can be used for debugging/listeners
- qore/kvk
- Allowed users to also search for KVK number alongside name and place
- qore/ckeditor
- Added numerical font size support
- Added config overriding support (See documentation)
- Force publishing required (
php artisan vendor:publish --tag=qore.ck.frontend --force)
- Force publishing required (
- qore/crm
- Multiple small hotfixes
- Fixed issues with module settings page that were introduced in prior patch
- Salutations for contacts are now defined in text fields, please read the upgrade guide
Upgrade guide
- Add missing translations as seen here
- If you have a local
qore.phpconfig file, make sure to add the following:
/**
* General resource configs
*/
'resource' => [
/**
* Whether to add the `add another one` front-end checkbox when creating a resource
* Can be overridden on a resource via `isCreateAnotherOneAllowed(): bool` method
*/
'allow_create_another_one' => false
],
- qore/crm
- Salutations are now managed in text fields, if you have a custom
SalutationSeeder, make sure to respect the original one - You have to disable en re-enable this module to seed the new salutations
- Salutations are now managed in text fields, if you have a custom
1.5.2 (Jan 04, 2024)
- Choice Field
- Removed unnecessary debouncing
- MorphTo Field
- Fixed issue wich caused an error when resource could not be found when displaying
- Resource show
- Removed checks for which attachableFields are available (used for
qore/layoutmodule)
- Removed checks for which attachableFields are available (used for
- Kanban
- Implemented
hasKanbanmethod on resources (used forqore/kanbanmodule) - Fixed issues with Kanban Module not switching in Relational tables
- Implemented
- Rating Field
- Added the ability to use
displayUsingfor the index value. - Fixed issue with rating input event
- Added the ability to use
- Responsiveness
- Fixed console error on resource index
- Fixed full-width display on resource detail
- Roles and permissions
- Checkbox is now hidden in role edit table if the ability does not exist
- MainMenu
- Make icons less wide so there is more space for menu items
- QN2
- Added multiple features/bugfixes to extensions:
Agency Projects,Kanban,Tickets,Products,Employee,Nmbrs,Time Registration,Login branding,Exact Online
- Added multiple features/bugfixes to extensions:
- qore/crm
- Fixed mutiple small issues and inconsistencies. Only major changes are described below.
- Added
editableLogoFieldto make editing logo possible via upload (only on edit) - The
iconandlogofield names were reversed which is fixed now- Resetting the index table might be necessary
- Brandfetch will no longer autofill the description
- Added default labels to address related fields
- qore/address
- Added ability to set default label for mobile
- Added support to overwrite the default label for phone and mail addresses
- Change mailto to
telin PhoneNumbers index
- qore/layout
- Added multiple small features and bugfixes in the front-end files
- qore/invoicing
- Multiple changes and features have been implemented for QN2. Below are the major ones.
- Marked invoice as credited when total amount is negative
- Added Word module support as a choice for templating
- Forced default invoice line quantity as int
- Added support for decimal invoice line quantities in backend
- Implemented additional invoice line fields
- qore/adversus
- Removed accidental test code which was still present
- qore/graph
- Test mails from the settings page will now be saved in the outbox in Outlook
Upgrade guide
- Please make the same Skeleton changes as the merge requests below
- If using any of the modules/plugins as mentioned above (
qore/crm,qore/addresses,qore/layoutetc.) make sure to:- Publish latest front-end files --forced
- Publish latest migrations
- Other updates if necessary
1.4.8 (Dec 04, 2023)
- Resource validation
- Added the ability to append validation messages and attributes on the resource (See documentation)
- This way you can edit the validation message, without creating a new field class that extends Field
- Added the ability to append validation messages and attributes on the resource (See documentation)
- Form fields
- Added debounce value to every Qore field by default
- This exists to make sure
->onUpdatewill not be called multiple times - Front-end fields don't need to make use of debouncing anymore, unless for heavy javascript operations
- The debounce value can be set in the backend (Debounce value)
- This exists to make sure
- Fields will now display a loader when busy (was accidentally removed in previous updates)
- Added debounce value to every Qore field by default
- Stateless API integration
- Qore can now be accessed through authorization tokens (Bearer token) (See documentation)
- This will make it possible for apps to connect to Qore without needing a session, domain etc.
- Qore can now be accessed through authorization tokens (Bearer token) (See documentation)
- Wysiwyg, CKEditor and BetterTime Fields
- Submitting right after filling these fields will now have the most recent value
- Database sessions
- Prevent every request from doing an update query
- It will now only update current session if it wasn't updated in the last 30 seconds
- Prevent every request from doing an update query
- qore/ckeditor
- Added support debounce (no publishing necessary)
Upgrade guide
- To support API integration, make sure to make the following changes:
- Make sure your password reset table is correct
1.4.7 (Nov 29, 2023)
- Auth
- Users will now be redirected to, if given, the intended URL after logging in (See upgrade guide)
- Before this, users would always be redirected to
/home
- Before this, users would always be redirected to
- Users will now be redirected to, if given, the intended URL after logging in (See upgrade guide)
- Forms
- Submit button will now show a loader when the form is busy
- Pressing enter in relation create dialog will now submit the form
- Resource index fields
- The method
->deselectByDefault(bool $value)is now marked as deprecated - Instead, use
->deselectOnIndexByDefault()- The inverse of this method is
selectOnIndexByDefault()
- The inverse of this method is
- The method
- MorphToMany & BelongsToMany Fields
- Added
->fillPivotUsingsupport to update pivot columns (See documentation)
- Added
- HasMany & MorphMany Fields
- Fixed issue which caused unnecessary activity logs to be created when saving
- Documentation
- Expanded documentation for relation fields and moved them to a separate page (Relation fields)
- Added Relationship cheat sheet for example migrations & relationships to get started
- Expanded documentation for relation fields and moved them to a separate page (Relation fields)
- qore/invoicing
- Added
fillabletoGeneralLedgermodel and minor fixes
- Added
Upgrade guide
- Make the following change.
- This will add the redirect after a user logs in
1.4.6 (Nov 27, 2023)
- Encrypted Text Field
- Added various bug fixes
- CardsLayout
- Fixed issue that caused the first field to not get autofocused
- Tenant Variable Values
- Fixed issue which caused the delete and submit buttons to show before the form was loaded
- Price & Number fields
- The
withCurrencySymbolmethod does not require an argument anymore- When no argument or null is given, it will get the preferred currency by default
- Price field will now show the currency symbol by default in forms
- The
- qore/ckeditor
- Added fix for
autofocusnot working
- Added fix for
- qore/invoicing
- Added checkbox for displaying detailed description on invoice PDF
- Switched TinyMCE with CKEditor (
qore/ckeditoris now mandatory plugin) - Added support for variables inside detailed description
- Add
syncicon when a payment has an external ID
Upgrade guide
- qore/invoicing
qore/ckeditorplugin now required- Following commands required:
php artisan vendor:publish --tag=qore.invoicing.db
php artisan vendor:publish --tag=qore.invoicing.frontend --force
php artisan vendor:publish --tag=qore.invoicing.views --force
php artisan tenants:migrate
1.4.5 (Nov 21, 2023)
- Added the new Rating field
- Wysiwyg field
- The Wysiwyg field supports the
->withTwig()method now, which adds functionality fromTwigTemplate - The Wysiwyg field can have a label now
- The TwigTemplate field is now marked deprecated (will be removed in future update)
- The Wysiwyg field supports the
- CK Editor
- The CKEditor field also supports the
->withTwig()method - The CKEditor field can have a label now
- The CKEditor field also supports the
1.4.4 (Nov 15, 2023)
- Mailing
- Added command that allows for sending test e-mails:
php artisan qore:send-test-mail - This command has no arguments, and will ask for input
- Added command that allows for sending test e-mails:
- Field detail
- Added backwards incompatibility fix (legacy projects errored on
tooltipsprop)
- Added backwards incompatibility fix (legacy projects errored on
- Guidelines
- Added Guidelines documentation page
- This document is incomplete, but will be expanded over time
1.4.3 (Nov 14, 2023)
- ColumnCardLayout
- Implemented card toggling
- CSS helpers
- Added support for
gap-${size}classes similar toq-col-gutterandq-m/p - See more info here
- Added support for
- Preferences
- Added 2 preferences which determines how the resource table pagination and resource detail page looks
- These preferences will both be available as fields on the tenant and auth preferences page
- Accessibility
- Forms can now be submitted with key press:
CMD (or ctrl for windows) + Enter
- Forms can now be submitted with key press:
- Repeater field
- Fixed issue that caused a compile error for some developers
- Legacy support (only relevant for old qore project(s))
- Add
DISABLE_INLINE_EDITING=TRUEto your.envif you want to disable inline field editing
- Add
Upgrade guide
- CSS
- To allow for Sass/SCSS variables, please add the following change
- Qore config file
- If you have a published
config/qore.php, make sure to add the following (belowmenu_size):
- If you have a published
'page_detail_size' => [
'default' => 'default',
'items' => [
[
'id' => 'default',
'label' => 'Default'
],
[
'id' => 'roomy',
'label' => 'qore::system.Roomy'
]
]
],
'table_pagination_display' => [
'default' => 'footer',
'items' => [
[
'id' => 'footer',
'label' => 'qore::system.In footer'
],
[
'id' => 'below_table',
'label' => 'qore::system.Below table'
]
]
],
1.4.2 (Nov 02, 2023)
- Resource table
- Pagination
- Pagination is now a custom component and is being displayed inside sticky bottom bar
- Tables can expect a
sticky-bottom(bool) prop now
- Tables can expect a
- Pagination is now a custom component and is being displayed inside sticky bottom bar
- Summary columns
- Calculate and show column summaries based on which rows are selected via checkboxes
- Fixed minor issue in price formatting for summaries
- Browser history
- Remember search columns when going back in browser history when a tab is selected
- Fixed issue which didn't restore table page number when going back when a tab was selected
- Styling
- Fixed background color always being white when table styling is defined
- Pagination
- Resource table filters
- Table filters can now be marked as tabs, which will add tabs above the resource table
- Table filters can now be edited
- Resource detail
- Fixed issue that caused some fields to not have full width on detail
- Performance
- Added boolean for
request_cachehelper whether to ignore tenant id for cache key - Removed a few duplicated query calls
- Added boolean for
Upgrade guide
- Table filters
- Publish & Migrate latest system migration:
php artisan vendor:publish --tag=qore.system.dbandphp artisan migrate
- Publish & Migrate latest system migration:
1.4.1 (Oct 31, 2023)
- Qore Form
- While a field is busy, the submit button will now be disabled in forms until no field is busy anymore
- Resource detail component
- The resource detail page can be included as a component (e.g. in a dialog) now:
<resource-show :resource="resource" :modelId="modelId" /> - Form State
- Made sure that the initial state is respected before each field gets an
runUpdateOnInitcall
- Made sure that the initial state is respected before each field gets an
- Reverted
BelongsTofield to have a component name- Fields that extend other fields should add their own
componentmethod - See more info here
- Fields that extend other fields should add their own
- CSS
- Fixed issue with resource detail styling which was introduced in 1.3.8
- qore/invoicing
- Added multiple fixes for issues that were introduced by older Qore versions
- Added fix for price column always showing vat included value
- Re-publishing of front-end files is required
- Module settings should be saved or seeded once manually to make sure some settings are made public for the front-end
1.4.0 (Oct 24, 2023)
- Added the
prependslot to theBelongsTo Field - Fixed item allignment in the summary row on index tables.
- Applied various styling fixes in the front-end.
- Revert the
BelongsTohotfix in 1.3.9
1.3.9 (Oct 19, 2023)
- Hotfix
BelongsTofield (No upgrade needed)- Fix issues with BelongsTo not having a default component
- Add support for extending preference fields from outside the AuthPreferenceController
Upgrade guide
- Make the following change
1.3.8 (Oct 13, 2023)
- Tooltips
- Added tooltips to fields in the detail and index pages. (See documentation)
- BetterTime field
- Added function
withoutDropdown
- Added function
- Field detail display
- Added word breaking & overflow-x-hidden to prevent long words causing a scroll bar
- Table select filters
- Added functionality to "select all" options in the dropdown filter
- Applies to all relational fields and the Select field
- Added functionality to "select all" options in the dropdown filter
- Qore CSS file
- Qore has a
scssfile now that should be included in skeleton (see upgrade guide)
- Qore has a
Upgrade guide
- Make the following change
- This will make sure the
qore.scsswill be loaded
- This will make sure the
1.3.7 (Oct 05, 2023)
- Duration field
- Added new field which allows to fill a duration (See documentation)
- Tenant Variable & Tenant Variable Value
- Variables and values will now be cached to prevent unnecessary queries
- The styling for variable values are now editable even when the variable is locked
- Tables
- Added search icon in the search header row
- Repeater field
- Added missing display value for Date & DateTime fields
- Fixed visual issue with validation errors
- Date & DateTime fields
- Fixed issue which caused
onUpdateto be called immediately (when it shouldn't)
- Fixed issue which caused
- Module:
qore/layout- Fixed issue with tabs not rendering properly
- Re-publishing required (
php artisan vendor:publish --tag=qore.notes.frontend --force)
Upgrade guide
- Make the following change.
- This will make sure tabs have counts on resource detail pages
1.3.6 (Oct 02, 2023)
- Repeater Field
- Fixed issue that caused the field to add a default row when cleared/made empty
- Added method to preserve the old functionality (See documentation)
- Wysiwyg/TwigTemplate fields
- Fixed issue which caused the content to be cleared when user quickly clicked away before debounce fired
- Removed margin at the bottom of the field
- Added support for hiding the extra label above the field
- Image field
- Added feature to upload an image by pasting an external image url (See documentation)
- BetterTime Field
- Fixed issue that caused errors in logging
- Choice field
- Removed bottom margin
- Select field
- Added better contrast styling for options that are marked as groups
- Relation fields
- Fixed issue that caused
withAttachButton()to not respect visibility (e.g. make it hidden on show)
- Fixed issue that caused
- Field DependsOn
- Calling
->dependsOnwill now automatically update the options based on the query scope (See documentation)
- Calling
- Date & DateTime fields
- Added feature to disable certain dates in the datepicker (See documentation)
- Both fields are now supported in
Repeaterfield (See documentation)
- Tabs Field Layout
- Added better support for when tabs are not the first element in a form, e.g.:
(new FieldLayout)
->column('field_1')
->tabs(...) // Now adds margin on top and selects first tab by default
- Resource permission caching
- You can now enable front-end permission caching (See documentation)
- This will be enabled by default on Production to reduce full page reload times
- Mailing
- Added API to customize a mail right before sending (See documentation)
- Tenant variables
- Removed wrapping from display values with icons
- qore/mailing-extended
- Added possibility to customize an e-mail when sending it manually and other small changes
- Publishing front-end is required to update
1.3.5 (Sept 21, 2023)
- Image field
- Added support for
maxIndexWidth&maxDetailWidthto the Image Field (See documentation)
- Added support for
- Repeater Field
- Added new field:
Repeaterwhich allows fields to be repeated vertically or horizontally (See documentation)
- Added new field:
- BetterTime field
- Converted
dataproperties tometaas they should not be mutable - The clear button can now be hidden
- Converted
- Add relation dialog form
- Added fix for submit button (
disabled,label) not properly updating based on the state of the form - Also added
formDataUpdatedevent toBaseForm(See documentation)
- Added fix for submit button (
- Field state
- Added new method
disableStateTransferring()on fields (See documentation)
- Added new method
1.3.4 (Sept 14, 2023)
- Button field
- Added new field
Button(See documentation) - This field makes it easy to run PHP code when a button is clicked. Also includes a dialog with fields
- Added new field
- Tenant Variables
- Fixed issue that caused the
used_forcolumn to throw an error when filtered (on the/company-variablespage)
- Fixed issue that caused the
- Form State
- Added method
setSubmitButtonLabel(string)to set the label for the submit button in Qore forms (See all methods)
- Added method
- Roles & Permissions
- Significantly reduced execution time (improved performance) when saving or applying roles & permissions
- Resource name is now aligned at the top of each table row
1.3.3 (Sept 7, 2023)
- Field hooks
- Added the
onBeforeRenderIndexFiltermethod (See documentation) - This could be used to alter the
componentPropertiesbefore rendering the Filter front-end component
- Added the
- Date & DateTime fields
- Added methods for developers to set future/history quickfilters on date(time) fields using
setHistoryFilterButtonsandsetFutureFilterButtons
- Added methods for developers to set future/history quickfilters on date(time) fields using
- Date rendering
- Date and Datetime presenters will now translate Carbon dates (was always English before)
- Added an optional new date format in
qore.php(l j M Y) that is more user-friendly for Dutch users
- Config
- The
qore.phpconfig file is now publishable viaphp artisan vendor:publish --tag="qore.system.config"
- The
- Image field
- Fixed issue that caused some images (like
svg) to not display in tooltips
- Fixed issue that caused some images (like
- Form state
- Fixed issue that caused
getState()to not have the updated state ifsetState()was called before - Fixed issue that caused
getRelatedModel()to returnnullin some cases when it shouldn't
- Fixed issue that caused
- Field validation
- Fixed issue that only validated the first value in the
required_unlessrule
- Fixed issue that only validated the first value in the
1.3.2 (Aug 24, 2023)
- StepsLayout
- Added feature to StepsLayout which allows for disabling and enabling steps (See documentation)
- Resource actions (bulk)
- The denied and eligible lists will now both be collapsable and are collapsed by default
- If the resource for the action has a detail page, the user can now click on the list item to navigate to the resource
- Resource actions
- Added property
$autofocusEnabledwhich defaults totrue - This determines if the first field should be autofocused
- Added property
- Select field (Enum)
- Fixed issue which caused Enum casts to error in tables
- Field display
- Fixed issue that caused an error when returning a
JsonResourceclass in thedisplayUsingclosure
- Fixed issue that caused an error when returning a
- Settings (See upgrade guide)
- Added
is_publicto Tenant Settings, which defaults tofalse - Public setting will be available in the front-end, so be wary of what you store as public
- Added
Upgrade guide
- Tenant settings
- Publish & Migrate latest system migration:
php artisan vendor:publish --tag=qore.system.dbandphp artisan migrate - Make the following change
- If you have settings that need to be publicly available aside from
authentication->2fa_required, please add a Seeder
- Publish & Migrate latest system migration:
1.3.1 (Aug 14, 2023)
- BeterTime field
- Added field which is an alternative for the
Timefield that includes more functionalities
- Added field which is an alternative for the
- Field hints
- Fixed issue which caused hints to not be visible on
FilePickerandCodefields
- Fixed issue which caused hints to not be visible on
- Custom Forms
- Fixed issue that caused error messages to not be shown in some cases
- Fixed issue which caused cards to not be toggable
- FilePicker Field
- Added limit for amount of files you can upload when there is a configured limit
- Fixed issue that caused the hint to be incorrect if
max_fileswas passed as validation rule
- Country fields
- Fixed issue in fields that have a country select to not override the default selected country anymore if a new default value is set
- Resource actions
- Made sure that action buttons will always be shown without having to scroll vertically
- MailTemplate field preview
- Fixed small issue which caused the preview to not be scrollable / clickable
Upgrade guide
- Run
cd frontend && yarn upgrade qore-frontendto make sure thevue2-timepickerdependency will be installed
1.3.0 (July 31, 2023)
- Form fields
- Field data now persists in the front-end when subsequent requests are done.
- Before this change, all field data would be cleared when a field interacted with the back-end. This made it uneasy for developers to work with, as they needed to re-set the data on every field that has back-end interaction.
- Mailing
- The QoreMailChannel has been updated to align more closely with the Laravel approach to Notification channels (see more here)
1.2.9 (July 26, 2023)
- Relational fields
- Added methods to
FormStatewhich makes it possible to get thestateandmetaof the parent form (See documentation) - The
->getState()method can now be called without passing a field name to get the full state
- Added methods to
- User fields
- Added 2 new fields:
BelongsToUserandBelongsToManyUserswhich makes it easier to link resources to users (Docs: BelongsToUser), (Docs: BelongsToManyUsers)
- Added 2 new fields:
- Time field
- Added the ability to use a 24h format using
->use24hFormat()(See documentation)
- Added the ability to use a 24h format using
- Tenant Variable Value
- Description is now required when creating values via
app(TenantVariableCreator::class)
- Description is now required when creating values via
- SimpleEditor field
- Added missing filter for tables
- Helper functions
- Added the following helper functions:
get_central_database_name,get_tenant_database_name(See documentation)
- Added the following helper functions:
- Roles and permissions
- Changed role tabs to have an uppercase as their first letter (e.g.
adminbecomesAdmin)
- Changed role tabs to have an uppercase as their first letter (e.g.
- Validation
- Fixed visual bug where a required asterisk would only be shown for the first value in the
required_ifrule
- Fixed visual bug where a required asterisk would only be shown for the first value in the
- Column card Field layout
- Fixed issue with elements still showing when there were no fields inside
- DependsOn
- Fixed issue which caused options to not properly reload when creating a new resource when the field depended on another field
- Select field
- Fixed issue that caused
->searchable()to display 2 labels in the front-end
- Fixed issue that caused
- qore/ckeditor: Added styling improvements for detail page (publishing required)
Upgrade guide
- User model
- Make the following change. This will make sure avatars use the correct directory.
- Tenant Variable Value
- Make sure you fill the
descriptionon every tenant variable value in your database as description is required now (you might have to update your seeders)
- Make sure you fill the
1.2.8 (July 04, 2023)
- Resource Detail Sidebar
- Added new feature that adds an (optional) sidebar on the Resource Detail page that a developer can customize
- Currently, the sidebar can have options, fields and actions (See documentation)
- Fields
- Added optional
fullWidthOnDetailmethod on every field (See documentation)
- Added optional
- Field inline editing
- Fixed issue that caused the menu to sometimes be out of the screen bounds
- Field layout
- Added missing vertical padding to cards layout
- Improved cardColumns layout look for detail page
- Code field
- Fixed issue that caused the detail preview to have a very small width
- Tenant variable values
- Removed unneeded hint on
descriptionfield
- Removed unneeded hint on
- Textarea Field
- Added missing implementation for
->rowsmethod on Textarea field
- Added missing implementation for
- MorphToMany field
- Fixed issue that in some cases caused an error when attaching records
- BelongsToMany field
- Add missing description support for resource options in the front-end
- qore/addresses: Fixed bug which caused the fields to sometimes not be clickable on detail page (publishing required)
- qore/crm: Minor tweaks in Organization resource
1.2.7 (June 27, 2023)
- Fields
- Added possible Field call
->allowStateWhileHidden()which will allow hidden fields to still transfer and submit their states in a form (See documentation)
- Added possible Field call
- Skeleton (See upgrade guide)
- Fixed issue that caused password reset to redirect to login
- Fixed inconsistencies in route naming for 2fa routes
- Changed throttling for logging in because it got throttled quite fast when resetting password
- Resource Detail
- Fixed issue that caused tabs to not be clickable by global events
- Time field
- Fixed issue that caused Time field to not respect setState when called from other fields
- Removed spacing on bottom of the field when there is no validation error
- Resource Index tabs
- Fixed issue that caused index tab to not be selected when going back in (browser) history
- VariableValue field
- Fixed issue that caused an empty option when adding a new variable via the "+" button
- qore/forms: Added support for tab count (publishing required), requires qore/system >= 1.2.6
- qore/microsoft-graph: Added support for optional headers inside request & improve documentation
Upgrade guide
- Skeleton introduced some authentication issues
1.2.6 (June 26, 2023)
- Field actions
- It is now possible to return data from a field action closure (See documentation)
- This can also be used in order to check if an action has ran before
- Resource actions
- Added
headerComponentandbodyComponentmethods to Resource Actions - It is now possible to create a custom Vue component if overriding is necessary (See documentation)
- Added fix for 404 error that was shown if a record was soft deleted
- Added
- Tenant Variable Values
- Variables can now be shown as Text, a Filled Pill or Outlined Pill
- The
VariableValuefield will now display the styling of the variable value (optional icon, color, etc.)- Fixed minor issue with sorting on the
VariableValuefield
- Fixed minor issue with sorting on the
- Resource Index page
- Removed 404 response when retrieving data from a resource that has its index page disabled
- Disabled index page url in breadcrumbs when resource index page is disabled
- File downloads
- Only file downloads of mimetype:
txt,pdf,jpg,jpeg,pngandgifwill optionally be opened in a new browser tab. Other files will be downloaded directly. - Added fix for validation messages not being shown when a file was downloaded from a Resource Action
- Only file downloads of mimetype:
- Color picker
- Color picker opens now too when clicked on the color preview on the left of the field
- Resource detail
- Added a counter to every (card) tab that shows the amount of records that contain in the table within
- Relation fields will have that counter added automatically
- You can override the count if necessary (See documentation)
- Fixed issue that caused fields to not be shown in full width when the label is disabled
- Fixed issue that caused the label to still be visible on smaller screens when disabled
- Added a counter to every (card) tab that shows the amount of records that contain in the table within
- Forms
- Added toggable cards to CardsLayout (was only working on Detail before)
- Added autofocus to the first field in a form
- qore/attribute: Added small styling improvement (publishing required)
- qore/mailing-extended: Added button that shows the receivers of the mail that is sent via a mail list (publishing required)
- qore/crm: Added support for tab count (publishing required), requires qore/system >= 1.2.6
- qore/notes: Added support for tab count (publishing required), requires qore/system >= 1.2.6
Upgrade guide
- Publish & Migrate latest system migration:
php artisan vendor:publish --tag=qore.system.dbandphp artisan tenants:migrate- Required for tenant variable value changes
1.2.5 (June 19, 2023)
- When executing Resource actions (in bulk) the query will use the Resource
indexQuerynow instead of using theModel::query() - Added the missing
impersonator_idto the activity log table in the tenant database. - Added Label & Highlighting for fields that use TinyMCE editor
- Added small improvements to
IconSelectfield and added missing Detail & Index components - Added the method
toggleFields(...$fields)andsetVisibilityForFields($bool, ...$fields)to the ManagesForm contract. - Updated
prismcode editor front-end dependency (See upgrade guide)- The language
phpwas not supported before
- The language
- qore/ckeditor: Fixed issue that caused error when the field was left empty
- qore/layout: Added 2 minor bugfixes in the front-end
Upgrade guide
- Publish & Migrate latest system migration:
php artisan vendor:publish --tag=qore.system.db && php artisan tenants:migrate - Run
cd frontend && yarn upgrade qore-frontendto make sureprismdependency will be updated to the correct version - If you happen to extend the
ManagesFormcontract make sure to implementtoggleFieldssetVisibilityForFieldsthis change.
1.2.4 (June 12, 2023)
Notable changes:
- Affixing numeric fields
- Added the functions
withSuffix(string $suffix)andwithPrefix(string $prefix)to Price and Number.- Used to affix a form value with text.
- Added the function
withCurrencySymbol(string $symbol)to Price and Number.- In the background
app()->getLocale()is used to determine if the value should be prefixed or suffixed.
- In the background
- Fixed a bug inside the Price field. The keypad comma now gets replaced by a period and no longer adds a comma to the form value.
- Added the functions
- Color Field
- Capitalised hex values (#FFF) will now pass as valid input.
- Currency
- Added the helper function
preferred_currencywhich will return the currency set in the company’s preference.
- Added the helper function
- qore/crm: Added features that are necessary for upcoming projects module.
Upgrade guide
1.2.2 (May 25, 2023)
Notable changes:
- Moved Tenant Variables & Values to Qore system (See upgrade guide)
- Added (optional) icon, color, and whether to translate the value description by default
- The
withTranslationsmethod on theVariableValuefield is now deprecated
- Added proper (regex) validation to the
Colorfield - Added more support for working with (uploaded) files (See documentation)
- Added a route which allows for files to be uploaded to make (roaming) public links to the file
- Added a route which allows for roaming files to be deleted
- Added a route which creates a table for all stored media (only if authorized)
- Added new field:
MediaSelectwhich allows users to either upload or select existing (media) files (See documentation) - Added new plugin which allows for the
CKEditorWysiwyg to be added as field (See documentation) - Added small accessibility improvement to
SimpleEditorto focus the editor input when clicked - Removed unused
wysiwygtenant preference - Fixed issue which caused inline editing to not work when a field had the
withoutLabelproperty - Fixed issue which caused the global search to open when you would type
/in a (wysiwyg) editor - qore/address: Fix small margin error (publishing required)
- qore/crm: Added features that are necessary for upcoming projects module
- qore/layout: Added many new features to allow for more customization (publishing required)
Upgrade guide
- Tenant variables & Tenant variables are now moved to Qore system.
- Make the changes that can be found in this MR
- Publish & Migrate latest system migration:
php artisan vendor:publish --tag=qore.system.dbandphp artisan tenants:migrate
1.2.1 (May 11, 2023)
Notable changes:
- When using a relational field, you now have the option to override columns on the relation table that is shown on the detail page (See documentation)
- Added functions to the Number field (See documentation)
- min: Applies validation rule
min:$minand adds the max attribute to the<input />element. https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/min - max: Applies validation rule
max:$minand adds the max attribute to the<input />element. https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/max - between: Applies validation rules
min:$minandmax:$max andadds the min and max attributes to the<input />element. - step - Adds the step attribute to the
<input />element. https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/step
- min: Applies validation rule
- Added caching to Resource fields to avoid re-making fields unnecessarily to increase performance
- Added method to many-relation fields to override the relation table query (See documentation)
- Added support for
pivotFieldsonMorphToManyandBelongsToManyfields (See documentation) - Added support for many-relation fields to run Qore actions inside the relation table (See documentation)
- Added missing form interceptor when updating a resource via a
Chipthat is based on aSelectorBelongsTofield - Removed spacing below every Qore field when there are no validation errors to make forms more compact (See upgrade guide)
- Fixed bug in
BelongsToManyfield that caused relationship records to not be attachable - Fixed issue which caused
VariableValueto use the wrong translation key - Fixed a bug that was caused by the
Selectfield using the wrongvaluekey to auto create anInvalidation rule - Fixed issue which caused active table filter to be not in sync or deselected after a user logs out
- Fixed issue which caused
dependsOnto be called more times than necessary - qore/addresses: Added less spacing to fields to be consistent with Qore fields
- qore/forms: Added correct gutter to fields to be consistent with Qore fields
- qore/crm: Added fix for NameSuggestionField showing while it should be hidden
- qore/invoicing: Added fix for incorrect class call which caused MailTemplateResource to error
Upgrade guide
- Add fix for migrate:rollback erroring (See changes)
- (Optional) Spacing below Qore fields are removed when there are no validation errors, however this does not apply to your custom fields. See changes to see how to add this yourself if necessary.
- (Optional) (Experimental) Add loader to your app so when a session expires you will not see the app shortly before abruptly getting redirected to login page (See changes)
1.2.0 (Apr 25, 2023)
Notable changes:
- Added the ability to have multiple menu items for 1 resource
- These menu items require a
tableScopewhich optionally applies filters/sorting etc. (See documentation)
- These menu items require a
- Added more customization support to
MenuItem- You can now define when the item gets the
activestate in the menu (See documentation)
- You can now define when the item gets the
- Added
Enumsupport forSelectfield (See documentation)- The
Selectfield also adds thenew In(...)rule now by default, which includes all option values (See documentation)
- The
- Added
arraysupport to multiple methods, e.g.->hideFields(['name', 'category']), so you can either supply an array or spread - Added support to inline field editing to have other field(s) at the top (See documentation)
- Before this change, the inline editable field was always the first one in the form. This would be confusing if you were to edit fields like
start_dateandend_datewhereend_datewould be the first field.
- Before this change, the inline editable field was always the first one in the form. This would be confusing if you were to edit fields like
- Added
diff for humanssupport to date & time presenter helpers (See documentation)- Added
displayUsingDiffForHumanstoDate&DateTimefields (See documentation)
- Added
- Added
sticky(scrolls alongside the table) to the role & permissions table header to make it more user-friendly - Added missing support for setting dynamic paragraph on
Headingfield (See documentation) - Added Vue slot to
Select&BelongsToManyfields so options can optionally be overridden (See documentation) - Renamed
FieldstoTagsforTwigTemplatefield - Fixed issue that caused the Delete resource action to be hidden when not having
deleteAnypermission - Fixed issue that caused the
Logsbutton on resource detail to be hidden when there were 0 callable actions - Fixed issue that cased
nullvalue inSelectand relation fields to not be filterable in tables - Fixed issue in
EncryptedTextwhich caused thecopy to clipboardto always be visible - Fixed issue that cased relational fields to execute queries when not necessary
- Options were retrieved on the resource detail page
- Fixed issue in
Imagefield that caused long file names to overflow BackgroundProcessResourcenow exists in qore/system (See upgrade guide)- qore/attribute: Translate labels, tooltips, hints and select options by default
- qore/crm: Added missing social icons & fix duplicated fields
- qore/address: Added better import support
- qore/layout: Add multiple improvements & bugfixes
- qore/excel-import: Added multiple improvements & bugfixes
- qore/invoicing: Patched new options method to match
Selectoptions - qore/mailgun: Added support for multiple domains
- Added module to upload & export Word templates (See documentation)
Upgrade guide
BackgroundProcessResourceand its fields have moved to qore/system. Make sure to apply the following changes
If you have custom fields that extend the Select field, and has its own options method, make sure
you update your options method to match Qore arguments
1.1.7 (Apr 06, 2023)
Notable changes:
- Added route that will allow media (files) to be streamed (See documentation)
- It was only possible to download media before
- Resource actions that download a file (that does not open in a new tab), will now have a proper file name instead of uuid
- Fixed issue that caused modules & plugins to still be active when switching tenants
Upgrade guide
- Update your config/cors.php so that axios will now have more file information when downloading
1.1.6 (Apr 01, 2023)
Notable changes:
- Upgraded Laravel 9 to Laravel 10 (See upgrade guide)
- Added better support for
onUpdatewhen file inputs are updated- E.g.
FilePickerfieldonUpdatewill now show the filename,size,last_modifiedinstead of__keyonly
- E.g.
- Fixed issue in
FormStatethat in rare cases could throw an error when a field had updated - qore/invoicing: Added support for Laravel 10 & upgraded Wysiwyg dependency
- qore/forms: Added support for Laravel 10
- qore/crm: Added support for Laravel 10 &
addressesfield is not hidden on index anymore - qore/address: Added minor style improvements
Note: the following dependencies have updated (some including publishable front-end): qore/crm, qore/address, qore/invoicing, qore/forms
Upgrade guide
- To upgrade to Laravel 10, make the following changes to your
composer.json
1.1.5 (Mar 29, 2023)
Notable changes:
- Updated
Wysiwygfield front-end dependencies and allow font size to be set (See documentation) - Added ability to copy encrypted text value and disabling the visibility button for the
EncryptedTextfield (See documentation) - Added ability to override the
ResourceTableclass on resources (See documentation)
1.1.4 (Mar 28, 2023)
Notable changes:
- Roles & Permission management now exists inside Qore instead of Skeleton (See upgrade guide)
- If you need to override default behaviour, then (See documentation)
- Added support for Permission Scope groups, which allows
ScopedPermissionclasses to have configurable groups (See documentation) - Fixed issue that could cause a wrong table row to be highlighted after editing a resource inline
Upgrade guide
- Everything related to role & permission management can be removed from your project. See the following changes.
- Make sure to also make the following change because there is only 1 component.
- If you have a local
config/components.php(which is unlikely), make sure to re-publish:php artisan vendor:publish --tag=qore.system.config --force
1.1.3 (Mar 22, 2023)
Notable changes:
- Added 3 new relation fields (
HasOneThrough,HasManyThrough,MorphToMany) and improved sorting support for multiple relation fields (See documentation)- Every relation fields now implements the interface
IsRelationField - Information on how to sort on a custom column is now added to the documentation (See documentation)
- Every relation fields now implements the interface
- Added (optional) icon to relation field links on index tables (See upgrade guide)
- It is now visually more clear whether a link relates to an external resource
- Added support for
disable,descriptionandgroupinsideSelectfield options (See documentation) - Added support to make
tabsForModel,cardsForModel,cardTabsForModelmethods overridable on Resources in order to define a custom order for these elements- For example, you might want to override
cardTabsForModelwith a custom sort order:
- For example, you might want to override
public function cardTabsForModel(Model $model): TabCollection
{
return parent::cardTabsForModel($model)->sort(function (Tab|Card $item) {
return $item->title() === __('Highest priority tab');
});
}
- Added (optional)
instigatorto mail_messages table in order to track which model relates to a mail that has been sent (See documentation) - Added support for supplying a custom global search result order for Resources (See documentation)
- Added support for full-page refreshes when editing a field inline (See documentation)
- Added support for a
Closurewhether a field should be able to be edited inline (See documentation) - Added styling improvements to
ColumnCardLayout - Added adjustment to global search result that when current page is clicked, the page will be refreshed
- Added property to
BaseFormto support a reload after form is submitted (See documentation)- This is now being used (set to
true) for the modules & plugin settings page
- This is now being used (set to
- Modified minimal width of fields from
200pxto150pxto match thesize_to_pixelsfunction - Modified size of
Imagedetail to be a bit smaller - Modified the shared
settingstable to have a nullabletarget- You can now have settings which are not related to a Tenant
- Fixed responsiveness for
Settingsbutton inside table settings - Fixed inconsistencies in some relational fields (
<a>tags) having no underline when hovering (See upgrade guide) - Fixed issue that caused the
Timefield to not properly validate its format - Fixed issue that caused Paragraph field to throw an error in some cases
- qore/crm: Modified organization logo, social media links and minor adjustments to fields
- qore/attribute: Added support for
Imagefield- The
config/attribute.phpshould be updated if you need this new field
- The
- qore/address: Added multiple small styling improvements to the fields
Note: the following dependencies have updated (including publishable front-end): qore/crm, qore/address, qore/attribute
Upgrade guide
- A migration has been added that updates a current table. For that reason, run:
composer require doctrine/dbal - Make sure to publish migrations & run them:
php artisan vendor:publish --tag=qore.system.db
php artisan migrate
php artisan tenants:migrate
- To fix underline on
<a>links make sure yourcss/link.scsslooks like:
a {
color: var(--q-color-primary);
text-decoration: none;
}
.underline:hover {
text-decoration: underline;
}
- If you have a published
qore.php, make sure to make the following change
1.1.2 (Mar 14, 2023)
Notable changes:
- Added feature to also show
Alerton resource edit forms instead of only on detail (See documentation) - Added ability to set default font for
Wysiwygfield (See documentation) - Added field for encrypted Text (See documentation)
- Added support for toggable cards inside
ColumnCardLayout - Removed
Userfield fromTwigTemplateresource - qore/address: fixed issue with
stdClassbeing used instead ofarray - qore/crm: fixed issue with address
onUpdateusingstdClass - qore/mailing-extended: Removed
inlineEditablefromMailListResource->MailListFilterfield
Note: the following dependencies have updated (including some publishable front-end): qore/crm, qore/address, qore/mailing-extended
1.1.1 (Mar 06, 2023)
Notable changes:
- Fixed issue that
onUpdatein fields would sometimes receive astdClassas value (see danger note below) - Fixed issue which caused
->disableon fields to not disable editing inline - Fixed issue which caused
composer outdatedto be executed daily which slowed down development - Added small change to
DateandDateTimefront-end fields to improve accessibility - Fixed issue in
ColumnCardlayout that prevented output on the detail page - Fixed issue in
qore/crmthat madeContactFullNamecause problems in forms - Fixed issue in
qore/addresseswhich prevented sorting in tables - Removed outdated dependencies from
composer.json - Added plugin that adds
DrawnSignaturefield (See documentation) - Added module to create custom forms (See documentation)
Upgrade guide
The state of every form inside Qore relied on a stdClass before. It has now been refactored to use an array.
In some cases, you might have an onUpdate on one of your fields, where the $value would be an stdClass.
Below is an example of what your old code may look like, and how you should refactor it.
->onUpdate(function (FormState $state, $value) {
if ($value) {
foreach ($value as $key => $address) {
if (strtoupper($address->country_code) === 'NL' &&
preg_match('/^(?:\d{4} ?[A-Z]{2})$/i', $address->zipcode)) {
$values = $state->getState($this->name);
$values[$key]->zipcode = chunk_split($values[$key]->zipcode, 4, ' ');
;
$state->setState($this->name, $values);
}
}
}
})
->onUpdate(function (FormState $state, $value) {
if ($value) {
foreach ($value as $key => $address) {
if (strtoupper($address['country_code']) === 'NL' &&
preg_match('/^(?:\d{4} ?[A-Z]{2})$/i', $address['zipcode'])) {
$values = $state->getState($this->name);
$values[$key]['zipcode'] = chunk_split($values[$key]['zipcode'], 4, ' ');
$state->setState($this->name, $values);
}
}
}
})
- (Optional) There existed outdated packages in skeleton. Make sure make the following changes
- (Optional) The following dependencies have updated (no publishing required):
qore/crm,qore/address,qore/attribute
1.1.0 (Feb 28, 2023)
Note: qore/system and qore front-end tags will always be in sync now
Notable changes:
- Fixed issue in QoreResource permissions that caused Telescope to throw an exception in jobs
- Allow fields to specify custom validation rules for the importing module
- Added missing debounce to
Codefield - Added minor improvements to
TemplatePReviewfield - Added proper
Too many attemptsresponse handler inside Skeleton
Upgrade guide
- (Optional) Add the following changes to have a proper 429-Too many attempts response handler
1.0.9 (Feb 15, 2023)
Front-end tag: 1.0.9
Notable changes:
- Converted User & Tenant mailFooter field to
MorphOnebecause it would cause issues when switching tenants
Upgrade guide
Note: the following migrations will remove the mail_footer_id column from the tenants and users tables
- Run
php artisan vendor:publish --tag=qore.system.db - Run
php artisan migrate&&php artisan tenants:migrate - Update the
TenantResourceand theUserResourceas done here, and scope fixes here
1.0.8 (Feb 14, 2023)
Front-end tag: 1.0.8
Notable changes:
- Added command
php artisan qore:publishto make it easier to deal with updated Qore module/extension assets - Added missing Index component for the SimpleEditor field
- Added feature to allow for different address types for the Address field (See documentation)
- Added change that makes dangerous resource actions to always be shown at the bottom of the list
- Changed the Address/Place maps icon to match the Google maps icon
- Changed MailFooter content field from
WysiwygtoCodeto allow for more freedom inside its content - Added debounce to
Codefield
Note: the following dependencies have updated (including their publishable front-end): qore/crm, qore/address, qore/attribute
1.0.7 (Feb 07, 2023)
Front-end tag: 1.0.7
Notable changes:
- Added support for resource Block buttons (See documentation)
- Fixed issue that caused empty card column to be shown
- Fixed issue that caused hover style to show on not-editable inline fields
- Added visual improvements to
qore/addressfields
Note: the following dependencies have updated (including their publishable front-end): qore/layout, qore/crm, qore/address, qore/notes, qore/brandfetch
Upgrade guide
- (Optional) to show if modules/plugins are outdated, add the following changes
- (Optional) to show a dropdown icon for user profile menu in top right, add the following changes
1.0.6 (Feb 02, 2023)
Front-end tag: 1.0.6
Notable changes:
- Switched
vue-fragmenttovue-fragdependency in front-end (see upgrade guide) to prevent unexpected bugs to occur - Added new plugin: Brandfetch (See documentation)
- Added possibility to hide field label on detail page (See documentation)
- Fixed few small issues caused by inline editing
Upgrade guide
- To switch to
vue-fragand allow for font-awesome icons make these changes and runyarn install —force - Note: the following dependencies have updated:
qore/layout,qore/crm,qore/address,qore/geocoding
1.0.5 (Jan 31, 2023)
Front-end tag: 1.0.5
Notable changes:
- Added feature that enables inline editing of fields (See documentation)
- Added SimpleEditor (simple wysiwyg) field (See documentation)
- Fixed bug that caused the
asHtmlmethod to not work in tables
Upgrade guide
- To allow for editing UserResource inline, please make the following change in your project
1.0.4 (Jan 24, 2023)
Front-end tag: 1.0.4
Notable changes:
- Added feature to
chipsto act as a Select field (See documentation) - Added few style changes to resource detail page
- Added possibility to add
denseclass to cardcard-headerclass
Upgrade guide
- To allow for dense card headers, please make the following change in your project
1.0.3 (Jan 23, 2023)
Front-end tag: 1.0.3
Notable changes:
- Fix issue in qore.php that caused seeders to fail because it had no
defaultwrapper
Upgrade guide
- If you have a published
qore.php, make sure add the following change (notice thedefaultkey):
'attach_button' => [
'default' => [
'outlined' => false,
'stacked' => true,
]
],
1.0.2 (Jan 18, 2023)
Front-end tag: 1.0.2
Notable changes:
- Added improved look for detaching relations inside tables. Relation fields will no longer append an
Actionscolumn, instead a context menu will appear now. - Added feature to relation fields to define which columns should be shown in the table by default (See documentation)
- Added config to
qore.phpto be able to customize the (relation) attach buttons (block buttons at the top of the page). (See documentation)
Upgrade guide
- If you have a published
qore.php, make sure to add the following:
'attach_button' => [
'outlined' => false,
'stacked' => true,
]
1.0.1 (Jan 12, 2023)
Front-end tag: 1.0.1
Notable changes:
- Added option to Modules & Plugins to prevent users from disabling it (Module documentation, Plugin documentation)
1.0.0 (Jan 10, 2023)
Front-end tag: 1.0.0
Notable changes:
- Added upgrade to Laravel 9.0 (including all extensions)
- Added change to currencies so that they do not rely on front-end anymore
- Added impersonation support
- Added support for column cards (with optional tabs) Field Layout (See documentation)
- Added better authentication support for IP whitelisting
- Added small button to sidebar (main menu) to collapse it
- Fixed issue in
TemplatePreviewFieldthat caused click events to not close other menus/dropdowns - Fixed issue that caused tables to only use column/row styles on the first page
- Fixed issue (in all extensions) that caused an error when running
php artisan config:cache - Fixed issues in VATNumber field that caused it to display errors on valid numbers
Upgrade guide
✨ The full upgrade guide can be found here
0.9.88 (Jan 03, 2023)
Front-end tag: 0.9.57
Notable changes:
- Added support for
minandmaxattributes for Number field - Added caching to
CurrencySelectfield to prevent multiple queries being executed
0.9.87 (Dec 19, 2022)
Front-end tag: 0.9.56
Notable changes:
- Added change to
Websitefield to not check if a website is online by default (See documentation) - Added feature to mailing that allows for (optional) metadata to be passed and saved on mail messages, which then can be used by mail drivers
Upgrade guide
- Publish the latest migrations and run them
- If you are using the
qore/mailgunplugin, make sure to update that plugin
php artisan vendor:publish --tag=qore.system.db
php artisan tenants:migrate
# If used:
composer update qore/mailgun
0.9.85 (Dec 14, 2022)
Front-end tag: 0.9.56
Notable changes:
- Added overridable method
getEmailAddresstoVariableListto determine the e-mail address for a model (See documentation) - Added feature to
Paragraphfield that allows other fields to change the message dynamically (See documentation) - Fixed issue in
Selectfield that caused other fields not to be able to set options dynamically if the select field was not visible yet - Fixed issue that caused the
disableTabsprop to be not properly working inside Resource tables - Fixed issue that caused resource table exports (when queued) to not initialize tenant and boot extensions
- Added documentation page for Queues & Jobs (See documentation)
0.9.84 (Dec 08, 2022)
Front-end tag: 0.9.55
Notable changes:
- Added support for Excel importing module (See documentation)
- Added change to
PlaceandAddressesfields to make it more compact - Added change to Resource detail page that replaces the Log table tab to a hamburger menu in the top right (see upgrade guide for more)
- Fixed issue that caused VatNumber field to fail on validation if a mismatching company name was given, now it gives a warning instead
Upgrade guide
- If you have a custom resource detail component for any of your resources, make sure you also add the following changes to add Logs in the button dropdown
- Added minor upgrades to Addresses, Attribute, Invoicing, CRM, Layout and Excel Importing modules. Make sure to upgrade (and override published files) where needed.
0.9.82 (Nov 23, 2022)
Front-end tag: 0.9.53
Notable changes:
- Fixed issue that caused mail template variables to allow for recursion in resource relation fields
- Fixed issue that prevented the same media file to be uploaded twice & errored when deleting a file
- Fixed issue that sometimes caused an error when sending a test e-mail from an email template
- Refactored auto-filling (testing module) of fields so that it now properly respects onUpdate hooks
- Fixed several small issues with Image and Filepicker fields (overflowing text, unresponsiveness and more)
- Fixed issue that caused relational fields to sometimes not be readonly when attaching/creating
- Added QoreMail channel that can be used for Laravel notifications (See documentation)
- Removed auto-focus from Wysiwyg field (an issue which also caused the page to be scrolled to the editor on page load)
- Fixed issue that caused Wysiwyg to not be unloaded/loaded correctly inside tabs
- Added feature to trigger
onUpdateon other fields (like a chain reaction) when you set the state (Documentation here and here) - Changed
MorphTofield to have the same visuals as other relational fields by default (it is not displayed as a pill anymore, and in dropdowns it will also show a description) - Added feature to resource actions that allows for a custom redirect on detail pages (See documentation)
- Fixed issue in
MorphTofield that caused it to reload multiple times when it has aonUpdatecallback - Added feature that allows for
max_files:3andmin_files:1rules to be added to FilePicker and Image field when it has multiple (See documentation) - Added change to tables that makes tabs disabled while the table is loading
Upgrade guide
- Remove
Fakerdependency for generating passwords, otherwise it will error in production: (See changes) - The
$shouldRedirectproperty on resource Action class will not be used anymore. Instead, use the following code, or supply a custom redirect url (See documentation).
public bool $shouldRedirectToIndex = true;
- (Optional) to make links feel more response inside tables, change your
frontend/src/css/link.scss:
a {
color: var(--q-color-primary);
text-decoration: none;
}
table.q-table tbody a:hover,
.detail-row a:hover {
text-decoration: underline !important;
}
0.9.76 (Nov 01, 2022)
Front-end tag: 0.9.52
Notable changes:
- Fixed issue that caused mail layouts (blade files) to not be publishable/overridden from the correct directory. See upgrade guide below.
Upgrade guide
- Make sure to move the following directory:
resources/views/mailing/layouts/toresources/views/vendor/qore/mailing/layouts/ - Remove
/qoreandqorefrom your.gitignore(the one in the root of your project). This was causing theresources/views/vendor/qoreto be ignored.
0.9.75 (Oct 31, 2022)
Front-end tag: 0.9.51
Notable changes:
- Added feature to set width, submit button color and reject button color on form interception dialog (See documentation)
- Fixed issue that caused
attachOnFieldto not work properly when referencing aMorphTofield - Added change to
VariableValuefield to make the category field readonly by default when attaching - Fixed issue that caused
Imagefield to prevent detaching an image and show a console error in the front-end when creating a resource
0.9.74 (Oct 27, 2022)
Front-end tag: 0.9.50
Notable changes:
- Added feature to have (status) chips on resource detail page (See documentation)
- Fixed issue inside
QoreResourcethat causedgetPermissionNamesto not checked bycanUpdateAnyandcanDeleteAnyby default - Fixed issue in permission checking for Mailing related resources
- Fixed issue that caused
initFormValueUsingclosure on fields to be ignored when the closure returnsnullinside tables - Fixed issue that caused setting max width on
FilePickerfield to be ignored - Fixed issue that caused MariaDB to throw errors when searching on
PlaceandPhonefields inside tables - Fixed issue that caused
requiredvalidation rule onFilePickerto trigger on edit forms (when a file already existed) - Fixed issue that caused planned mailing messages to not be queued and placed inside the wrong IndexTab inside the table
- Added description in options (when set) when filtering on a
Selectfield inside tables - Fixed issue that caused relationship fields (e.g.
BelongsTo) to not work properly (option label was incorrect) in combination withdependsOn - Removed extra padding that was set on checkbox fields
- Fixed issue that caused header attach buttons on Resource detail pages to not work on mobile
- Fixed issue that caused downloading files from inside tables to redirect the user to the detail page
- Fixed issue that caused
withRelationalMetato not be triggered sometimes on relationship fields - The
CompanyNamefield will now also fill address province and municipality (if address field is supplied) - Added functionality to retrieve related model within relation fields (See documentation)
Upgrade guide
- If you are using
qore/notesmodule, you should now add a Policy class (See updated documentation)
These changes are optional:
- When a session expires, the user will be logged out, but it does not give feedback to the user. This change will show a notification.
- Mailing related permissions were hidden inside the permissions table inside skeleton. See changes here to show them.
- There is now the possibility to copy 2FA secret. If you need this functionality, see: changes here.
0.9.68 (Sept 15, 2022)
Front-end tag: 0.9.48
Notable changes:
- Fixed issue in Checkbox field that caused problems with margin/padding (causing a scrollbar inside tabs)
- Added
asHtmlsupport forParagraphfield - Added request queue (to every form that has fields) in order to prevent unexpected race conditions which can happen on unstable or slow servers
- Fixed issue that causes custom arguments not to be merged properly when sending e-mails
- Added improved permission check for showing resources in the main menu (it will now check for:
$resource->getPermissionNames()['viewAny']instead of letting front-end handle it) - Fixed display issue when filtering in Date or DateTime columns
- Add field
DetailButtonwhich shows an information dialog in index tables (See documentation)
Upgrade guide
There were a few minor issues with the user password reset functionality. Make sure you make the following changes:
- Change 1: PasswordController.php (add proper token error response)
- Change 2: CheckedPassword/Field.vue (add bigger debounce to reduce amount of requests done)
0.9.66 (Sept 06, 2022)
Front-end tag: 0.9.46
Notable changes:
- Added support for having a custom
createPageTitleandeditPageTitleon resources - Added missing support for
FieldLayouton Plugin settings page - Fixed issue where a
setting(...)would return an array instead ofnull(when the value wasnull) - Fixed issue that caused variables to not be merged correctly when sending an e-mail
- Added optional argument
$fromTenant = falseto formatting helper functions in order to always use the tenant preference - Cleaned up form & detail layouts for resources to have more consistency in spacing and look
- Added debounce to
Wysiwygfield to prevent a lot of events firing - Added feature to have toggling cards (See docs)
Upgrade guide
- In order to keep cards toggled when the user reloads a page, make sure to go to
store/index.jsand add'globals.toggledCards'to thecreatePersistedState
0.9.64 (Aug 30, 2022)
Front-end tag: 0.9.44
Notable changes:
- Added option to disable specific resource pages (See documentation)
- Added option to set a custom redirect url when creating & editing resources (See documentation)
- Relation fields will display normal
<a>links by default now instead of pills (See documentation) and will also be used on many-relation fields - Fixed alignment issue in excel exports
- Added field
RelationTableFieldto support having a custom table inside a field without needing another Resource class (See documentation) - Added option to create a relation inside a new page instead of a modal dialog (See documentation)
- Fixed issue that caused the left menu to overlap the buttons on the bottom if there were too many menu items
- Fixed issue that caused
Addressesfield to not be validated properly - Added minor improvement to the design of
Addressesfield - Added minor change to the default resource
namemethod to check forResourcesuffix and ignore it - Added change to
NumberandPricefields to sendNULLwhen input is left empty - Modified
Selectfield method call in order to set options dynamically (See documentation). See also FAQ for more information. - Added option to always show the submit button for
StepsLayout(See documentation)
Upgrade guide
- If you set
Selectoptions dynamically via another field somewhere, make sure you change$form->setFieldMeta(...)to$form->setFieldData(...) - The module
qore/addressesshould be updated via composer and published (php artisan vendor:publish --tag=address --force) - The vuex store has changed slightly. Make sure you update your following Vue files to look like store, main layout and main header
- Fixed an issue that caused the download button to be hidden (on the downloads page). Update your following file to look like this
- In
RoleAndPermissionControllerthis->withoutAttaching()should be called on thecopy_fromBelongsTo Field to prevent opening an empty form. See: change - If you have a published
qore.phpconfig file, you need to add the following (in order to show relational fields as links):
// ...
'preferences' => [
// ...
'display_as_href' => [
'default' => true
]
]
- (Optional) it is good practise to rename your resource classes to
{$ResourceName}Resourcesince this will ensure it does not conflict with the related model name and will be more consistent with other laravel class names.
0.9.63 (Aug 10, 2022)
Front-end tag: 0.9.43
Notable changes:
- Added option to add an optional note to logs (See documentation)
- Fixed issue that caused the export button to be hidden inside tables
- Fixed issue that caused
hideOnShowclosure not working when chaining->asTab()or->asCard()on the relational fields - Refactored
<a>links to not do a full page refresh for the relational fields - Fixed issue in
Addressesthat ignored the default address type and would always fall back tovisit - Added method to customise default value of a field when editing a resource (See documentation)
Upgrade guide
- The module
qore/addressesshould be updated via composer and published (php artisan vendor:publish --tag=address --force)
0.9.61 (Aug 03, 2022)
Front-end tag: 0.9.42
Notable changes:
- Fixed bug that caused Date & Datetime filter not working in some cases
- Added option to make
BelongsToto behave like a normal<a>and optionally open the link in a new tab (See documentation) - Added feature to download files via resource actions (See documentation)
- Improved the
Choicefield and added option to make it dense (See documentation) - Added better price formatting to
Pricefield and added currency symbols to helper function (See documentation) - Added option to select another address in
Placefield (See documentation) - Improved
VatNumberfield so it doesn't do multiple requests - Added layout option to have tabs inside cards (See documentation)
- Added options to
Actionsto have custom response message, width and more (See documentation) - Add functionality to duplicate a resource (See documentation)
- Added option to have a field layout for module/plugin settings (See documentation)
- Added
ActionButtonfield (See documentation) - Added
CurrencySelectfield (See documentation) - Added
tenant_variable_valuehelper function (See documentation) - Added method
customFillto resources (See documentation) - Added option to have custom show response parameters for resources (See documentation)
- Added
modelDescriptionto resources (See documentation) - Added methods
isCreatingandisUpdatingto form interceptor (See documentation) - Added option to generate new serial number without saving (See documentation)
- Fixed bug that caused
Checkboxnot to validate properly - Added caching to permission scopes
- Added separate field methods that are called before rendering forms/details (replaced
prepare) (See documentation) - Added alternative way to show attach buttons (as block buttons via
->withAttachButton()) for relation fields (See documentation) - Added few styling improvements, missing loaders, performance improvements etc.
Upgrade guide
- On the field
VatNumberThe methodcompanyFieldshould be refactored tosetCompanyField(See documentation) - The modules
qore/crmandqore/addressesshould be updated via composer and (forcefully) published (e.g.:php artisan vendor:publish --tag=crm --force). TheOrganizationandContactresources have been renamed toOrganizationResourceandContactResource. You should add thenamemethod on any resource that extends these recourses to supply a correct name. - The
preparemethod on fields is marked deprecated (but will still work for a while) (See documentation for replacements) - The
defaultmethod which you can call on each field now expects either a value, or a Closure where the first argument is theManagesForm(instead of?Model) (See documentation)
0.9.56 (Jun 08, 2022)
Front-end tag: 0.9.39
Notable changes:
- Added new field: Time (view documentation)
- Fixed bug that caused Date and DateTime fields not to clear properly
- Dropdown carets will now be hidden when the field is hidden or disabled
- Added better validation for email fields (domain/dns will also be checked now)
- Filterable & Sortable are enabled by default now on fields instead of having to chain these methods
- Added validation for
Websitefield to check if the site exists uuid_createfunction calls are replaced byStr::uuid()- Added improved display for validation errors in
StepsLayout - Added support for
StepsLayoutin resource actions - Added support for hiding or disabling the submit button inside forms (view available methods)
- Added support for more customization in resource actions ( view documentation)
- Updated
Numberfield to show no decimals by default (you can use->allowDecimalsto use them) - Added support for chaining
->autoFillUsingon fields (you will get aFakerinstance in the closure) - Updated autofill for
WebsiteandAddressfields so it will not fail on validation - Added
mailtoandteltoEmailAddressesandPhoneNumbersfields inside tables - Fixed a few issues that was caused by empty fields in the addresses module (see upgrade guide below)
Upgrade guide
The qore/address should be updated:
composer update qore/address && php artisan vendor:publish --tag=address --force
0.9.51 (May 25, 2022)
Front-end tag: 0.9.34
Notable changes:
- Fixed issue in address module that sometimes prevented data to be saved
- Run
composer update qore/addressto resolve this - Added sticky columns functionality for resource index tables
- Documentation can be found here
- Added a
widthproperty to the resourceActionclass - Documentation can be found here
- Added delete button to the resource inline edit form on the index page
- Added argument to the date presenter helper functions to optionally disable applying timezone
- For example if you only want to format a date:
date_presenter($myDate, false)
0.9.49 (May 11, 2022)
Front-end tag: 0.9.32
Notable changes:
- Fixed issue with row onClick event for small screens
- Added tooltip to Place & Checkbox fields in front-end
- Added label to Place field in front-end
- Added more functionalities (like delete and detail button) to resource index tables
- Documentation can be found here
0.9.48 (May 11, 2022)
Front-end tag: 0.9.29
Notable changes:
- The asterisk (*) that will be shown if a field is required has been refactored
- If fields have rules like
required_withor similar rules, the asterisks will be added dynamically - Fields will no longer have a
is_requiredproperty, insteadformData.metahas this information now
Upgrade guide
Every field (in the front-end) required an additional property required now in the field-label component.
Make sure you update your custom fields, and the following fields:
frontend/src/components/fields/CheckedPassword/Field.vue:
<field-label
:field="field"
:required="required"
/>
frontend/src/components/permission/ManageRole.vue:
<field-label
:required="true"
:field="{ label: $t('Name') }"
/>
The qore/address should be updated:
composer update qore/address && php artisan vendor:publish --tag=address --force
0.9.47 (May 10, 2022)
Front-end tag: 0.9.28
Notable changes:
- Code base for checking permissions for resources has been refactored and will use Policies as much as possible
- The
getPermissionsmethod has been removed for every resource - New documentation can be found here
- There is now (better) support for the rules: required_if, required_unless, required_with and required_without
- Fields like
PlaceandAddressfields were ignoring these rules - Properly showing a red asterisk (*) on conditional requirements is still in development
Upgrade guide
Because the getPermissions method has been removed, you should update your resources accordingly:
See changes here
The qore/address needs to be updated too:
composer update qore/address && php artisan vendor:publish --tag=address --force
0.9.46 (May 06, 2022)
Notable changes:
- There is now support for editing resources within tables (from the index page)
- See documentation here
- Add minor bugfix for
->displayUsinginside a column for falsy values - The
hideOnShowfor theResouceLogsTabwill now be checked alongsideviewpermission - Before only the
viewpermission was checked
0.9.43 (May 04, 2022)
Notable changes:
- There is now support for form submit interceptions inside resource forms
- See documentation here
- Fixed minor issue with auto filling Place field
- Removed hideOnIndex from
HasManyfield - Added Qore action to post process place & address fields to append lat & lng
- Make sure to update
qore/addressandqore/geocoding - Added correct urls to google map and embedded map in address fields (
\ninside address used to break them) - Added dropdown for US states inside address fields
0.9.39 (Apr 25, 2022)
Notable changes:
- The menu has been refactored to
Menu::make(), and requires manual updates (see upgrade guide below) - The menu doesn't force group items to be below normal menu items anymore, and now supports menu sections
- The Place and Addresses fields (from
qore/addresses) now add lat & lng when filling a non-Dutch address
Upgrade guide
Your GlobalsController should now return an instance of Qore\Menu\Menu. Make sure you update the following:
- Update your
MainLayout.vueto look like this - Update your
GlobalsControllerto look something like to look like this
The documentation can be found here: here
You can delete your MakesMenu trait after.
Make sure to upgrade the qore/addresses module if you use it.
0.9.37 (Apr 21, 2022)
Notable changes:
- Tabs and cards on detail pages will now be invisible if the user has no
view anypermissions for the related resource - Resource actions can only be executed now when the user has
updatepermissions now on the related resource - Added the
formatLogDetailsmethod on theQoreResourceclass to enable customizing log details if needed - Updated permission check in
qore/crmmodule to hide thecontactcolumn for the notes card - Added bugfix that prevented a user to have no roles
- Added comma-seperated display for relation fields in the front-end (if related resource is inactive)
Upgrade guide
Make sure to upgrade the qore/crm module if you use it.
To fix the roles issue for users, add the following to the TenantRoles class (in the constructor):
$this->fillMissing(function (Model $model) {
$sync = $model->roles()->sync([]);
$this->logSync($model, $sync);
});
0.9.35 (Apr 20, 2022)
Notable changes:
- There is now support for adding styles and classes conditionally to table rows and columns
- The
->setColumnStylemethod on field always expects aClosurenow - See documentation here
0.9.34 (Apr 19, 2022)
Notable changes:
- It is now possible to deselect relational table columns by default
- See documentation here
0.9.33 (Apr 19, 2022)
Notable changes:
- Fixed bug that caused wrong step to be active after form validation (in StepsLayout)
- Added lat & lng to Place field & addresses module, see upgrade guide below
- Fixed few issues with user form, see upgrade guide below
Upgrade guide
Latitude and longitude is now saved for addresses.
Make sure you upgrade qore/addresses and run:
php artisan vendor:publish --tag="address"
php artisan tenants:migrate
User password field validation checkmarks were not updating when generating a password.
You can add the following change to CheckedPassword:
->addAction('generateRandomPassword', function (ManagesForm $form) {
$generatedPassword = $this->generatePassword();
$form->setState('checked_password', $generatedPassword);
$form->setFieldMeta(
'checked_password',
'password_validation',
(new Password())->getInformation($generatedPassword)
);
})
0.9.31 (Apr 19, 2022)
Notable changes:
- With relational fields you can now have more control over create forms (hide fields etc.). See info here
- Soft deleted records will still be visible now (if policies / permission checks / IndexTab allow it)
- For the Resource index tables the query used in
IndexTabwill now be executed instead of only be used for numeric value above tab. - Add small hotfix for Month field
0.9.29 (Apr 13, 2022)
Notable changes:
- There is now support for marking fields visually as
disabledandreadonly - See usage here and conditional/meta usage here
- Empty field values on detail pages will now be displayed as
— - Styling for
belongsToManyfield when other resource is not active is improved (used to be large pill) - Relation attach modal now properly works with the
StepsLayout
Upgrade guide
- Make sure you update
qore-frontend. - If you are using
qore/addressesorqore/crm, make sure you upgradeqore/addressesand force publish the vue files. - This will allow for
readonlyanddisableto work with the fields in this module.
0.9.27 (Apr 12, 2022)
Notable changes:
- Month (picker) field added (see documentation for more information)
- Week numbers added to datepickers
- Props added to BaseTable (see documentation for more information)
0.9.26 (Mar 30, 2022)
Notable changes:
- Documentation has been updated quite a lot
0.9.24 (Mar 29, 2022)
Notable changes:
- You can now add IP whitelisting, see upgrade guide below
- Fixes several bugs & small improvements
Upgrade guide
If you would like to use IP white listing:
First, update your AuthenticationSettingsController to look something like this:
class AuthenticationSettingsController extends Controller
{
use HasFields;
use HandleAuthenticationSettings;
/**
* @return JsonResponse
*/
public function form(): JsonResponse
{
$this->checkPermission();
return $this->fieldsResponse($this->fields());
}
/**
* @return void
*/
private function checkPermission()
{
abort_unless(auth()->user()->hasPermissionScope(SettingsManagement::class), 403);
}
}
Next, add the following back-end translations:
"You are not allowed to access this site": "U bent niet gemachtigd om de applicatie te gebruiken",
"Field contains duplicate values": "Veld bevat duplicate waardes",
"At least one IP address is required": "Tenminste 1 IP adres is verplicht",
":value is not valid": ":value is niet geldig",
"Block all IP addresses except": "Blokkeer alle IP-adressen behalve",
Finally, make sure you handle the ipblock response in axios.js.
Note: The handleUnknownResponse function had a typo in its name, you should fix it too
// ..
const handledCodes = [401, 403, 419, 422, 428, 599]
// ..
if (error.response.status === 403) {
handle403Response(error)
}
// ..
// Handle 403 Response
function handle403Response (error) {
if ('response' in error && 'data' in error.response) {
if ('code' in error.response.data) {
if (error.response.data.code === 'ipblock') {
if (router.currentRoute.name !== 'login') {
router.push({ name: 'logout' })
Notify.create({
message: error.response.data.message,
type: 'negative',
position: 'top'
})
}
return
}
}
}
handleUnkownResponse(error)
}
Now you can append IP adresses in the application authentication settings
0.9.17 (Mar 24, 2022)
Notable changes:
- There is now support for auto-filling forms when including the
qore/testingmodule
Upgrade guide
If you would like to use the qore/testing module see https://qore.qlic.nl/modules/testing.
If you're using the qore/addresses module, make sure you upgrade this module too.
0.9.16 (Mar 22, 2022)
Notable changes:
- The
TenantVariablewill no longer do permission checks in order to be visible - Roles can be used to make 2FA required for users within the role, see upgrade guide below
Upgrade guide
Make sure you apply the upgrade guide from 0.9.14 first, this will allow the name to be edited for roles.
After, apply the following changes manually:
https://gitlab.qlic.nl/qore/skeleton-v2/-/commit/9ac2c7458e8e820aff52f3f4ea61d2af7f69e24a
0.9.14 (Mar 21, 2022)
Notable changes:
- A few bugs and issues have been resolved, make sure to upgrade qore-frontend to 0.9.2
- Role names can be edited now, see upgrade guide on how to do this
Upgrade guide
Because roles & permissions is a part of skeleton you will need to apply these changes manually:
https://gitlab.qlic.nl/qore/skeleton-v2/-/commit/9d35396f18f8f93979a5dd1403cedb2c6ef1dd1d
0.9.10 (Mar 14, 2022)
Notable changes:
- Table columns can now be saved as "default for everyone"
- Table filters now save column properties as well
- Layout builder now includes button support
Upgrade guide
- To save table columns as default, you will need a permission scope. Add the following to your
PermissionSeeder:
$creator->create('set default table settings',
'tables',
false,
false,
false,
false,
false,
SetDefaultTableSettings::class
);
- Clear your
user_table_filtersanduser_table_columnstables - Make sure to publish and override the
layoutmodule vendor files
0.9.8 (Mar 03, 2022)
Notable changes:
- Table columns can now be resized and renamed
Upgrade guide
- The data (json) structure for user table columns has changed. You should clear the rows in your
user_table_columnstable. - Text fields will now be truncated in tables (ellipsis). Update your
AvatarNamefield:
/**
* @var bool
*/
public bool $rendersTextOnIndex = false;
Features
- Add button to clear table settings
Bugfixes
- Fix date & datetime filter inputs not working correctly
0.9.5 (Feb 23, 2022)
Notable changes:
- More skeleton files have been transferred to qore-frontend, see upgrade guide below
Upgrade guide
- The boot file
app.jsshould no longer use local dialogs and more. It should look something like this:
import Vue from 'vue'
import Helpers from 'qore/mixins/Helpers'
import Avatar from 'components/user/Avatar'
import AvatarIcon from 'components/user/AvatarIcon'
import {api} from 'boot/axios'
import Fragment from 'vue-fragment'
import DownloadMenu from 'components/layout/DownloadMenu'
import PortalVue from 'portal-vue'
const app = {
api_url: process.env.API_URL,
debug: !process.env.PROD,
timeout: process.env.TIMEOUT
}
Vue.prototype.$app = app
Vue.prototype.$api = api
Vue.use(Fragment.Plugin)
Vue.use(PortalVue)
Vue.mixin(Helpers)
// Global registration
Vue.component('Avatar', Avatar)
Vue.component('AvatarIcon', AvatarIcon)
Vue.component('DownloadMenu', DownloadMenu)
// Register Qore
require('../qore')
export default app
- Session(management) related vue components now exists in qore-frontend. Make sure you update all import instances:
// Old:
import SessionManagement from 'src/components/tabs/session_management/SessionManagement.vue'
// New:
import SessionManagement from 'src/qore/components/elements/tabs/log/session/SessionManagement.vue'
- To prevent awkward refreshes on the login page after a session has expired (
axios.js):
// Handle Not Authenticated "401, 419" error
function handleNotAuthenticatedResponse() {
if (router.currentRoute.name === 'login') {
return
}
router.push({name: 'logout'})
}
Features
- Add header buttons to attach relational (
->withAttachButtonInHeader()) fields more easily - Mark all required fields pointer red (labels)
- Addresses (module), place, phone number and email address fields updated and improved
- Advanced export options when exporting resources
Bugfixes
- Fix for spamming login route when session expired
- Fix for company name field not properly emitting update
- Lots of stability bugfixes
0.8.10 (Feb 14, 2022)
Notable changes:
- Layout builder safari hotfix
- Main layout now in Qore source
Upgrade guide
- The
MainLayout.jsmixin now exists in Qore-frontend. You should remove your local one, and include the new one:
// Old:
import MainLayout from 'mixins/layout/MainLayout'
// New:
import MainLayout from 'qore/mixins/globals/MainLayout'
- The
ReloadsGlobalsmixin also exists in Qore-frontend now. Replace all following occurences:
// Old:
import ReloadsGlobals from 'mixins/globals/ReloadsGlobals'
// New:
import ReloadsGlobals from 'qore/mixins/globals/ReloadsGlobals'
- There are some issues with scroll behaviour in tables. This seems to have fixed it:
// router/index.js
scrollBehavior(to, from, savedPosition)
{
return new Promise((resolve, reject) => {
setTimeout(() => {
if (savedPosition) {
resolve(savedPosition)
} else {
// resolve({ x: 0, y: 0 })
}
}, 50)
})
}
- If you're using Layout builder, a fix is now made to make it work on safari. See upgrade guide here: https://qore.qlic.nl/modules/layout
Features
- Add improvements to mailing (confidential tags and more)
- Make sure countries are active when searching in google places
Bugfixes
- Fix for safari (caused by layout builder)
0.8.6 (Feb 08, 2022)
Notable changes:
- Some skeleton files have been transfered to the qore-frontend source.
- Mailing is now a default (optional) feature of Qore.
- Global search is now a default (optional) feature of Qore.
Upgrade guide
- Make sure you run
composer updateandyarn. - Make sure you run
php artisan vendor:publish --tag=qoreand migrate - Update your
quasar.config.jsboot array:
boot: [
'app',
'i18n',
'axios',
'fields',
'sentry',
'../qore/boot/extensions'
],
- Include
qoreroutes in yourrouter/routes.js:
import qoreRoutes from 'qore/routes'
Then within the require-confirmed middleware:
...
middleware('require-confirmed', [
{
path: '/',
component: () => import('layouts/MainLayout.vue'),
children: [
// ..
]
},
...qoreRoutes
])
- If you already have mailing functionality, make sure to add the following to your local
Usermodel:
public function sendPasswordResetNotification($token)
{
$this->notify(new ResetPasswordInstructions($token));
}
- In
store/index.jsmake sure you include the qore modules, and delete your local modules:
import auth from 'qore/store/modules/auth'
import globals from 'qore/store//modules/globals'
import table from 'qore/store/modules/table'
In the plugins section, make sure you include:
plugins: [createPersistedState({
paths: [
'auth.status',
'auth.twoFactorAuthStatus',
'auth.user',
'globals.menu',
'globals.resources',
'globals.tenants',
'globals.modules',
'globals.completedProcesses',
'globals.downloading',
'table.tableFilters',
'table.tableSearches',
'table.tableTabs'
]
})]
- If you like to include global search, find the installation guide here: https://qore.qlic.nl/docs/global-search
- If you like to include mailing, find the installation guide here: https://qore.qlic.nl/docs/mailing
Features
- Add field data alongside component properties and meta
- Allow onUpdate on fields to be called when initialized
- Add mailing as a default part of Qore
- Add global search as a default part of Qore
Bugfixes
- Fix issue for datepicker blur event
- Fix issue for datepicker inside modals not displaying correctly
- Fix large quantity of small bugs
0.7.4 (Nov 10, 2021)
Features
- Add lots of small style improvements
- Add skeleton as publishable group
- Add arguments to the fieldLayout method to be more dynamic
- Add RelatedToMany field
- Add caching for performance (request caching)
Bugfixes
- Fix issue where sub-header would be hidden in modals
- Fix several scroll issues
- Fix a lot of stability issues
0.5.7 (Oct 04, 2021)
Features
- Add
qore/systemas composer package - Add modules & plugins as composer packages
- Add functionality to create related resources in forms
- Extend modules & plugin pages to be activated per tenant
- Add functionality to attach and detach relations
- Add search for place field and extend US place layout
- Add page component with a fixed scrolling header
- Add better functionality to log and display wysiwyg logs
- Add sentry integration
- Add Qore CLI tool to create, update and serve Qore apps
Bugfixes
- Fix issue where images were logged and displayed multiple times
- Fix issue where relational tables were not exporting correctly