Skip to content

Latest commit

 

History

History
326 lines (260 loc) · 27.3 KB

CHANGELOG_4.3.md

File metadata and controls

326 lines (260 loc) · 27.3 KB

Changelog 4.3

v4.3.8 (2023-08-25)

Full Changelog

Fixed Bugs

  • fix: [Pager] knocks down variables for View by @kenjis in #7758
  • fix: Model::insertBatch() causes error to non auto increment table by @kenjis in #7759
  • fix: [Model] updateBatch() may generate invalid SQL statement by @kenjis in #7787
  • fix: Model inserts cast $primaryKey value when using Entity by @kenjis in #7806
  • fix: instances of Validation rules are incremented each time run() is executed by @kenjis in #7815
  • fix: filter except empty by @kenjis in #7823
  • fix: set_checkbox() checks unchecked checkbox by @kenjis in #7818

Refactoring

  • Normalize data provider names by @paulbalandan in #7656
  • refactor: remove Model::$tempPrimaryKeyValue by @kenjis in #7760
  • Remove unused cast on RedisHandler by @samsonasik in #7786

v4.3.7 (2023-07-30)

Full Changelog

Breaking Changes

  • fix: FeatureTestTrait may change $params values passed to call(), and a few bug fixes by @kenjis in #7602
  • fix: auto routing legacy and $route->add() by @kenjis in #7690
  • fix: [Model] setValidationRule() cannot use with ruleGroup by @kenjis in #7691

Fixed Bugs

  • docs: fix incorrect description on RedirectException (1) by @kenjis in #7629
  • docs: fix incorrect description on RedirectException (2) by @kenjis in #7633
  • fix: skip http proxy added header by @jozefrebjak in #7622
  • fix: number_to_roman() param type by @kenjis in #7640
  • fix: [Auto Routing Improved] feature testing may use incorrect param count by @kenjis in #7597
  • fix: url_to() error message by @kenjis in #7652
  • fix: [ViewCells] caching by @kenjis in #7663
  • fix: [ViewCells] when there are cells with the same short name, only the first cell is loaded by @kenjis in #7686
  • Fix number comparison in number_to_amount() in number_helper.php by @sba in #7701
  • fix: wrong Config classname to config() in Toolbar by @kenjis in #7735
  • fix: $sensitiveDataInTrace does not work by @kenjis in #7725

Enhancements

  • Remove PHPStan from pre-commit hook by @lonnieezell in #7618

Refactoring

  • refactor: remove unused property in Encryption\Handlers\BaseHandler by @kenjis in #7579
  • refactor: use ::class to config() param by @kenjis in #7611
  • refactor: remove unused non-empty array in RequestTrait by @kenjis in #7620
  • refactor: [Cache] simplify code of FileHandler::getItem() by @paulbalandan in #7667
  • refactor: replace config(Paths::class) by @kenjis in #7702

v4.3.6 (2023-06-18)

Full Changelog

Breaking Changes

  • fix: [Validation] DBGroup is ignored when checking the value of a placeholder by @kenjis in #7549
  • fix: [Auto Routing Improved] feature testing may not find controller/method by @kenjis in #7543

Fixed Bugs

  • fix: feature test with validation by @kenjis in #7548
  • fix: [Postgre] Semicolon in the connection parameters break the DSN string by @michalsn in #7552
  • fix: [QueryBuilder] incorrect SQL without space before "ON DUPLICATE KEY UPDATE" by @kenjis in #7564
  • fix: wrong classname in exception message in Cell by @kenjis in #7569
  • fix: imagecreatefrompng() gd-png: libpng warning by @ping-yee in #7570

Refactoring

  • refactor: remove unneeded code in IncomingRequest by @kenjis in #7525
  • refactor: View by @kenjis in #7534
  • refactor: [Entity] fix incorrect return value by @kenjis in #7542
  • refactor: Database::initDriver() by @kenjis in #7553
  • refactor: remove Factories::models() by @paulbalandan in #7566
  • refactor: Validation::processRules() by @kenjis in #7565
  • refactor: [Auto Routing Improved] ensure $httpVerb is lower case by @kenjis in #7575

v4.3.5 (2023-05-21)

Full Changelog

SECURITY

  • Remote Code Execution Vulnerability in Validation Placeholders was fixed. See the Security advisory for more information.
  • fix: Session::stop() does not destroy session by @kenjis in #7503

Fixed Bugs

  • docs: remove incorrect @property in ResponseTrait by @kenjis in #7495
  • fix: validation error when a closure is used in combination with permit_empty or if_exist rules by @michalsn in #7492
  • fix: standardize behavior of make:cell and Cells by @paulbalandan in #7481
  • fix: PostgreSQL getVersion() logic by @marekmosna in #7488
  • fix: PostgreSQL getVersion() output by @kenjis in #7509

Enhancements

  • feat: user guide dark mode by @michalsn in #7463

Refactoring

  • refactor: Entity variable by @kenjis in #7499

v4.3.4 (2023-04-27)

Full Changelog

Breaking Changes

  • fix: redirect status code by @kenjis in #7445
  • fix: [SQLite3][Postgres][SQLSRV][OCI8] Forge::modifyColumn() changes NULL constraint incorrectly by @kenjis in #7371

Fixed Bugs

  • fix: view cell cannot locate the auto-generated view file by @sammyskills in #7392
  • fix: CURLRequest - clear response headers between requests by @michalsn in #7398
  • fix: [Auto Routing Improved] spark routes shows invalid routes by @kenjis in #7419
  • fix: remove $insertID in make:model template by @kenjis in #7443
  • fix: add missing 'make:cell' in app/Config/Generators.php by @kenjis in #7458

Refactoring

  • refactor: Security::getPostedToken() by @kenjis in #7377

v4.3.3 (2023-03-26)

Full Changelog

Fixed Bugs

  • docs: fix $systemDirectory path in existing project. by @jozefrebjak in #7289
  • docs: fix message.rst and improve content_negotiation.rst by @kenjis in #7280
  • fix: Encryption CI3 compatibility by @kenjis in #7273
  • fix: [QueryBuilder] RawSql causes error when using like() and countAllResults() by @kenjis in #7277
  • fix: handling of null bytes in Exceptions::renderBacktrace() by @paulbalandan in #7306
  • fix: incorrect metadata querying of Redis cache by @paulbalandan in #7307
  • fix: [Email] add missing TLS 1.3 support by @kenjis in #7317
  • docs: add warning to random_string() by @kenjis in #7333
  • fix: random_string() numeric by @kenjis in #7336
  • docs: add note for addColumn() and NULL by @kenjis in #7342
  • fix: respondNoContent() returns Kint script in development mode by @anggadarkprince in #7347
  • fix: use first exception in exceptionHandler() by @kenjis in #7341
  • fix: random_string() alpha alnum nozero by @kenjis in #7344
  • fix: migrate:rollback -b negative number by @kenjis in #7350
  • fix: site_url() does not support protocol-relative links by @kenjis in #7353
  • docs: add uri_string() BC in v4.3.2 by @kenjis in #7356
  • fix: Cache FileHandler error when there is a folder in cache dir by @kenjis in #7361

Refactoring

  • refactor: consistent header name case by @kenjis in #7299

v4.3.2 (2023-02-18)

Full Changelog

Breaking Changes

  • fix: base_url() removes trailing slash in baseURL by @kenjis in #7200
  • fix: remove parameter $relative in uri_string() by @kenjis in #7135

Fixed Bugs

  • docs: fix incorrect sample code in view_parser by @kenjis in #7103
  • docs: add missing items in upgrade_430.rst/v4.3.0.rst by @kenjis in #7119
  • fix: remove All from Options All -Indexes in .htaccess by @sba in #7093
  • fix: bug on stuck content-type header in Feature Testing by @baycik in #7112
  • fix: ordering Validation show error by call setRule() by @ddevsr in #7149
  • fix: [QueryBuilder] where() generates incorrect SQL when using RawSql by @sclubricants in #7147
  • fix: [QueryBuilder] RawSql passed to set() disappears without error by @kenjis in #7148
  • fix: [Parser] local_currency causes "Passing null to parameter" by @kenjis in #7157
  • fix: [Parser] ! does not work if delimiters are changed by @kenjis in #7142
  • fix: Throttler token time calculation by @rumpfc in #7160
  • fix: [QueryBuilder] getOperatorFromWhereKey() misses EXISTS, BETWEEN by @kenjis in #7155
  • docs: Correcting documentation mistakes in upgrading from one version to another by @objecttothis in #7191
  • fix: [Session] Redis connect to protocol TLS by @ddevsr in #7187
  • fix: Autoloader may not add Composer package's namespaces by @kenjis in #7193
  • fix: add try/catch to real_path() in clean_path() by @kenjis in #7195
  • fix: cannot create shared View instance when using debugbar by @kenjis in #7172
  • fix: RouteCollection::getRegisteredControllers() may not return all controllers by @kenjis in #7174
  • fix: spark routes shows incorrect hostname routes by @kenjis in #7176
  • docs: add missing composer.json in Mandatory File Changes by @kenjis in #7170
  • fix: stack trace displayed when Exception handler runs out of memory is useless by @kenjis in #7212
  • fix: support for display of error message using wildcard (*) by @sammyskills in #7226
  • fix: routing behavior when $uriProtocol is QUERY_STRING by @kenjis in #7199
  • fix: site_url() does not use alt Config by @kenjis in #7215
  • docs: add missing @method having() in Model by @paul45 in #7258

Enhancements

  • add application/vnd.microsoft.portable-executable and application/x-dosexec by @totoprayogo1916 in #7144

Refactoring

  • refactor: add PHPDoc types in RouteCollection by @kenjis in #7129
  • refactor: URI::parseStr() by @kenjis in #7154
  • refactor: error_exception.php by @kenjis in #7171
  • [Rector] Apply Rector to app/Views by @samsonasik in #7169
  • refactor: Update PHPDoc Common::config by @maniaba in #7224

v4.3.1 (2023-01-14)

Full Changelog

Fixed Bugs

  • fix: Email config in the .env doesn't appear as expected by @kenjis in #7078
  • fix: TypeError in Validation is_unique/is_not_unique by @kenjis in #7085
  • fix: revert method name resetQuery() changed accidentally by @kenjis in #7083
  • fix: handling float in Validation Strcit Rules (greater_than, greater_than_equal_to, less_than, less_than_equal_to) by @kenjis in #7098
  • docs: add missing instruction for Config/Exceptions in PHP 8.2 by @kenjis in #7100
  • fix: Call to undefined method Composer\InstalledVersions::getAllRawData() error by @kenjis in #7107

Refactoring

  • [Rector] Enable AddDefaultValueForUndefinedVariableRector by @samsonasik in #7088

v4.3.0 (2023-01-10)

Full Changelog

Breaking Changes

  • fix: throws DatabaseException in DB connections by @kenjis in #6163
  • config: DB Error always throws Exception CI_DBUG by @kenjis in #6183
  • Config Property Types by @kenjis in #6214
  • refactor: loading app/Config/routes.php by @kenjis in #6293
  • fix: exceptionHandler may return invalid HTTP status code by @kenjis in #6228
  • feat: add Form helpers for Validation Errors by @kenjis in #6384
  • fix: ValidationInterface by @kenjis in #6253
  • fix: types in database classes by @kenjis in #6527
  • fix: ResponseInterface (1) by @kenjis in #6556
  • Improve BaseConnection::getForeignKeyData() and Forge::addForeignKey() by @sclubricants in #6468
  • Refactor BaseBuilder *Batch() Methods by @sclubricants in #6536
  • refactor: remove type="text/javascript" in <script> tag by @kenjis in #6606
  • fix: ResponseInterface (2) by @kenjis in #6569
  • Add ability to set index names by @sclubricants in #6552
  • fix: MessageInterface inheritance by @MGatner in #6695
  • fix: add missing getProtocolVersion() in MessageInterface by @kenjis in #6702
  • Add Forge::processIndexes() to create indexes on existing table by @sclubricants in #6676
  • fix: add missing ResultInterface::getNumRows() by @kenjis in #6778
  • feat: add OutgoingRequestInterface by @kenjis in #6698
  • fix: make Time immutable by @kenjis in #6771
  • feat: disallow Model::update() without WHERE clause by @kenjis in #6883
  • feat: do not throw exceptions during transactions by default by @kenjis in #6917
  • fix: don't change the variable type and filter all values in JSON request by @michalsn in #6954

Fixed Bugs

  • fix: SecurityException's HTTP status code by @kenjis in #6408
  • Fix UpsertTest::testUpsertWithMultipleSet by @sclubricants in #6692
  • fix: support for assigning extra data for the view() method in controlled cells by @michalsn in #6681
  • Fix testMode() with upsert() and getCompiledUpsert() by @sclubricants in #6697
  • Fix BaseBuilder setAlias() and RawSql use with key value pairs by @sclubricants in #6741
  • fix: BasePreparedQuery class to return boolean values for write-type queries by @michalsn in #6750
  • fix: Time::now() does not respect timezone when using setTestNow() by @kenjis in #6752
  • fix: remove CI_DEBUG check in Model by @kenjis in #6863
  • fix: BaseBuilder::getOperator() doesn't recognize LIKE operator in array expression by @kenjis in #6986
  • fix: Honeypot field appears when CSP is enabled by @kenjis in #7029

Enhancements

  • Feature: Adding StreamFilterTrait by @iRedds in #6112
  • feat: add routes useSupportedLocalesOnly property by @pjsde in #6073
  • Feat add events for insertBatch()/updateBatch() by @pjsde in #6125
  • feat: improve namespaces command by @kenjis in #6142
  • feat: add method to insert empty data in Model by @kenjis in #6109
  • feat: Autoloader::sanitizeFilename() throws Exception by @kenjis in #6193
  • Language: Make production error message translatable (replaces #6197) by @sba in #6235
  • feat: add methods to modify files in Publisher by @kenjis in #6133
  • SQLite3 Connection getIndexData() by @sclubricants in #6221
  • feat: spark filter:check command by @kenjis in #6283
  • feat: Encryption CI3 compatibility by @kenjis in #6277
  • feat: spark routes shows route name by @kenjis in #6271
  • error_404.php translation and design by @sba in #6288
  • feat: make CLI::input() testable by @kenjis in #6335
  • Feature for Timer to measure callable performance by @rumpfc in #6321
  • feat: add IntBoolCast for Entity by @kenjis in #6348
  • Add new method promptByMultipleKeys() in CLI class by @rivalarya in #6302
  • Allow calling help info using spark --help by @paulbalandan in #6383
  • feat: autoload helpers by @kenjis in #6397
  • Add RawSql to BaseConnection->escape() by @sclubricants in #6332
  • feat: add locale param to route_to() by @kenjis in #6448
  • Postgre & SQLSRV - Should Never Have A Field Length For TEXT by @sclubricants in #6405
  • [4.3] Fix tests. Changed StreamFilterTrait and CITestStreamFilter. by @iRedds in #6450
  • Create Forge::dropPrimaryKey() by @sclubricants in #6488
  • feat: add manual config for Composer package auto-discovery by @kenjis in #6503
  • Added view() method to route collections by @kenjis in #6568
  • When/WhenNot methods for db in a trait by @lonnieezell in #6574
  • Allow Cells to be auto-located within */Cells directories by @lonnieezell in #6601
  • Decamelize function by @lonnieezell in #6615
  • feat: Controlled Cells by @lonnieezell in #6620
  • Allow HTTP/3 to work and not be blocked. by @lonnieezell in #6595
  • feat: add method to disable controller filters by @kenjis in #6652
  • feat: implementation option http2 in CURLRequest by @ddevsr in #6679
  • Add BaseBuilder::upsert() and BaseBuilder::upsertBatch() by @sclubricants in #6600
  • Deallocate prepared statements by @fpoy in #6665
  • feat: Check logs against parts of the message only by @paulbalandan in #6704
  • feat: Opt-in logging of deprecations by @paulbalandan in #6705
  • feat: void element tags in helpers are selectable between > and /> by @ddevsr in #6789
  • feat: add $allowedHostnames for multiple domain support by @kenjis in #6785
  • new make:cell command by @lonnieezell in #6864
  • Add BaseBuilder::deleteBatch() by @sclubricants in #6734
  • Update Kint to 5.0.1 by @kenjis in #6893
  • Add is_windows() global function by @paulbalandan in #6884
  • fix: HTML output by @kenjis in #6899
  • feat: add SQLite3 Config busyTimeout by @kenjis in #6939
  • insertBatch updateBatch upsertBatch deleteBatch from query by @sclubricants in #6689
  • feat: add IncomingRequest::getRawInputVar() method by @michalsn in #6943
  • feat: add closure validation rule by @kenjis in #6951
  • refactor: add Config\Session by @kenjis in #6989
  • feat: add IncomingRequest::is() method by @kenjis in #6995
  • feat: spark routes option to sort by handler by @kenjis in #7015

Refactoring

  • Extracting the call handler for Spark commands from kernel. by @iRedds in #6110
  • chore: move Kint to require-dev by @kenjis in #6449
  • Improve BaseBuilder::updateBatch() SQL by @sclubricants in #6373
  • refactor: to fix psalm errors by @kenjis in #6535
  • Add template types to Connection by @paulbalandan in #6709
  • refactor: around URI by @kenjis in #6784
  • Add template types to Result by @paulbalandan in #6749
  • refactor: make now() testable by @kenjis in #6753
  • refactor: remove Workaround for Faker deprecation errors in PHP 8.2 by @kenjis in #6987
  • refactor: to fix psalm error by @kenjis in #6999

See CHANGELOG_4.2.md