Security fixes: - Fix XSS in JSON-LD output via JSON_HEX_TAG (Seo module) - Fix SQL injection via LIKE wildcards (Config module) - Fix regex injection in env updates (Console module) - Fix weak token hashing with HMAC-SHA256 (CDN module) - Mask database credentials in install output (Console module) New features: - Add MakeModCommand, MakePlugCommand, MakeWebsiteCommand scaffolds - Add event prioritization via array syntax in $listens - Add EventAuditLog for tracking handler execution and failures - Add ServiceVersion with semver and deprecation support - Add HealthCheckable interface with HealthCheckResult - Add ServiceStatus enum for service health states - Add DynamicMenuProvider for uncached menu items - Add LangServiceProvider with auto-discovery and fallback chains Improvements: - Add retry logic with exponential backoff (CDN uploads) - Add file size validation before uploads (100MB default) - Add key rotation mechanism for LthnHash - Add Unicode NFC normalization to Sanitiser - Add configurable filter rules per field (Input) - Add menu caching with configurable TTL (Admin) - Add Redis fallback alerting via events (Storage) - Add Predis support alongside phpredis (Storage) - Add memory safety checks for image processing (Media) - Add SchemaValidator for schema.org validation (SEO) - Add translation key validation in dev environments Bug fixes: - Fix nested array filtering returning null (Sanitiser) - Fix race condition in EmailShieldStat increment - Fix stack overflow on deep JSON nesting (ConfigResolver) - Fix missing table existence check (BlocklistService) - Fix missing class_exists guards (Search, Media) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
115 lines
3.3 KiB
JSON
115 lines
3.3 KiB
JSON
{
|
|
"name": "host-uk/core-app",
|
|
"type": "project",
|
|
"description": "Core PHP Framework - Demo Application",
|
|
"keywords": ["laravel", "modular", "monolith", "framework"],
|
|
"license": "EUPL-1.2",
|
|
"require": {
|
|
"php": "^8.2",
|
|
"host-uk/core": "@dev",
|
|
"host-uk/core-admin": "@dev",
|
|
"host-uk/core-api": "@dev",
|
|
"host-uk/core-mcp": "@dev",
|
|
"laravel/framework": "^12.0",
|
|
"laravel/pennant": "^1.18",
|
|
"laravel/tinker": "^2.10.1",
|
|
"livewire/flux": "^2.0",
|
|
"livewire/flux-pro": "^2.10",
|
|
"livewire/livewire": "^3.0"
|
|
},
|
|
"require-dev": {
|
|
"fakerphp/faker": "^1.23",
|
|
"laravel/pail": "^1.2.2",
|
|
"laravel/pint": "^1.18",
|
|
"laravel/sail": "^1.41",
|
|
"mockery/mockery": "^1.6",
|
|
"nunomaduro/collision": "^8.6",
|
|
"orchestra/testbench": "*",
|
|
"phpunit/phpunit": "^11.5.3"
|
|
},
|
|
"autoload": {
|
|
"psr-4": {
|
|
"App\\": "app/",
|
|
"Website\\": "app/Website/",
|
|
"Database\\Factories\\": "database/factories/",
|
|
"Database\\Seeders\\": "database/seeders/"
|
|
}
|
|
},
|
|
"autoload-dev": {
|
|
"psr-4": {
|
|
"Tests\\": "tests/",
|
|
"Core\\Tests\\": "packages/core-php/tests/",
|
|
"Mod\\": "packages/core-php/tests/Fixtures/Mod/",
|
|
"Plug\\": "packages/core-php/tests/Fixtures/Plug/",
|
|
"Website\\": "packages/core-php/tests/Fixtures/Website/"
|
|
}
|
|
},
|
|
"repositories": [
|
|
{
|
|
"name": "flux-pro",
|
|
"type": "composer",
|
|
"url": "https://composer.fluxui.dev"
|
|
},
|
|
{
|
|
"type": "path",
|
|
"url": "packages/core-php",
|
|
"options": {
|
|
"symlink": true
|
|
}
|
|
},
|
|
{
|
|
"type": "path",
|
|
"url": "packages/core-admin",
|
|
"options": {
|
|
"symlink": true
|
|
}
|
|
},
|
|
{
|
|
"type": "path",
|
|
"url": "packages/core-api",
|
|
"options": {
|
|
"symlink": true
|
|
}
|
|
},
|
|
{
|
|
"type": "path",
|
|
"url": "packages/core-mcp",
|
|
"options": {
|
|
"symlink": true
|
|
}
|
|
}
|
|
],
|
|
"scripts": {
|
|
"post-autoload-dump": [
|
|
"Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
|
|
"@php artisan package:discover --ansi"
|
|
],
|
|
"post-update-cmd": [
|
|
"@php artisan vendor:publish --tag=laravel-assets --ansi --force"
|
|
],
|
|
"post-root-package-install": [
|
|
"@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
|
|
],
|
|
"post-create-project-cmd": [
|
|
"@php artisan key:generate --ansi",
|
|
"@php -r \"file_exists('database/database.sqlite') || touch('database/database.sqlite');\"",
|
|
"@php artisan migrate --graceful --ansi"
|
|
],
|
|
"test": "vendor/bin/phpunit"
|
|
},
|
|
"extra": {
|
|
"laravel": {
|
|
"dont-discover": []
|
|
}
|
|
},
|
|
"config": {
|
|
"optimize-autoloader": true,
|
|
"preferred-install": "dist",
|
|
"sort-packages": true,
|
|
"allow-plugins": {
|
|
"php-http/discovery": true
|
|
}
|
|
},
|
|
"minimum-stability": "stable",
|
|
"prefer-stable": true
|
|
}
|