Skip to content

Latest commit

 

History

History
96 lines (84 loc) · 9.38 KB

File metadata and controls

96 lines (84 loc) · 9.38 KB

Changelog

v4.7.0 (2026-02-01)

Full Changelog

Breaking Changes

  • feat: require double curly braces for placeholders in regex_match rule by @michalsn in codeigniter4#9597
  • feat(cache): add deleteMatching method definition in CacheInterface by @yassinedoghri in codeigniter4#9809
  • feat(cache): add native types to all CacheInterface methods by @yassinedoghri in codeigniter4#9811
  • feat(entity): deep change tracking for objects and arrays by @michalsn in codeigniter4#9779
  • feat(model): primary key validation by @michalsn in codeigniter4#9840
  • feat(entity): properly convert arrays of entities in toRawArray() by @michalsn in codeigniter4#9841
  • feat: add configurable status code filtering for PageCache filter by @michalsn in codeigniter4#9856
  • fix: inconsistent key handling in encryption by @michalsn in codeigniter4#9868
  • refactor: complete QueryInterface by @paulbalandan in codeigniter4#9892
  • feat: add remember() to CacheInterface by @datamweb in codeigniter4#9875
  • refactor: Use native return types instead of using #[ReturnTypeWillChange] by @paulbalandan in codeigniter4#9900

Fixed Bugs

New Features

Enhancements

  • feat: add email/smtp plain auth method by @ip-qi in codeigniter4#9462
  • feat: rewrite ImageMagickHandler to rely solely on the PHP imagick extension by @michalsn in codeigniter4#9526
  • feat: add Time::addCalendarMonths() and Time::subCalendarMonths() methods by @christianberkman in codeigniter4#9528
  • feat: add clearMetadata() method to provide privacy options when using imagick handler by @michalsn in codeigniter4#9538
  • feat: add dns_cache_timeout for option CURLRequest by @ddevsr in codeigniter4#9553
  • feat: added fresh_connect options to CURLRequest by @ddevsr in codeigniter4#9559
  • feat: update CookieInterface::EXPIRES_FORMAT to use date format per RFC 7231 by @paulbalandan in codeigniter4#9563
  • feat: share connection & DNS Cache to CURLRequest by @ddevsr in codeigniter4#9557
  • feat: add option to change default behaviour of JSONFormatter max depth by @ddevsr in codeigniter4#9585
  • feat: customizable .env directory path by @totoprayogo1916 in codeigniter4#9631
  • feat: migrations lock by @michalsn in codeigniter4#9660
  • feat: uniform rendering of stack trace from failed DB operations by @paulbalandan in codeigniter4#9677
  • feat: make insertBatch() and updateBatch() respect model rules by @michalsn in codeigniter4#9708
  • feat: add enum casting by @michalsn in codeigniter4#9752
  • feat(app): Added pagination response to API ResponseTrait by @lonnieezell in codeigniter4#9758
  • feat: update robots definition for UserAgent class by @michalsn in codeigniter4#9782
  • feat: added async & persistent options to Cache Redis by @ddevsr in codeigniter4#9792
  • feat: Add support for HTTP status in ResponseCache by @sk757a in codeigniter4#9855
  • feat: prevent Maximum call stack size exceeded on client-managed requests by @datamweb in codeigniter4#9852
  • feat: add isPast() and isFuture() time convenience methods by @datamweb in codeigniter4#9861
  • feat: allow overriding namespaced views via app/Views directory by @datamweb in codeigniter4#9860
  • feat: make DebugToolbar smarter about detecting binary/streamed responses by @datamweb in codeigniter4#9862
  • feat: complete Superglobals implementation by @michalsn in codeigniter4#9858
  • feat: encryption key rotation by @michalsn in codeigniter4#9870
  • feat: APCu caching driver by @sk757a in codeigniter4#9874
  • feat: added persistent config item to redis handler Session by @ddevsr in codeigniter4#9793
  • feat: Add CSP3 script-src-elem directive by @mark-unwin in codeigniter4#9722
  • feat: Add support for CSP3 keyword-sources by @paulbalandan in codeigniter4#9906
  • feat: enclose hash-based CSP directive values in single quotes by @paulbalandan in codeigniter4#9908
  • feat: add support for more CSP3 directives by @paulbalandan in codeigniter4#9909
  • feat: add support for CSP3 report-to directive by @paulbalandan in codeigniter4#9910

Refactoring

  • refactor: cleanup code in Email by @ddevsr in codeigniter4#9570
  • refactor: remove deprecated types in random_string() helper by @michalsn in codeigniter4#9592
  • refactor: do not use future-deprecated DATE_RFC7231 constant by @paulbalandan in codeigniter4#9657
  • refactor: remove curl_close has no effect since PHP 8.0 by @ddevsr in codeigniter4#9683
  • refactor: remove finfo_close has no effect since PHP 8.1 by @ddevsr in codeigniter4#9684
  • refactor: remove imagedestroy has no effect since PHP 8.0 by @ddevsr in codeigniter4#9688
  • refactor: deprecated PHP 8.5 constant FILTER_DEFAULT for filter_*() by @ddevsr in codeigniter4#9699
  • chore: bump minimum required PHP 8.2 by @ddevsr in codeigniter4#9701
  • refactor: add the SensitiveParameter attribute to methods dealing with sensitive info by @paulbalandan in codeigniter4#9710
  • fix: Remove check ext-json by @neznaika0 in codeigniter4#9713
  • refactor(app): Standardize subdomain detection logic by @lonnieezell in codeigniter4#9751
  • refactor: Types for BaseModel, Model and dependencies by @neznaika0 in codeigniter4#9830
  • chore: remove IncomingRequest deprecations by @michalsn in codeigniter4#9851
  • refactor: Session library by @neznaika0 in codeigniter4#9831
  • refactor: Superglobals - remove property promotion and fix PHPDocs by @paulbalandan in codeigniter4#9871
  • refactor: Rework Entity class by @neznaika0 in codeigniter4#9878
  • refactor: compare $db->connID to false by @paulbalandan in codeigniter4#9891
  • refactor: cleanup ContentSecurityPolicy by @paulbalandan in codeigniter4#9904
  • refactor: deprecate CodeIgniter\HTTP\ContentSecurityPolicy::$nonces since never used by @paulbalandan in codeigniter4#9905

For the changelog of v4.6, see CHANGELOG_4.6.md.
For the changelog of v4.5, see CHANGELOG_4.5.md.
For the changelog of v4.4, see CHANGELOG_4.4.md.
For the changelog of v4.3, see CHANGELOG_4.3.md.
For the changelog of v4.2, see CHANGELOG_4.2.md.
For the changelog of v4.1, see CHANGELOG_4.1.md.
For the changelog of v4.0, see CHANGELOG_4.0.md.