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 updateAdded
- 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
nameparamteter 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
UArrayModelsclass for array of models manipulation (GroupBy, asKeyValues, sorting...)UModelclass for models manipulation (property updating...)ubiquity-debugintegration
Before creating a new project, be sure to update the devtools:
composer global updateFixed
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::getTemplateEngineInstancemethod 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 theRestBaseControllerorRestResourceControllerclass 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
checkPermissionsmethod in REST controllers must be overridden to check the data associated with an authentication token. checkPermissionsmust be used in conjunction with theconnectmethod to override as well.
- The
2.4.2 release
Added
ViewRepositoryCRUD operations + Automatic passing of the handled objects to the viewAbstractRepositoryonly CRUD operations for overridingRepositorya default repository for any modelgetAllByIdsmethod inDAOpart
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_verifymethod 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' insertGroupsmethod (inserts in an implicit transaction)quoteoptions for PDO wrappersApplicationStoragefor global variables with async platforms (Swoole, Workerman, ngx_php...)
Fixed
- [orm]
oneToManyandmanyToManyloading 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)MemcachedDriversystemRedisDriversystem
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
SimpleViewAsyncControllerpb 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