Repository navigation
Pre-release 4.2.124 → 4.2.123 — task 4.5 (config): configuration loaded like v13's LoadConfiguration, with no environment cascade - #97
Merged
Conversation
agissept
force-pushed
the
pre-release/4.2.124
branch
from
October 2, 2026 09:20
a55cf4e to
4e9d6bb
Compare
agissept
added this pull request to stack #102
October 5, 2026 06:14
agissept
force-pushed
the
pre-release/4.2.124
branch
4 times, most recently
from
October 6, 2026 02:35
92897d2 to
d275eaf
Compare
…th no environment cascade (task 4.5)
The start script loads the application's configuration with v13's
LoadConfiguration bootstrapper instead of the fork's cascading FileLoader:
- Every *.php file under the configuration directory loads as a group, and
files in subdirectories load as dotted groups, as in v13. config/{env}/
files are no longer merged over the base files.
- The configuration directory is v13's config/ under the base path, bound as
path.config. Application gains v13's configPath() and useConfigPath().
- Application gains v13's afterBootstrapping(). The start script fires
"bootstrapped: LoadConfiguration" once the configuration is loaded, before
any service provider registers.
- The timezone is set from app.timezone by LoadConfiguration, as in v13.
- Config\FileLoader, Config\LoaderInterface and getConfigLoader() are removed.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0169SsatCE8LhaTsQTPiGtVo
agissept
force-pushed
the
pre-release/4.2.124
branch
from
October 6, 2026 02:39
d275eaf to
bc8f130
Compare
agissept
marked this pull request as ready for review
October 6, 2026 02:39
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Task 4.5, config — configuration loads like v13's
LoadConfiguration, with no environment cascadeStacks on #96. This is the first config slice. The fork loaded the app's configuration with the L4.2 cascade:
FileLoadermergedapp/config/{env}/*.phpover the base files. v13 has no cascade. The start script now loads configuration as v13'sLoadConfigurationdoes, and gives the app v13'safterBootstrapping()hook. The dicoding app pair uses that hook to merge its per-environment files itself.Changes
Illuminate\Foundation\Bootstrap\LoadConfigurationuses v13's name and loading rules:*.phpfile under the configuration directory loads as a group.config/a/b.phpbecomesa.b.app.timezone, and the internal encoding to UTF-8.config/{env}/is no longer merged over the base files.config/under the base path, bound aspath.config.Applicationgains v13'sconfigPath()anduseConfigPath().Application::afterBootstrapping($bootstrapper, $callback)is v13's hook. The start script firesbootstrapped: Illuminate\Foundation\Bootstrap\LoadConfigurationonce the configuration has loaded, before exception handling starts and before any service provider registers.Config\FileLoader,Config\LoaderInterface,Application::getConfigLoader()andConfigFileLoaderTest.FoundationApplicationBuilderTestfixture keeps its config inconfig/, as a v13 app does. The path test also checkspath.config,configPath()anduseConfigPath(). 4 new tests check that:testing/file is not merged;useConfigPath()changes where configuration loads from;afterBootstrapping(LoadConfiguration::class, ...)callback receives the application, and runs before the providers register.Verification
ConfigFileLoaderTestremoved. The ratchet is green, with every pattern at its baseline.useConfigPath()ignored;app/config;feature/platform/framework-4.2.124-rc1). It ran with vendor installed exactly from its lock:app/config/{local,testing}/tobootstrap/environments/and merges them withafterBootstrapping().config()->all()is identical to 4.2.123 in all 4 environments the app uses: production, local, testing and endtoend. The only difference is the order of the top-level groups.php -S+server.php→index.php, and 7 artisan commands) and the 13 in-process request scenarios are identical to 4.2.123.Tag
4.2.124(a55cf4e6) is not pushed, and neither are4.2.119–4.2.123. Tag pushes are refused for this session.🤖 Generated with Claude Code
https://claude.ai/code/session_0169SsatCE8LhaTsQTPiGtVo