Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/develop' into 4.6
Browse files Browse the repository at this point in the history
 Conflicts:
	user_guide_src/source/changelogs/index.rst
	user_guide_src/source/installation/upgrading.rst
  • Loading branch information
kenjis committed Jun 25, 2024
2 parents 4722157 + 62c48ac commit b102b3e
Show file tree
Hide file tree
Showing 9 changed files with 133 additions and 27 deletions.
35 changes: 20 additions & 15 deletions admin/RELEASE.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,22 @@
>
> -MGatner, kenjis
## Merge `develop` branch into next minor version branch `4.x`
## Notation

- `4.x.x`: The new release version. (e.g., `4.5.3`)
- `4.y`: The next minor version. (e.g., `4.6`)
- `4.z`: The next next minor version. (e.g., `4.7`)

## Merge `develop` branch into next minor version branch `4.y`

Before starting release process, if there are commits in `develop` branch that
are not merged into `4.x` branch, merge them. This is because if conflicts occur,
are not merged into `4.y` branch, merge them. This is because if conflicts occur,
merging will take time.

```console
git fetch upstream
git switch 4.x
git merge upstream/4.x
git switch 4.y
git merge upstream/4.y
git merge upstream/develop
git push upstream HEAD
```
Expand All @@ -24,11 +30,10 @@ git push upstream HEAD

If you release a new minor version.

* [ ] Create PR to merge `4.x` into `develop` and merge it
* [ ] Create PR to merge `4.y` into `develop` and merge it
* [ ] Rename the current minor version (e.g., `4.5`) in Setting > Branches >
"Branch protection rules" to the next minor version. E.g. `4.5``4.6`
* [ ] Delete the merged `4.x` branch (This closes all PRs to the branch)
* Do the regular release process. Go to the next "Changelog" section
* [ ] Delete the merged `4.y` branch (This closes all PRs to the branch)

## Changelog

Expand Down Expand Up @@ -90,8 +95,8 @@ Work off direct clones of the repos so the release branches persist for a time.
* [ ] Replace **CHANGELOG.md** with the new version generated above
* [ ] Update **user_guide_src/source/changelogs/v4.x.x.rst**
* Remove the section titles that have no items
* [ ] Update **user_guide_src/source/installation/upgrade_{ver}.rst**
* [ ] fill in the "All Changes" section, and add it to **upgrading.rst**
* [ ] Update **user_guide_src/source/installation/upgrade_4xx.rst**
* [ ] fill in the "All Changes" section, and add it to **upgrade_4xx.rst**
* git diff --name-status origin/master -- . ':!system' ':!tests' ':!user_guide_src'
* Note: `tests/` is not used for distribution repos. See `admin/starter/tests/`
* [ ] Remove the section titles that have no items
Expand Down Expand Up @@ -137,7 +142,7 @@ Work off direct clones of the repos so the release branches persist for a time.
## New Contributors
*
**Full Changelog**: https://github.com/codeigniter4/CodeIgniter4/compare/v4.x.x...v4.x.x
**Full Changelog**: https://github.com/codeigniter4/CodeIgniter4/compare/v4.x.w...v4.x.x
```
Click the "Generate release notes" button, and get the "New Contributors".
* [ ] Watch for the "Deploy Distributable Repos" action to make sure **framework**,
Expand All @@ -164,19 +169,19 @@ Work off direct clones of the repos so the release branches persist for a time.
git merge origin/master
git push origin HEAD
```
* [ ] Update the next minor version branch `4.x`:
* [ ] Update the next minor version branch `4.y`:
```console
git fetch origin
git checkout 4.x
git merge origin/4.x
git checkout 4.y
git merge origin/4.y
git merge origin/develop
git push origin HEAD
```
* [ ] [Minor version only] Create the new next minor version branch `4.x`:
* [ ] [Minor version only] Create the new next minor version branch `4.z`:
```console
git fetch origin
git switch develop
git switch -c 4.x
git switch -c 4.z
git push origin HEAD
```
* [ ] Request CVEs and Publish any Security Advisories that were resolved from private forks
Expand Down
2 changes: 1 addition & 1 deletion admin/starter/composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
"autoload": {
"psr-4": {
"App\\": "app/",
"Config\\": "app/Config"
"Config\\": "app/Config/"
},
"exclude-from-classmap": [
"**/Database/Migrations/**"
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 @@ -13,6 +13,7 @@ See all the changes.
:titlesonly:

v4.6.0
v4.5.4
v4.5.3
v4.5.2
v4.5.1
Expand Down
35 changes: 35 additions & 0 deletions user_guide_src/source/changelogs/v4.5.4.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
#############
Version 4.5.4
#############

Release Date: Unreleased

**4.5.4 release of CodeIgniter4**

.. contents::
:local:
:depth: 3

********
BREAKING
********

***************
Message Changes
***************

*******
Changes
*******

************
Deprecations
************

**********
Bugs Fixed
**********

See the repo's
`CHANGELOG.md <https://github.com/codeigniter4/CodeIgniter4/blob/develop/CHANGELOG.md>`_
for a complete list of bugs fixed.
20 changes: 13 additions & 7 deletions user_guide_src/source/incoming/filters.rst
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ Configuring Filters
There are two ways to configure filters when they get run. One is done in
**app/Config/Filters.php**, the other is done in **app/Config/Routes.php**.

If you want to specify filter to a specific route, use **app/Config/Routes.php**
If you want to specify filters to defined routes, use **app/Config/Routes.php**
and see :ref:`URI Routing <applying-filters>`.

.. Note:: The safest way to apply filters is to :ref:`disable auto-routing <use-defined-routes-only>`, and :ref:`set filters to routes <applying-filters>`.
Expand All @@ -95,9 +95,11 @@ configure exactly when the filters run.

.. Warning:: It is recommended that you should always add ``*`` at the end of a URI in the filter settings.
Because a controller method might be accessible by different URLs than you think.
For example, when :ref:`auto-routing-legacy` is enabled, if you have ``Blog::index``,
For example, when :ref:`auto-routing-legacy` is enabled, if you have ``Blog::index()``,
it can be accessible with ``blog``, ``blog/index``, and ``blog/index/1``, etc.

.. _filters-aliases:

$aliases
--------

Expand All @@ -106,7 +108,9 @@ filters to run:

.. literalinclude:: filters/003.php

Aliases are mandatory and if you try to use a full class name later, the system will throw an error. Defining them
Aliases are mandatory and if you try to use a full class name later, the system will throw an error.

Defining them
in this way makes it simple to switch out the class used. Great for when you decided you need to change to a
different authentication system since you only change the filter's class and you're done.

Expand Down Expand Up @@ -170,7 +174,7 @@ an array with the ``except`` key and a URI path (relative to BaseURL) to match a
and the URI paths specified in the filter could be different.
See :ref:`upgrade-447-filter-paths` for details.

Any place you can use a URI path (relative to BaseURL) in the filter settings, you can use a regular expression or, like in this example, use
Any place you can use a URI path (relative to BaseURL) in the filter settings, you can use a regular expression or, like in this example above, use
an asterisk (``*``) for a wildcard that will match all characters after that. In this example, any URI path starting with ``api/``
would be exempted from CSRF protection, but the site's forms would all be protected.

Expand All @@ -186,17 +190,19 @@ $methods
because :ref:`auto-routing-legacy` permits any HTTP method to access a controller.
Accessing the controller with a method you don't expect could bypass the filter.

You can apply filters to all requests of a certain HTTP method, like POST, GET, PUT, etc. In this array, you would
specify the method name in **lowercase**. It's value would be an array of filters to run:
You can apply filters to all requests of a certain HTTP method, like ``POST``, ``GET``, ``PUT``, etc.
It's value would be an array of filters to run:

.. literalinclude:: filters/008.php

.. note:: Unlike the ``$globals`` or the
``$filters`` properties, these will only run as before filters.

In addition to the standard HTTP methods, this also supports one special case: ``cli``. The ``cli`` method would apply to
In addition to the standard HTTP methods, this also supports one special case: ``CLI``. The ``CLI`` method would apply to
all requests that were run from the command line.

.. note:: Prior to v4.5.0, due to a bug, you needed to specify the HTTP method names in **lowercase**.

$filters
--------

Expand Down
9 changes: 5 additions & 4 deletions user_guide_src/source/incoming/routing.rst
Original file line number Diff line number Diff line change
Expand Up @@ -388,12 +388,13 @@ Applying Filters
================

You can alter the behavior of specific routes by supplying filters to run before or after the controller. This is especially handy during authentication or api logging.

The value for the filter can be a string or an array of strings:

* matching the aliases defined in **app/Config/Filters.php**.
* filter classnames

See :doc:`Controller Filters <filters>` for more information on setting up filters.
See :ref:`Controller Filters <filters-aliases>` for more information on defining aliases.

.. Warning:: If you set filters to routes in **app/Config/Routes.php**
(not in **app/Config/Filters.php**), it is recommended to disable Auto Routing (Legacy).
Expand All @@ -405,7 +406,7 @@ See :doc:`Controller Filters <filters>` for more information on setting up filte
Alias Filter
------------

You specify an alias defined in **app/Config/Filters.php** for the filter value:
You specify an alias :ref:`defined in app/Config/Filters.php <filters-aliases>` for the filter value:

.. literalinclude:: routing/034.php

Expand All @@ -418,7 +419,7 @@ Classname Filter

.. versionadded:: 4.1.5

You specify a filter classname for the filter value:
You can specify a filter classname for the filter value:

.. literalinclude:: routing/036.php

Expand All @@ -435,7 +436,7 @@ Multiple Filters
:ref:`Upgrading from 4.1.4 to 4.1.5 <upgrade-415-multiple-filters-for-a-route>`
for the details.

You specify an array for the filter value:
You can specify an array for the filter value:

.. literalinclude:: routing/037.php

Expand Down
2 changes: 2 additions & 0 deletions user_guide_src/source/installation/upgrade_420.rst
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,8 @@ The constants ``EVENT_PRIORITY_LOW``, ``EVENT_PRIORITY_NORMAL`` and ``EVENT_PRIO
composer.json
=============

.. note:: This procedure is not required in v4.5.0 or later.

If you use Composer, when you installed CodeIgniter v4.1.9 or before, and
if there are ``App\\`` and ``Config\\`` namespaces in your ``/composer.json``'s ``autoload.psr-4``
like the following, you need to remove these lines, and run ``composer dump-autoload``.
Expand Down
55 changes: 55 additions & 0 deletions user_guide_src/source/installation/upgrade_454.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
#############################
Upgrading from 4.5.3 to 4.5.4
#############################

Please refer to the upgrade instructions corresponding to your installation method.

- :ref:`Composer Installation App Starter Upgrading <app-starter-upgrading>`
- :ref:`Composer Installation Adding CodeIgniter4 to an Existing Project Upgrading <adding-codeigniter4-upgrading>`
- :ref:`Manual Installation Upgrading <installing-manual-upgrading>`

.. contents::
:local:
:depth: 2

**********************
Mandatory File Changes
**********************

****************
Breaking Changes
****************

*********************
Breaking Enhancements
*********************

*************
Project Files
*************

Some 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.

.. note:: 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>`_.

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:

Config
------

- @TODO

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 effect on the runtime:

- @TODO
1 change: 1 addition & 0 deletions user_guide_src/source/installation/upgrading.rst
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ See also :doc:`./backward_compatibility_notes`.
backward_compatibility_notes

upgrade_460
upgrade_454
upgrade_453
upgrade_452
upgrade_451
Expand Down

0 comments on commit b102b3e

Please sign in to comment.