Releases: userfrosting/UserFrosting
Releases · userfrosting/UserFrosting
4.1.2-alpha
4.1.1-alpha
- Fixed missing template in
ExceptionHandler
andnotFoundHandler
- Migration rollback will throw a warning if a class is not found instead of aborting
- Temporary fix for trouble with
npm install
in Windows (#742)
4.1.0-Alpha
- Switch from pagination "plugin" to "widget" for Tablesorter. Allows us to update to the latest version of TS (fix #688, #715)
- Implement
WhoopsRenderer
for pretty debug pages. See (#674) - Refactor error handling. Move responsibility for displayErrorDetails to handlers, and factor our ErrorRenderers. Addresses (#702)
- Move
composer.json
to root directory to allow installing UF via composer create-project - Move
sprinkles.json
to app directory to make it easier to find - Eliminate the
root
theme Sprinkle. Custom styling for the root user is now handled with some Twig logic in theadmin
Sprinkle (#726) - Rename bundle.config.json -> asset-bundles.json (#726)
- Reorganize assets (#726)
- Heavily reorganize templates (#726)
- Move request schema from
schema/
toschema/requests/
(#726) - Factor out "system" classes from core Sprinkle
- Refactor overall application lifecycle; move main lifecycle into UserFrosting\System\UserFrosting
- SprinkleManager now better focused on a single responsibility
- Sprinkle initializer classes now use events to hook into application lifecycle
- Support for allowing Sprinkles to register middleware (#617)
- Automatically load Sprinkle service providers (see #636)
- Get rid of "implicit loading" for core Sprinkle - core is now just an ordinary Sprinkle like any other.
- The
sprinkles://
stream now represents a virtual filesystem for the root directory of each loaded sprinkle, rather than thesprinkles/
directory itself. - Separate out
localePathBuilder
from thetranslator
service. Makes it easier to add/remove paths before actually loading the translations. - Only present locale options with non-null names.
- Rebased ufTable and ufModal with new jQuery plugin template. (part of #646)
- Removed the search bar from the Dashboard layout
- Added Tablesorter pagination translation
- New Translator Facade
- New CLI tool (Bakery).
- New migration system based on bakery CLI
- Listable sprunjing
- Refactor groups and user routes (Fix #721)
- Added the
config
alert stream to save ufAlerts to the cache instead of sessions. Fix #633. The oldsession
is still the default alertStream in 4.1. - Added support for the Redis cache driver and refactored the cache config values.
- Added user and session cache.
- Common log file for db queries, auth checks, smtp, errors, and debug messages (#709).
- Use YAML as default format for request schema (#690)
See [http://learn.userfrosting.com/upgrading/40-to-41](Upgrading 4.0.x to 4.1.x documentation) for complete list of changes and breaking changes.
4.0.23-Alpha
- Set module dependency versions to ~4.0.0 instead of ^4.0.0 (since 4.1.x will introduce breaking changes)
- Fix bug in ufCollection
4.0.22-Alpha
- Fix issue where 'Change User Password' popup form couldn't handle specifying a new password.
- Display message when there are no results in
ufTable
4.0.21-Alpha
- Implement reflow and column selector for tables (#670)
- Overhauled ufAlerts, improving efficiency, reliability, and fixed a discovered edge case that caused
render
to never complete. (part of #646) - ufAlerts will only auto-scroll when outside the viewport (even if only partially). Can be overriden with
scrollWhenVisible: true
. (#714) - Rebased ufCollection, and ufForm with new jQuery plugin template. (part of #646)
- Misc UI update
- Added Twig blocks
- Fix issue with duplicate query logs when using multiple databases
4.0.20-Alpha
- Remove pivot columns from pagination subquery in
BelongsToManyThrough
, to deal with MySQL'sonly_full_group_by
warning
4.0.19-Alpha
- Explicit column names in new user permissions relations
4.0.18-Alpha
- Permission info page (#638)
- New custom relationships 'BelongsToManyThrough', 'BelongsToManyUnique', 'BelongsToManyConstrained', 'HasManySyncable', 'MorphManySyncable'
- Change implementation of User::permissions() to use BelongsToManyThrough
- New ufForm options: setting reqParams, encType, submittingText
- ufCollection now triggers a check for virgin rows when any control is touched
- Fix issue with Sprunje when generating CSV with empty child collections (#697)
- Authorizer now correctly interprets string literals (#482)
- Authorizer now correctly interprets numeric types in access conditions. Caution: this causes the
equals()
callback to return true in situations where it would have (incorrectly) returned false before. For example,equals(self.group_id,2)
would have returned false for users in group 2, because it was interpreting2
as a string and then performing its strict comparison. It now (correctly) returns true. Notice thatequals(self.group_id,'2')
, on the other hand, will now returnfalse
. - User object caches permissions loaded from DB to reduce number of queries (#612)
- Type declarations in authorization classes (#652)
- Fix issue with Twig debug (#356)
- Show disabled/unactivated badges on user info page