Skip to content

Commit 61cbc65

Browse files
committed
Merge branch 'master' into hotfix
2 parents 9929b03 + 3b136e2 commit 61cbc65

430 files changed

Lines changed: 9253 additions & 5478 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitignore

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ _meta/*
1111
app/.env
1212

1313
# Ignore composer-generated files
14-
app/composer.lock
15-
app/composer.phar
14+
composer.lock
15+
composer.phar
1616

1717
# Ignore log, cache, and sessions directories
1818
app/cache/*
@@ -28,7 +28,7 @@ app/sessions/*
2828
/app/sprinkles/*/assets/vendor/
2929

3030
# Ignore sprinkles.json config file
31-
app/sprinkles/sprinkles.json
31+
app/sprinkles.json
3232

3333
# Ignore sample site sprinkle
3434
app/sprinkles/site-dev

CHANGELOG.md

Lines changed: 38 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,43 @@
11
# Change Log
22

3-
## v4.0.23-Alpha
3+
## v4.1.0
4+
- Switch from pagination "plugin" to "widget" for Tablesorter. Allows us to update to the latest version of TS (fix #688, #715)
5+
- Implement `WhoopsRenderer` for pretty debug pages. See (#674)
6+
- Refactor error handling. Move responsibility for displayErrorDetails to handlers, and factor our ErrorRenderers. Addresses (#702)
7+
- Move `composer.json` to root directory to allow installing UF via composer create-project
8+
- Move `sprinkles.json` to app directory to make it easier to find
9+
- Eliminate the `root` theme Sprinkle. Custom styling for the root user is now handled with some Twig logic in the `admin` Sprinkle (#726)
10+
- Rename bundle.config.json -> asset-bundles.json (#726)
11+
- Reorganize assets (#726)
12+
- Heavily reorganize templates (#726)
13+
- Move request schema from `schema/` to `schema/requests/` (#726)
14+
- Factor out "system" classes from core Sprinkle
15+
- Refactor overall application lifecycle; move main lifecycle into UserFrosting\System\UserFrosting
16+
- SprinkleManager now better focused on a single responsibility
17+
- Sprinkle initializer classes now use events to hook into application lifecycle
18+
- Support for allowing Sprinkles to register middleware (#617)
19+
- Automatically load Sprinkle service providers (see #636)
20+
- Get rid of "implicit loading" for core Sprinkle - core is now just an ordinary Sprinkle like any other.
21+
- The `sprinkles://` stream now represents a virtual filesystem for the root directory of each loaded sprinkle, rather than the `sprinkles/` directory itself.
22+
- Separate out `localePathBuilder` from the `translator` service. Makes it easier to add/remove paths before actually loading the translations.
23+
- Only present locale options with non-null names.
24+
- Rebased ufTable and ufModal with new jQuery plugin template. (part of #646)
25+
- Removed the search bar from the Dashboard layout
26+
- Added Tablesorter pagination translation
27+
- New Translator Facade
28+
- New CLI tool (Bakery).
29+
- New migration system based on bakery CLI
30+
- Listable sprunjing
31+
- Refactor groups and user routes (Fix #721)
32+
- Added the `config` alert stream to save ufAlerts to the cache instead of sessions. Fix #633. The old `session` is still the default alertStream in 4.1.
33+
- Added support for the Redis cache driver and refactored the cache config values.
34+
- Added user and session cache.
35+
- Common log file for db queries, auth checks, smtp, errors, and debug messages (#709).
36+
- Use YAML as default format for request schema (#690)
37+
38+
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.
439

40+
## v4.0.23-Alpha
541
- Set module dependency versions to ~4.0.0 instead of ^4.0.0 (since 4.1.x will introduce breaking changes)
642
- Fix bug in ufCollection
743

@@ -29,7 +65,7 @@
2965
- New custom relationships 'BelongsToManyThrough', 'BelongsToManyUnique', 'BelongsToManyConstrained', 'HasManySyncable', 'MorphManySyncable'
3066
- Change implementation of User::permissions() to use BelongsToManyThrough
3167
- New ufForm options: setting reqParams, encType, submittingText
32-
- ufCollection now triggers a check for virgin rows when _any_ control is touched
68+
- ufCollection now triggers a check for virgin rows when _any_ control is touched
3369
- Fix issue with Sprunje when generating CSV with empty child collections (#697)
3470
- Authorizer now correctly interprets string literals (#482)
3571
- 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 interpreting `2` as a string and then performing its strict comparison. It now (correctly) returns true. Notice that `equals(self.group_id,'2')`, on the other hand, will now return `false`.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Copyright (c) 2016 by Alexander Weissman (https://alexanderweissman.com)
1+
Copyright (c) 2017 by Alexander Weissman (https://alexanderweissman.com)
22

33
UserFrosting is 100% free and open-source.
44

README.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# UserFrosting 4.0
1+
# UserFrosting 4.1
22

33
[http://www.userfrosting.com](http://www.userfrosting.com)
44

@@ -12,7 +12,7 @@ If you simply want to show that you like this project, or want to remember it fo
1212

1313
Copyright (c) 2017, free to use in personal and commercial software as per the [license](licenses/UserFrosting.md).
1414

15-
UserFrosting is a secure, modern user management system written in PHP and built on top of the [Slim Microframework](http://www.slimframework.com/), [Twig](http://twig.sensiolabs.org/) templating engine, and [Eloquent](https://laravel.com/docs/5.2/eloquent#introduction) ORM.
15+
UserFrosting is a secure, modern user management system written in PHP and built on top of the [Slim Microframework](http://www.slimframework.com/), [Twig](http://twig.sensiolabs.org/) templating engine, and [Eloquent](https://laravel.com/docs/5.4/eloquent#introduction) ORM.
1616

1717
## Features
1818

@@ -54,6 +54,10 @@ UserFrosting seeks to balance modern programming principles, like DRY and MVC, w
5454

5555
### [API documentation](http://api.userfrosting.com)
5656

57+
## Running tests
58+
59+
Run `php bakery test` from the root project directory. Any tests included in `sprinkles/*/tests` will be run.
60+
5761
## About the Developers
5862

5963
### Alexander Weissman

app/composer.json

Lines changed: 0 additions & 47 deletions
This file was deleted.

app/defines.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
namespace UserFrosting;
44

55
// Some standard defines
6-
define('UserFrosting\VERSION', '4.0.23-alpha');
6+
define('UserFrosting\VERSION', '4.1.0-alpha');
77
define('UserFrosting\DS', '/');
88
define('UserFrosting\PHP_MIN_VERSION', '5.6');
99
define('UserFrosting\DEBUG_CONFIG', false);
@@ -35,3 +35,4 @@
3535
define('UserFrosting\SRC_DIR_NAME', 'src');
3636
define('UserFrosting\SPRINKLES_DIR_NAME', 'sprinkles');
3737
define('UserFrosting\TEMPLATE_DIR_NAME', 'templates');
38+
define('UserFrosting\FACTORY_DIR_NAME', 'factories');

app/helpers.php

Lines changed: 0 additions & 25 deletions
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
{
2+
"require": {
3+
4+
},
25
"base": [
6+
"core",
37
"account",
48
"admin"
59
]
6-
}
10+
}
Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"bundle": {
33
"js/pages/account-settings": {
44
"scripts": [
5-
"local/pages/js/account-settings.js"
5+
"userfrosting/js/pages/account-settings.js"
66
],
77
"options": {
88
"result": {
@@ -14,7 +14,7 @@
1414
},
1515
"js/pages/forgot-password": {
1616
"scripts": [
17-
"local/pages/js/forgot-password.js"
17+
"userfrosting/js/pages/forgot-password.js"
1818
],
1919
"options": {
2020
"result": {
@@ -26,7 +26,7 @@
2626
},
2727
"js/pages/resend-verification": {
2828
"scripts": [
29-
"local/pages/js/resend-verification.js"
29+
"userfrosting/js/pages/resend-verification.js"
3030
],
3131
"options": {
3232
"result": {
@@ -38,7 +38,7 @@
3838
},
3939
"js/pages/set-or-reset-password": {
4040
"scripts": [
41-
"local/pages/js/set-or-reset-password.js"
41+
"userfrosting/js/pages/set-or-reset-password.js"
4242
],
4343
"options": {
4444
"result": {
@@ -51,8 +51,8 @@
5151
"js/pages/register": {
5252
"scripts": [
5353
"vendor/speakingurl/speakingurl.min.js",
54-
"local/core/js/uf-captcha.js",
55-
"local/pages/js/register.js"
54+
"userfrosting/js/uf-captcha.js",
55+
"userfrosting/js/pages/register.js"
5656
],
5757
"options": {
5858
"result": {
@@ -65,7 +65,7 @@
6565
"js/pages/sign-in": {
6666
"scripts": [
6767
"vendor/urijs/src/URI.js",
68-
"local/pages/js/sign-in.js"
68+
"userfrosting/js/pages/sign-in.js"
6969
],
7070
"options": {
7171
"result": {

app/sprinkles/account/assets/local/pages/js/account-settings.js renamed to app/sprinkles/account/assets/userfrosting/js/pages/account-settings.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
* Page-specific Javascript file. Should generally be included as a separate asset bundle in your page template.
33
* example: {{ assets.js('js/pages/sign-in-or-register') | raw }}
44
*
5-
* This script depends on validation rules specified in components/page.js.twig.
5+
* This script depends on validation rules specified in pages/partials/page.js.twig.
66
*
77
* Target page: account/settings
88
*/

0 commit comments

Comments
 (0)