Skip to content

Prep for 4.1.2 release #4700

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
May 18, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
272 changes: 270 additions & 2 deletions CHANGELOG.md

Large diffs are not rendered by default.

12 changes: 9 additions & 3 deletions admin/RELEASE.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,20 @@
# Release Process

> Documentation guide based on the releases of `4.0.5` and `4.1.0` on January 31, 2021
> Documentation guide based on the releases of `4.0.5` and `4.1.0` on January 31, 2021.
> Updated for `4.1.2` on May 17, 2021.
> -MGatner

## Preparation

* Work off direct clones of the repos so the release branches persist for a time
* Clone both **codeigniter4/CodeIgniter4** and **codeigniter4/userguide** and resolve any necessary PRs
* Generate a new **CHANGELOG.md** ahead of time using [GitHub Changelog Generator](https://github.com/github-changelog-generator/github-changelog-generator)
* The Action deploy scripts *do not remove hidden files* (e.g. if you delete **.gitattributes**)! Vet the **admin/** folders for issues ahead of time
* Vet the **admin/** folders for any removed hidden files (Action deploy scripts *do not remove these*)
* Generate a new **CHANGELOG.md** ahead of time using [GitHub Changelog Generator](https://github.com/github-changelog-generator/github-changelog-generator):
```
github_changelog_generator --user codeigniter4 --project codeigniter4 --since-tag v4.0.4 --future-release v4.0.5 --token {your_github_token}
...or
github_changelog_generator --user codeigniter4 --project codeigniter4 --since-commit "2021-02-01 13:26:28" --future-release v4.0.5 --token {your_github_token}
```

## CodeIgniter4

Expand Down
2 changes: 1 addition & 1 deletion system/CodeIgniter.php
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ class CodeIgniter
/**
* The current version of CodeIgniter Framework
*/
const CI_VERSION = '4.1.1';
const CI_VERSION = '4.1.2';

/**
* @var string
Expand Down
1 change: 1 addition & 0 deletions user_guide_src/source/changelogs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ See all the changes.
.. toctree::
:titlesonly:

v4.1.3
v4.1.2
v4.1.1
v4.1.0
Expand Down
5 changes: 3 additions & 2 deletions user_guide_src/source/changelogs/v4.1.2.rst
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Version 4.1.2
=============

Release Date: Not released
Release Date: May 16, 2021

**4.1.2 release of CodeIgniter4**

Expand Down Expand Up @@ -52,8 +52,9 @@ Deprecations:
- Deprecated ``Time::instance()``, use ``Time::createFromInstance()`` instead (now accepts ``DateTimeInterface``).
- Deprecated ``IncomingRequest::removeRelativeDirectory()``, use ``URI::removeDotSegments()`` instead
- Deprecated ``\API\ResponseTrait::failValidationError`` to use ``\API\ResponseTrait::failValidationErrors`` instead
- Deprecated ``BaseModel::idValue()`` in favor of public ``BaseModel::getIdValue()``. ``BaseModel::getIdValue()`` will be defined as abstract in future any custom Model classes should be updated.

Bugs Fixed:

*See the repo's **CHANGELOG.MD** for a complete list of bugs fixed.*

- ``BaseConnection::query()`` now returns ``false`` for failed queries (unless ``DBDebug==true``, in which case an exception will be thrown) and returns boolean values for write-type queries as specified in the docs.
6 changes: 6 additions & 0 deletions user_guide_src/source/changelogs/v4.1.3.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
Version 4.1.3
=============

Release Date: Not released

**4.1.3 release of CodeIgniter4**
2 changes: 1 addition & 1 deletion user_guide_src/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
version = '4.1'

# The full version, including alpha/beta/rc tags.
release = '4.1.1'
release = '4.1.2'

# -- General configuration ---------------------------------------------------

Expand Down
82 changes: 82 additions & 0 deletions user_guide_src/source/installation/upgrade_405.rst
Original file line number Diff line number Diff line change
Expand Up @@ -62,3 +62,85 @@ which you may use, and ``DownloadResponse`` now extends ``Response`` directly to

Service discovery has been updated to allow third-party services (when enabled via Modules) to take precedence over core services. Update
**app/Config/Services.php** so the class extends ``CodeIgniter\Config\BaseService`` to allow proper discovery of third-party services.

Project Files
=============

Numerous files in the project space (root, app, public, writable) received updates. Due to
these files being outside of the system scope they will not be changed without your intervention.
There are some third-party CodeIgniter modules available to assist with merging changes to
the project space: `Explore on Packagist <https://packagist.org/explore/?query=codeigniter4%20updates>`_.

.. note:: Except in very rare cases for bug fixes, no changes made to files for the project space
will break your application. All changes noted here are optional until the next major version,
and any mandatory changes will be covered in the sections above.

Content Changes
---------------

The following files received significant changes (including deprecations or visual adjustments)
and it is recommended that you merge the updated versions with your application:

* ``app/Views/*``
* ``public/index.php``
* ``public/.htaccess``
* ``spark``
* ``phpunit.xml.dist``
* ``composer.json``

All Changes
-----------

This is a list of all files in the project space that received changes;
many will be simple comments or formatting that have no affect on the runtime:

* ``LICENSE``
* ``README.md``
* ``app/Config/App.php``
* ``app/Config/Autoload.php``
* ``app/Config/Boot/development.php``
* ``app/Config/Boot/production.php``
* ``app/Config/Boot/testing.php``
* ``app/Config/Cache.php``
* ``app/Config/Constants.php``
* ``app/Config/ContentSecurityPolicy.php``
* ``app/Config/Database.php``
* ``app/Config/DocTypes.php``
* ``app/Config/Email.php``
* ``app/Config/Encryption.php``
* ``app/Config/Events.php``
* ``app/Config/Exceptions.php``
* ``app/Config/Filters.php``
* ``app/Config/ForeignCharacters.php``
* ``app/Config/Format.php``
* ``app/Config/Generators.php``
* ``app/Config/Honeypot.php``
* ``app/Config/Images.php``
* ``app/Config/Kint.php``
* ``app/Config/Logger.php``
* ``app/Config/Migrations.php``
* ``app/Config/Mimes.php``
* ``app/Config/Modules.php``
* ``app/Config/Pager.php``
* ``app/Config/Paths.php``
* ``app/Config/Routes.php``
* ``app/Config/Security.php``
* ``app/Config/Services.php``
* ``app/Config/Toolbar.php``
* ``app/Config/UserAgents.php``
* ``app/Config/Validation.php``
* ``app/Config/View.php``
* ``app/Controllers/BaseController.php``
* ``app/Controllers/Home.php``
* ``app/Views/errors/cli/error_404.php``
* ``app/Views/errors/cli/error_exception.php``
* ``app/Views/errors/html/debug.css``
* ``app/Views/errors/html/debug.js``
* ``app/Views/errors/html/error_exception.php``
* ``composer.json``
* ``env``
* ``license.txt``
* ``phpunit.xml.dist``
* ``public/.htaccess``
* ``public/index.php``
* ``spark``
82 changes: 82 additions & 0 deletions user_guide_src/source/installation/upgrade_412.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,29 @@
Upgrading from 4.1.1 to 4.1.2
#############################

**current_url() and indexPage**

Due to `a bug <https://github.com/codeigniter4/CodeIgniter4/issues/4116>`_ in ``current_url()``,
the resulting URIs could be incorrect for a project's configuration, most importantly: ``indexPage``
would *not* be included. Projects using ``App::$indexPage`` should expect altered values from
``current_url()`` and all its dependencies (including Response Testing, Pager, Form Helper, Pager,
and View Parser). Update your projects accordingly.

**Cache Keys**

Cache handlers had wildly different compatibility for keys. The updated cache drivers now pass
all keys through validation, roughly matching PSR-6's recommendations:

A string of at least one character that uniquely identifies a cached item. Implementing libraries
MUST support keys consisting of the characters A-Z, a-z, 0-9, _, and . in any order in UTF-8 encoding
and a length of up to 64 characters. Implementing libraries MAY support additional characters and
encodings or longer lengths, but must support at least that minimum. Libraries are responsible for
their own escaping of key strings as appropriate, but MUST be able to return the original unmodified
key string. The following characters are reserved for future extensions and MUST NOT be supported by
implementing libraries: ``{}()/\@:``

Update your projects to remove any invalid cache keys.

**BaseConnection::query() return values**

``BaseConnection::query()`` method in prior versions was incorrectly returning BaseResult objects
Expand Down Expand Up @@ -58,3 +81,62 @@ changes to be aware of:

* ``TestResponse``'s ``$request`` and ``$response`` properties are protected and should only be access through their getter methods, ``request()`` and ``response()``
* ``TestResponse`` does not have ``getBody()`` and ``setBody()`` methods, but rather uses the Response methods directly, e.g.: ``$body = $result->response()->getBody();``

Project Files
=============

Numerous files in the project space (root, app, public, writable) received updates. Due to
these files being outside of the system scope they will not be changed without your intervention.
There are some third-party CodeIgniter modules available to assist with merging changes to
the project space: `Explore on Packagist <https://packagist.org/explore/?query=codeigniter4%20updates>`_.

.. note:: Except in very rare cases for bug fixes, no changes made to files for the project space
will break your application. All changes noted here are optional until the next major version,
and any mandatory changes will be covered in the sections above.

Content Changes
---------------

The following files received significant changes (including deprecations or visual adjustments)
and it is recommended that you merge the updated versions with your application:

* ``app/Config/App.php``
* ``app/Config/Autoload.php``
* ``app/Config/Cookie.php``
* ``app/Config/Events.php``
* ``app/Config/Exceptions.php``
* ``app/Config/Security.php``
* ``app/Views/errors/html/*``
* ``env``
* ``spark``

All Changes
-----------

This is a list of all files in the project space that received changes;
many will be simple comments or formatting that have no affect on the runtime:

* ``app/Config/App.php``
* ``app/Config/Autoload.php``
* ``app/Config/ContentSecurityPolicy.php``
* ``app/Config/Cookie.php``
* ``app/Config/Events.php``
* ``app/Config/Exceptions.php``
* ``app/Config/Logger.php``
* ``app/Config/Mimes.php``
* ``app/Config/Modules.php``
* ``app/Config/Security.php``
* ``app/Controllers/BaseController.php``
* ``app/Views/errors/html/debug.css``
* ``app/Views/errors/html/error_404.php``
* ``app/Views/errors/html/error_exception.php``
* ``app/Views/welcome_message.php``
* ``composer.json``
* ``contributing/guidelines.rst``
* ``env``
* ``phpstan.neon.dist``
* ``phpunit.xml.dist``
* ``public/.htaccess``
* ``public/index.php``
* ``rector.php``
* ``spark``