All Versions
44
Latest Version
Avg Release Cycle
36 days
Latest Release
730 days ago

Changelog History
Page 1

  • v2.4.12 Changes

    April 25, 2022

    โž• Added

    • count method to AbstractRepository
    • app methods to Logger: appLog, appInfo, appError...
    • regenerateId for USession
    • DataFormHelper class for model form generation
    • forward method to UResponse ### ๐Ÿ›  Fixed
    • ๐Ÿ—„ php 8.1 deprecation in Validator, UModel, UArrayModel classes
    • checkConnection in AuthController
    • data-target bug in MultiResourceCrudController
    • UCookie pb with transformers

    โœ‚ Deleted

    • diSemantic and diBootstrap in Framework => use Ajax\php\ubiquity\JsUtils::diSemantic(...) instead.
  • v2.4.11 Changes

    February 22, 2022

    โšก๏ธ Updated (breaking change)

    • ๐Ÿ”จ AuthControllers refactoring
    • CRUDControllers (return types added on methods to override)

    โšก๏ธ With an update on an existing project, the following error may occur in derived classes of AuthController, AuthFiles, CRUDController, CRUDFiles:

    Fatal error: Declaration of controllers\auth\files\MyAuthFiles::getViewIndex() must be compatible with Ubiquity\controllers\auth\AuthFiles::getViewIndex(): string

    The signature of the methods of AuthController, AuthFiles, CRUDController, CRUDFiles has changed, by adding the return types:

    It is therefore necessary to add this return types on the overridden methods

        public function getViewIndex():string {
            return 'MyAuth/index.html';
        }
    

    โž• Added

    In Auth controllers:

    • Account recovery (password reset)
    • AuthControllerConfig, UASystem, UConfigFile classes
  • v2.4.10 Changes

    February 13, 2022

    โž• Added

    In Auth controllers:

    • Two factor authentification
    • 0๏ธโƒฃ Default account creation + email validation

    In Router:

    • Action parameters typing with Router (int, float, bool)

    ๐Ÿ›  Fixed

    • RestServer Fix php 8.1 depreciation
    • โšก๏ธ php 8.1 depreciations in ModelsCacheUpdated, ValidatorMultiple...

    โšก๏ธ Updated

    • ๐Ÿ’… Default index css style
  • v2.4.9 Changes

    January 01, 2022

    โž• Added

    ๐Ÿ›  Fixed

    • typo in MultiResourceCrudController (no open issue)
    • โš  php 8.1 depreciation warnings (UbiquityException, UCookie, UResponse...)
  • v2.4.8 Changes

    December 01, 2021

    โž• Added

    • Pseudo-migrations in webtools and devtools
    Ubiquity info-migrations
    Ubiquity migrations
    
    • Models creation command in devtools
    Ubiquity new-model User
    Ubiquity new-model user,group
    

    โšก๏ธ Updated

    • Db wrappers for migrations
    • โž• Added DbOperations

    ๐Ÿ›  Fixed

    • ๐Ÿ›  Fix absolute path pb in router with #/ (no open issue)
    • ๐Ÿ›  Fix mainParams pb in router cache generation (no open issue)
  • v2.4.7 Changes

    November 01, 2021

    โž• Added

    • Domain Driven design approach with DDDManager class

      DDDManager::setDomain('users');
      

      Sample file structure:

      app/
      domains/
          users/
              models/
              controllers/
              views/
              services/
              ...
          posts/
              models/
              controllers/
              views/
              services/
              ...
      
    • Route main parameters

    #[Route('/foo/{mainParam}')]
    public class FooController {
        public $mainParam;
    }
    
    #[Route('/foo/{_setMainParam()}')]
    public class FooController {
            private $mainParam;
    
        pubic function _setMainParam(string $p){
            $this->mainParam=$p;
         }
    }
    

    ๐Ÿ›  Fixed

    • โœ… Tests pb (codeception vulnerability)
    • ๐Ÿฑ AssetsManager js and css attributes pb (no open issue)
    • 0๏ธโƒฃ default index.html W3C validation errors

    โšก๏ธ Updated

    • ๐Ÿ“œ light opt : parseURI and getNS methods
  • v2.4.6 Changes

    September 06, 2021

    โž• Added

    • โšก๏ธ [ORM] Update cascade behavior
    • boolean transformer
    • main params for routes
    • MultiResourceCRUDController Crud controller with index for several models
    • [ORM] aggregate uQueries (count, sum, min, max, avg)

    ๐Ÿ›  Fixed

    • [DAO] Fix Where pb with count method
    • [DAO] Fix Where pb with exists method

    โšก๏ธ Updated

    • 0๏ธโƒฃ default index page
  • v2.4.5 Changes

    June 15, 2021

    โšก๏ธ 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 in onGenerateFormField($field, $nb, $name) event
    • โž• Add methods for modal title and message (getFormModalTitle($instance) and formHasMessage())
    • โž• 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);
    
  • v2.4.4 Changes

    April 25, 2021

    โšก๏ธ Before creating a new project, be sure to update the devtools:

    composer global update
    

    โž• Added

    • UArrayModels class for array of models manipulation (GroupBy, asKeyValues, sorting...)
    • โšก๏ธ UModel class for models manipulation (property updating...)
    • ubiquity-debug integration ### ๐Ÿ›  Fixed
    • Boolean types pb #174
    • ResponseFormatter import #173
    • DAO PostgreSQL
      • ConditionParser pb with cast #172
      • Null values on fk #171
  • v2.4.3 Changes

    March 07, 2021

    โž• 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
    • 0๏ธโƒฃ 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 the RestBaseController or RestResourceController class instead
    • โž• Added:
      • JsonRestController => for simple Json REST API
      • RequestFormatter, 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 the connect method to override as well.