Released: 2026-03-03. Diff.
Security
- Hardened
php/funchand/call_user_func_arraycallback resolution to avoideval/new Functionfallback paths for dynamic callback lookup. - Added a custom regression test to block code-injection payloads in array callback method names (
test/custom/call_user_func_array-eval-injection.vitest.ts).
Infrastructure
- Modernized browser playground/tests:
- Replaced legacy browserify/budo flow with Vitest browser mode + Playwright.
- Added
yarn browser:install,yarn browser:test, and a newyarn browser:watchflow. - CI now installs Chromium and runs browser smoke tests.
Expansion
- Added initial Tcl support with 10
stringcommands:tcl/string/firsttcl/string/lasttcl/string/lengthtcl/string/repeattcl/string/reversetcl/string/tolowertcl/string/touppertcl/string/trimtcl/string/trimlefttcl/string/trimright
- Added 10 Perl core functions:
perl/core/absperl/core/chompperl/core/chopperl/core/chrperl/core/hexperl/core/intperl/core/lcfirstperl/core/ordperl/core/quotemetaperl/core/ucfirst
- Added initial PowerShell support with 10
stringcommands:powershell/string/containspowershell/string/endswithpowershell/string/indexofpowershell/string/lastindexofpowershell/string/lengthpowershell/string/replacepowershell/string/startswithpowershell/string/tolowerpowershell/string/toupperpowershell/string/trim
- Added initial Rust support with 10
strmethods:rust/str/containsrust/str/ends_withrust/str/findrust/str/lenrust/str/replacerust/str/rfindrust/str/starts_withrust/str/to_lowercaserust/str/to_uppercaserust/str/trim
Full changelog: https://github.com/locutusjs/locutus/blob/main/CHANGELOG.md