Skip to content

Release v4.2.2#50

Merged
sampoyigi merged 7 commits into
masterfrom
4.x
May 8, 2026
Merged

Release v4.2.2#50
sampoyigi merged 7 commits into
masterfrom
4.x

Conversation

@sampoyigi
Copy link
Copy Markdown
Member

'## ✨ New Features

Zero-decimal currency support

Currencies that do not use decimal places (e.g. JPY, KRW) are now formatted correctly without trailing zeros or decimal separators. Includes dedicated handling to normalize zero-decimal values at the formatting layer.


🐛 Bug Fixes

News widget array slice error on dashboard

Fixed an array slicing bug in the dashboard news widget that caused incorrect data rendering or crashes when the data array had unexpected bounds.

Deprecated: Case statements followed by a semicolon (;) are deprecated, use a colon (:) instead in phar:///usr/local/bin/composer/vendor/react/promise/src/functions.php on line 300


/ / ____ ___ ____ ____ ________ _____
/ / / __ / __ `
_ / __ / __ / / _ / /
/ /
/ /
/ / / / / / / /
/ / /
/ (__ ) / /
_
/_// // // ./_/_/___//
/
/
Composer version 2.7.7 2024-06-10 22:11:12

Usage:
command [options] [arguments]

Options:
-h, --help Display help for the given command. When no command is given display help for the list command
-q, --quiet Do not output any message
-V, --version Display this application version
--ansi|--no-ansi Force (or disable --no-ansi) ANSI output
-n, --no-interaction Do not ask any interactive question
--profile Display timing and memory usage information
--no-plugins Whether to disable plugins.
--no-scripts Skips the execution of all scripts defined in composer.json file.
-d, --working-dir=WORKING-DIR If specified, use the given directory as working directory.
--no-cache Prevent use of the cache
-v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug

Available commands:
about Shows a short information about Composer
archive Creates an archive of this composer package
audit Checks for security vulnerability advisories for installed packages
browse [home] Opens the package's repository URL or homepage in your browser
bump Increases the lower limit of your composer.json requirements to the currently installed versions
check-platform-reqs Check that platform requirements are satisfied
clear-cache [clearcache|cc] Clears composer's internal package cache
completion Dump the shell completion script
config Sets config options
create-project Creates new project from a package into given directory
depends [why] Shows which packages cause the given package to be installed
diagnose Diagnoses the system to identify common errors
dump-autoload [dumpautoload] Dumps the autoloader
exec Executes a vendored binary/script
fund Discover how to help fund the maintenance of your dependencies
global Allows running commands in the global composer dir ($COMPOSER_HOME)
help Display help for a command
init Creates a basic composer.json file in current directory
install [i] Installs the project dependencies from the composer.lock file if present, or falls back on the composer.json
licenses Shows information about licenses of dependencies
list List commands
outdated Shows a list of installed packages that have updates available, including their latest version
prohibits [why-not] Shows which packages prevent the given package from being installed
reinstall Uninstalls and reinstalls the given package names
remove [rm|uninstall] Removes a package from the require or require-dev
require [r] Adds required packages to your composer.json and installs them
run-script [run] Runs the scripts defined in composer.json
search Searches for packages
self-update [selfupdate] Updates composer.phar to the latest version
show [info] Shows information about packages
status Shows a list of locally modified packages
suggests Shows package suggestions
test Runs the test script as defined in composer.json
update [u|upgrade] Updates your dependencies to the latest version according to composer.json, and updates the composer.lock file
validate Validates a composer.json and composer.lock
test
test:coverage Runs the test:coverage script as defined in composer.json
test:lint Runs the test:lint script as defined in composer.json
test:lint-fix Runs the test:lint-fix script as defined in composer.json
test:pest Runs the test:pest script as defined in composer.json
test:pest-ci Runs the test:pest-ci script as defined in composer.json
test:refactor Runs the test:refactor script as defined in composer.json
test:refactor-fix Runs the test:refactor-fix script as defined in composer.json
test:static Runs the test:static script as defined in composer.json
test:static-fix Runs the test:static-fix script as defined in composer.json
test:type-coverage Runs the test:type-coverage script as defined in composer.json — Environment variables when spawning composer process
and are now explicitly set when spawning the composer process, preventing failures in environments where these variables are absent or misconfigured.

— Checkbox list submits empty value correctly

The checkbox list component in admin forms now correctly submits an empty value when no options are selected, rather than omitting the field entirely.

  • 53947e9 — fix(admin-form): ensure checkboxlist submits empty value

— Custom error message for missing

Added a descriptive error message when is missing, replacing a generic or silent failure with a clear, actionable system message.

  • a8432a1 — fix(system): add custom error message for missing '

sampoyigi and others added 7 commits February 3, 2026 11:06
…ess (#49)

* fix(composer): set HOME and COMPOSER_HOME when spawning composer process

Installing/removing extensions from the admin panel failed under PHP-FPM
with: "The HOME or COMPOSER_HOME environment variable must be set for
composer to run correctly". Web-server users (www-data, nginx, etc.)
often run with no HOME set, so Composer's Factory::getHomeDir() throws.

Merge HOME and COMPOSER_HOME into the env passed to Symfony Process,
pointing at the Manager's storagePath (already writable by the web
user). Caller-provided env keys still take precedence.

* fix(composer): only default HOME/COMPOSER_HOME when parent env lacks them

Previous patch unconditionally forced HOME and COMPOSER_HOME to
storagePath, overriding values inherited from the parent process under
CLI. That broke:
- git/ssh package fetching, which resolves ~/.ssh via HOME
- Composer auth.json, OAuth tokens, and package cache under COMPOSER_HOME

Now the defaults only apply when the key is missing from both the
caller-provided env and the current process environment, so the
web-SAPI case still works while CLI behaviour is preserved.

* feat: update validation and media handling logic; improve type checks

* fix: update namespace usage and improve code consistency across files

---------

Co-authored-by: Sam Poyigi <6567634+sampoyigi@users.noreply.github.com>
Co-authored-by: Sam Poyigi <6567634+sampoyigi@users.noreply.github.com>
* array_slice issue fixed for news widget on dashboard

* fix(dashboard): cast news count to integer for consistency and clarity

---------

Co-authored-by: YogeshwarHz <yogeshwar.barai@houzeo.com>
Co-authored-by: Sam Poyigi <6567634+sampoyigi@users.noreply.github.com>
@sampoyigi sampoyigi merged commit 17e9fda into master May 8, 2026
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants