Releases: phpMv/ubiquity
Releases · phpMv/ubiquity
2.4.5 release
Before creating a new project, be sure to update the devtools if they are installed globally:
composer global update
Added
- mass update in DAO class (
updateAll
) - type checker for routes params (int, bool=>regex)
- status code for router (200, 404, 405)
Fixed
- autowiring pb with ReflectionType
- Mysql pb: replace parser cast for Mysql/mariaDB diff
- ManyToMany update pb (no open issue)
Updated
Models generation
- The regeneration of models preserves the code implemented on the existing models.
CRUD controllers
- Add custom default buttons to dataTable (returned by
ModelViewer::getDataTableRowButtons()
) - Add
onNewInstance($instance)
event - Add
name
paramteter inonGenerateFormField($field, $nb, $name)
event - Add methods for modal title and message (
getFormModalTitle($instance)
andformHasMessage()
) - Add hook for form modal buttons (
onFormModalButtons($btOkay, $btCancel)
)
Application root (breaking change)
- For apache and nginX, root folder is set to public folder
For an old project (created with a version prior to 2.4.5), you have to modify index.php
and move the index.php
and .htaccess
files to the public
folder.
<?php
define('DS', DIRECTORY_SEPARATOR);
//Updated with index.php in public folder
define('ROOT', __DIR__ . DS . '../app' . DS);
$config = include_once ROOT . 'config/config.php';
require_once ROOT . './../vendor/autoload.php';
require_once ROOT . 'config/services.php';
\Ubiquity\controllers\Startup::run($config);
2.4.4 release
Added
UArrayModels
class for array of models manipulation (GroupBy, asKeyValues, sorting...)UModel
class for models manipulation (property updating...)ubiquity-debug
integration
Before creating a new project, be sure to update the devtools:
composer global update
Fixed
2.4.3 release
Added
- Dark mode for CRUD controllers (
setStyle('inverted')
) - CRUD hooks
onBeforeUpdate(object $instance, bool $isNew)
onBeforeUpdateRequest(array &$requestValues, bool $isNew)
- Twig
isAllowedRoute(role, routeName)
added if ubiquity-acl is present.
Updated
Validators
- Model validators can be used on the client side (used by default for CRUD controllers).
Routing
- Start router cache indexing (for routes with parameters) => This cache indexing is not yet used in production.
Fixed
- fix
Startup::getTemplateEngineInstance
method name. - AuthController finalize and initialize pb with bad creditentials(no open issue)
- Make manyToOne dropdowns clearable in CRUD controllers for fk null values.
- DI parser pb (no open issue)
Breaking change possible
Rest controllers refactoring
- Removed:
SimpleRestController
,RestController
=> Use theRestBaseController
orRestResourceController
class instead - Added:
JsonRestController
=> for simple Json REST APIRequestFormatter
,JsonRequestFormatter
,JsonApiRequestFormatter
=> for JSON api, JSON or url-encoded requests
- Updated (for request with authorization - accesstoken):
- The
checkPermissions
method in REST controllers must be overridden to check the data associated with an authentication token. checkPermissions
must be used in conjunction with theconnect
method to override as well.
- The
2.4.2 release
Added
ViewRepository
CRUD operations + Automatic passing of the handled objects to the viewAbstractRepository
only CRUD operations for overridingRepository
a default repository for any modelgetAllByIds
method inDAO
part
Fixed
- Fix cache generation pb for field names & dbTypes
Updated
- Update route default name (ControllerName-{controller}.action)
devtools
- livereload for php embedded web server
2.4.1 release
Fixed
- consecutive Bulk updates pb
- Models cache generation pb (php8 attributes have no inheritance support.) => no open issue
Added
- Dark theme for CRUD controllers
Documentation
- Security part
- ACL part
- Attributes/annotations update
2.4.0 release
Added
- PHP8 attributes support => with PHP8, Ubiquity uses the PHP8 attributes system for annotations (Router, ORM, Validators...).
password_verify
method toURequest
Updated
- CRUD and Auth controllers no longer use twig inheritance on views by default: It is easier to customize the display.
2.3.13 release
Added
- ACL Manager in ubiquity-acl repository
Fixed
- Update php version in composer.json for php 8
- DAOUqueries pb with parentheses in condition
- Password hash algo type (no open issue)
- DB Logging omitted (no open issue)
2.3.12 release
Added
- Named db statements for async platforms
- Rest events on insert and update
BEFORE_INSERT = 'rest.before.insert'
andBEFORE_UPDATE = 'rest.before.update'
insertGroups
method (inserts in an implicit transaction)quote
options for PDO wrappersApplicationStorage
for global variables with async platforms (Swoole, Workerman, ngx_php...)
Fixed
- [orm]
oneToMany
andmanyToMany
loading pb with 2.3.11 version see #145
Tests
- Adding tests
- increase of coverage to 73%.
2.3.11 release
Added
DAOCache
(caches objects loaded by id)MemcachedDriver
systemRedisDriver
system
Updated
- fomantic-ui 2.8.6
- default index view relooking
- Cache system and ArrayCache refactoring
- light opt for async view and dbWrapper getStatement
Fixed
- [rest] no violations on insert with ValidatorManager see #122
- [rest] Validation on insertion should be complete see #123
- [postgresql] pb wth PgsqlDriverMetas (names protection) see #128
- [postgresql] Insert fail with non autoinc pk see #129
- [webtools][models] click on Nothing to display generates an error see #130
- [webtools][models] instances count not updated see #131
- Session names with non allowed characters see #134
SimpleViewAsyncController
pb with cache (no open issue)
2.3.10 release
Added
- transformer for
UCookie
(for Crypto) - getter on session Csrf protection
- security level to csrf protection (0 => no secure)
Updated
- fomantic-ui 2.8.5