Repository navigation
What's Changed
Welcome to OGameX 0.15.0! This release includes several feature enhancements and fixes to existing features.
Additionally, this release bumps PHP dependencies and pins the PHP version in Docker containers to the latest version to address recent PHP vulnerabilities. We strongly recommend updating your OGameX servers to this release.
Important
PHP released fixes for two critical remote code execution bugs (CVE-2026-109618, CVE-2026-109619). Every OGameX install is affected, both the app containers and the bundled phpMyAdmin. Exploits are already public. We recommend updating to version 0.15.0 immediately, especially for any public facing servers.
🚀 New Features
- feat: delete inbox messages after 7 days and archive chat messages after 7 days by @Geda173 in #1423
- fix: Hide wreck field when Space Dock has not been built by @Geda173 in #1398
- feat: Add server-wide attack block by @Geda173 in #1427
- sort rector issues by @jackbayliss in #1444
- feat: add Traditional Chinese (zh-TW) translation support by @end8cl01g in #1409
- (fix): outlaw missile attack overlay by @Geda173 in #1463
- Replace laravel-mix with Vite by @Geda173 in #1470
- Fix phalanx range check to use donut system wrap-around by @tiweb442 in #1491
- Block expedition missions targeting debris fields (#1355) by @tiweb442 in #1497
- Fix sidebar wreck field icon using wrong planet Space Dock level by @tiweb442 in #1495
- Show energy requirement for level-0 resource buildings (#1320) by @tiweb442 in #1498
- Upgrade PHPStan analysis to level 8 by @Geda173 in #1515
- Fix PhalanxTest failing when moon is near system boundary by @Geda173 in #1473
- chore(docker): add .dockerignore to keep .git out of the build context by @piciolo in #1517
- Fix CS by @jackbayliss in #1529
- [Bug] ACS Defend destroyed fleet stays in host widget after hold expires #1321 by @piciolo in #1383
- Add French language support by @tiweb442 in #1501
- Show max fleet slots message in galaxy tooltips (#666) by @tiweb442 in #1511
- Fix building DM halve showing Halve again after first use (#1331) by @tiweb442 in #1496
- Fix 500 on fleet movement during moon destruction missions by @tiweb442 in #1492
- docs: fix README accuracy for Laravel 13 and Docker Compose by @tiweb442 in #1553
- Fix stale contributor docs (Vite + race-test commands) by @tiweb442 in #1576
- fix(1395): unbanning lifts the 48h minimum-vacation restriction by @piciolo in #1411
- Fix cannot send all resources at max cargo (#1131) by @tiweb442 in #1499
- feat: Introduce three-tier expedition reward system by @Geda173 in #1399
- Implement battle engine tactical retreat (#294) by @tiweb442 in #1551
- feat: Add Pest and Pao testing frameworks to the project by @nagi1 in #1583
- Fix login pages confirmed issues by @baigny in #1578
- Fix flaky ReaperDebrisCollectionTest: stale PlayerService cache and test pollution by @Geda173 in #1580
- test: add isolated account test base (DatabaseTransactions + factory user setup) by @nagi1 in #1585
- Introduce Agentic AI guidelines by @Geda173 in #1592
- refactor(i18n): move hardcoded English strings in Galaxy and blades to translation keys by @piciolo in #1573
- fix: use correct singular translation keys for missile types in destroy rockets modal by @baigny in #1594
- feat: soft-delete abandoned planets as Destroyed Planets (#146) by @tiweb442 in #1509
- test: isolate 5 self-contained feature tests + factory-based account setup by @nagi1 in #1593
- apply rector fixes by @jackbayliss in #1605
- test: isolate all feature tests and enable full parallel runs by @nagi1 in #1599
- pin action sha by @jackbayliss in #1606
- test: retire AccountTestCase, extract test traits, and run CI in parallel shards by @nagi1 in #1607
- fix: supply complete debris_field_harvest params in preview seed fixture by @baigny in #1595
- fix: correct Collection key type on seeded bot detection users by @Geda173 in #1626
- Resolve phpstan failures by @jackbayliss in #1643
- fix: pin PHP base image to 8.5.12 and pull phpMyAdmin image on upgrade by @Geda173 in #1676
- Fix PHPStan failures on main by @Geda173 in #1677
🧩 Dependencies Updates
- chore(deps): bump laravel/framework from 13.8.0 to 13.9.0 by @dependabot[bot] in #1431
- chore(deps): bump laravel/fortify from 1.37.0 to 1.37.2 by @dependabot[bot] in #1432
- chore(deps-dev): bump brianium/paratest from 7.22.3 to 7.22.4 by @dependabot[bot] in #1433
- chore(deps-dev): bump phpunit/phpunit from 13.1.8 to 13.1.10 by @dependabot[bot] in #1435
- chore(deps-dev): bump axios from 1.16.0 to 1.16.1 by @dependabot[bot] in #1434
- chore(deps-dev): bump laravel/sail from 1.58.0 to 1.59.0 by @dependabot[bot] in #1436
- chore(deps): bump qs and express by @dependabot[bot] in #1437
- chore(deps): bump laravel/reverb from 1.10.1 to 1.10.2 by @dependabot[bot] in #1440
- chore(deps-dev): bump phpunit/phpunit from 13.1.10 to 13.1.11 by @dependabot[bot] in #1439
- chore(deps-dev): bump laravel/sail from 1.59.0 to 1.60.0 by @dependabot[bot] in #1438
- chore(deps): bump laravel/framework from 13.9.0 to 13.11.2 by @dependabot[bot] in #1442
- chore(deps-dev): bump driftingly/rector-laravel from 2.3.0 to 2.4.0 by @dependabot[bot] in #1441
- chore(deps): bump symfony/polyfill-intl-idn from 1.37.0 to 1.38.1 by @dependabot[bot] in #1445
- chore(deps-dev): bump laravel/sail from 1.60.0 to 1.61.0 by @dependabot[bot] in #1447
- chore(deps-dev): bump phpunit/phpunit from 13.1.11 to 13.1.13 by @dependabot[bot] in #1449
- chore(deps): bump laravel/framework from 13.11.2 to 13.12.0 by @dependabot[bot] in #1448
- chore(deps): bump spatie/laravel-permission from 7.4.1 to 8.0.0 by @dependabot[bot] in #1450
- chore(deps-dev): bump launch-editor from 2.6.1 to 2.14.1 by @dependabot[bot] in #1452
- chore(deps-dev): bump axios from 1.16.1 to 1.17.0 by @dependabot[bot] in #1458
- chore(deps-dev): bump phpunit/phpunit from 13.1.13 to 13.2.0 by @dependabot[bot] in #1455
- chore(deps-dev): bump laravel/sail from 1.61.0 to 1.62.0 by @dependabot[bot] in #1454
- chore(deps-dev): bump brianium/paratest from 7.22.4 to 7.23.0 by @dependabot[bot] in #1453
- chore(deps-dev): bump laravel-echo from 2.0.2 to 2.3.7 by @dependabot[bot] in #1457
- chore(deps): bump laravel/framework from 13.14.0 to 13.15.0 by @dependabot[bot] in #1460
- chore(deps-dev): bump barryvdh/laravel-debugbar from 4.2.8 to 4.3.0 by @dependabot[bot] in #1461
- chore(deps-dev): bump axios from 1.17.0 to 1.18.0 by @dependabot[bot] in #1462
- chore(deps-dev): bump form-data from 4.0.5 to 4.0.6 by @dependabot[bot] in #1464
- chore(deps): bump guzzlehttp/psr7 from 2.11.0 to 2.12.1 by @dependabot[bot] in #1465
- chore(deps-dev): bump larastan/larastan from 3.9.3 to 3.10.0 by @dependabot[bot] in #1451
- chore(deps-dev): bump driftingly/rector-laravel from 2.4.0 to 2.5.0 by @dependabot[bot] in #1456
- chore(deps): bump guzzlehttp/guzzle from 7.11.1 to 7.12.1 by @dependabot[bot] in #1466
- chore(deps-dev): bump phpunit/phpunit from 13.2.0 to 13.2.1 by @dependabot[bot] in #1467
- chore(deps-dev): bump laravel/pint from 1.29.1 to 1.29.3 by @dependabot[bot] in #1468
- chore(deps): bump laravel/framework from 13.15.0 to 13.16.1 by @dependabot[bot] in #1469
- chore(deps-dev): bump vite from 6.4.3 to 8.1.0 by @dependabot[bot] in #1475
- chore(deps): bump spatie/laravel-permission from 8.0.0 to 8.1.0 by @dependabot[bot] in #1479
- chore(deps-dev): bump laravel-vite-plugin from 1.3.0 to 3.1.0 by @dependabot[bot] in #1476
- chore(deps-dev): bump axios from 1.18.0 to 1.18.1 by @dependabot[bot] in #1477
- chore(deps-dev): bump laravel/sail from 1.62.0 to 1.63.0 by @dependabot[bot] in #1474
- chore(deps-dev): bump barryvdh/laravel-debugbar from 4.3.0 to 4.4.0 by @dependabot[bot] in #1480
- chore(deps-dev): bump vite from 8.1.0 to 8.1.3 by @dependabot[bot] in #1481
- chore(deps): bump laravel/framework from 13.17.0 to 13.18.1 by @dependabot[bot] in #1482
- chore(deps-dev): bump phpunit/phpunit from 13.2.1 to 13.2.2 by @dependabot[bot] in #1483
- chore(deps): bump spatie/laravel-permission from 8.1.0 to 8.3.0 by @dependabot[bot] in #1484
- chore(deps): bump web-auth/webauthn-lib from 5.3.3 to 5.3.5 by @dependabot[bot] in #1485
- chore(deps-dev): bump phpunit/phpunit from 13.2.2 to 13.2.4 by @dependabot[bot] in #1486
- chore(deps-dev): bump laravel-echo from 2.3.7 to 2.4.0 by @dependabot[bot] in #1487
- chore(deps): bump laravel/framework from 13.18.1 to 13.19.0 by @dependabot[bot] in #1488
- chore(deps-dev): bump vite from 8.1.3 to 8.1.4 by @dependabot[bot] in #1489
- chore(deps): bump laravel/framework from 13.19.0 to 13.20.0 by @dependabot[bot] in #1506
- chore(deps-dev): bump laravel-vite-plugin from 3.1.0 to 3.1.3 by @dependabot[bot] in #1507
- chore(deps-dev): bump vite from 8.1.4 to 8.1.5 by @dependabot[bot] in #1505
- chore(deps-dev): bump nunomaduro/collision from 8.9.4 to 8.9.5 by @dependabot[bot] in #1504
- chore(deps): bump actions/checkout from 6 to 7 by @dependabot[bot] in #1522
- chore(deps): bump actions/cache from 5 to 6 by @dependabot[bot] in #1519
- chore(deps): bump nick-fields/retry from 3 to 4 by @dependabot[bot] in #1520
- chore(deps): bump actions/github-script from 7 to 9 by @dependabot[bot] in #1521
- chore(deps): bump laravel/framework from 13.20.0 to 13.22.0 by @dependabot[bot] in #1523
- chore(deps-dev): bump pusher-js from 8.5.0 to 8.6.0 by @dependabot[bot] in #1524
- chore(deps-dev): bump laravel/sail from 1.63.0 to 1.64.0 by @dependabot[bot] in #1525
- chore(deps): bump laravel/fortify from 1.37.2 to 1.37.3 by @dependabot[bot] in #1526
- chore(deps): bump laravel/reverb from 1.10.2 to 1.11.0 by @dependabot[bot] in #1527
- chore(deps-dev): bump phpunit/phpunit from 13.2.4 to 13.2.5 by @dependabot[bot] in #1528
- chore(deps): bump laravel/framework from 13.22.0 to 13.23.0 by @dependabot[bot] in #1530
- chore(deps-dev): bump laravel/pint from 1.29.3 to 1.30.0 by @dependabot[bot] in #1531
- chore(deps-dev): bump brianium/paratest from 7.23.0 to 7.23.1 by @dependabot[bot] in #1532
- chore(deps-dev): bump phpunit/phpunit from 13.2.5 to 13.2.6 by @dependabot[bot] in #1533
- chore(deps-dev): bump axios from 1.18.1 to 1.19.0 by @dependabot[bot] in #1535
- chore(deps-dev): bump vite from 8.1.5 to 8.2.0 by @dependabot[bot] in #1534
- chore(deps): bump league/commonmark from 2.8.3 to 2.9.0 by @dependabot[bot] in #1540
- chore(deps-dev): bump barryvdh/laravel-debugbar from 4.4.0 to 4.4.1 by @dependabot[bot] in #1544
- chore(deps-dev): bump vite from 8.2.0 to 8.2.1 by @dependabot[bot] in #1545
- chore(deps-dev): bump laravel/sail from 1.64.0 to 1.65.0 by @dependabot[bot] in #1546
- chore(deps-dev): bump laravel/pint from 1.30.0 to 1.30.4 by @dependabot[bot] in #1548
- chore(deps): bump laravel/framework from 13.23.0 to 13.24.0 by @dependabot[bot] in #1547
- chore(deps-dev): bump phpunit/phpunit from 13.2.6 to 13.3.0 by @dependabot[bot] in #1543
- chore(deps): bump laravel/fortify from 1.37.3 to 1.38.0 by @dependabot[bot] in #1563
- chore(deps-dev): bump laravel-vite-plugin from 3.1.3 to 3.2.0 by @dependabot[bot] in #1565
- chore(deps-dev): bump brianium/paratest from 7.23.1 to 7.24.0 by @dependabot[bot] in #1567
- chore(deps): bump laravel/framework from 13.24.0 to 13.25.0 by @dependabot[bot] in #1569
- chore(deps-dev): bump phpunit/phpunit from 13.3.0 to 13.3.1 by @dependabot[bot] in #1568
- chore(deps-dev): bump laravel/pint from 1.30.4 to 1.30.5 by @dependabot[bot] in #1570
- chore(deps-dev): bump laravel/sail from 1.65.0 to 1.66.0 by @dependabot[bot] in #1566
- chore(deps): bump laravel/reverb from 1.11.0 to 1.11.1 by @dependabot[bot] in #1564
- chore(deps): bump laravel/framework from 13.25.0 to 13.26.1 by @dependabot[bot] in #1586
- chore(deps-dev): bump laravel/sail from 1.66.0 to 1.67.0 by @dependabot[bot] in #1588
- chore(deps-dev): bump vite from 8.2.1 to 8.2.2 by @dependabot[bot] in #1591
- chore(deps-dev): bump mockery/mockery from 1.6.12 to 1.6.15 by @dependabot[bot] in #1590
- chore(deps): bump spatie/laravel-discord-alerts from 1.9.1 to 1.10.0 by @dependabot[bot] in #1589
- chore(deps-dev): bump barryvdh/laravel-debugbar from 4.4.1 to 4.4.2 by @dependabot[bot] in #1587
- chore(deps-dev): bump driftingly/rector-laravel from 2.5.0 to 2.6.1 by @dependabot[bot] in #1600
- chore(deps): bump laravel/framework from 13.26.1 to 13.29.0 by @dependabot[bot] in #1603
- chore(deps): bump laravel/fortify from 1.38.0 to 1.39.0 by @dependabot[bot] in #1601
- chore(deps-dev): bump axios from 1.19.0 to 1.20.0 by @dependabot[bot] in #1602
- chore(deps-dev): bump pestphp/pest from 5.1.1 to 5.1.3 by @dependabot[bot] in #1604
- chore(deps-dev): bump driftingly/rector-laravel from 2.6.1 to 2.6.2 by @dependabot[bot] in #1608
- chore(deps-dev): bump barryvdh/laravel-debugbar from 4.4.2 to 4.4.3 by @dependabot[bot] in #1610
- chore(deps): bump laravel/framework from 13.29.0 to 13.30.1 by @dependabot[bot] in #1611
- chore(deps-dev): bump larastan/larastan from 3.10.0 to 3.11.0 by @dependabot[bot] in #1609
- chore(deps-dev): bump larastan/larastan from 3.11.0 to 3.12.0 by @dependabot[bot] in #1616
- chore(deps-dev): bump laravel/pao from 1.1.4 to 1.1.5 by @dependabot[bot] in #1618
- chore(deps-dev): bump vite from 8.2.2 to 8.3.0 by @dependabot[bot] in #1620
- chore(deps-dev): bump pestphp/pest from 5.1.3 to 5.1.4 by @dependabot[bot] in #1619
- chore(deps-dev): bump laravel-echo from 2.4.0 to 2.5.0 by @dependabot[bot] in #1617
- chore(deps-dev): bump laravel/pint from 1.30.5 to 1.32.1 by @dependabot[bot] in #1622
- chore(deps): bump laravel/framework from 13.31.0 to 13.32.0 by @dependabot[bot] in #1621
- chore(deps-dev): bump pestphp/pest from 5.1.4 to 5.2.1 by @dependabot[bot] in #1627
- chore(deps-dev): bump larastan/larastan from 3.12.0 to 3.12.1 by @dependabot[bot] in #1628
- chore(deps-dev): bump larastan/larastan from 3.12.1 to 3.12.2 by @dependabot[bot] in #1631
- chore(deps-dev): bump laravel/sail from 1.67.0 to 1.68.0 by @dependabot[bot] in #1633
- chore(deps-dev): bump vite from 8.3.0 to 8.3.1 by @dependabot[bot] in #1635
- chore(deps-dev): bump brianium/paratest from 7.24.1 to 7.25.0 by @dependabot[bot] in #1636
- chore(deps): bump laravel/fortify from 1.39.0 to 1.40.0 by @dependabot[bot] in #1634
- chore(deps-dev): bump barryvdh/laravel-debugbar from 4.4.3 to 4.4.4 by @dependabot[bot] in #1638
- chore(deps): bump laravel/reverb from 1.11.1 to 1.12.0 by @dependabot[bot] in #1637
- chore(deps): bump laravel/framework from 13.33.0 to 13.34.0 by @dependabot[bot] in #1652
- chore(deps-dev): bump vite from 8.3.1 to 8.3.2 by @dependabot[bot] in #1654
- chore(deps-dev): bump pestphp/pest from 5.2.1 to 5.3.0 by @dependabot[bot] in #1653
- chore(deps-dev): bump pestphp/pest from 5.3.0 to 5.3.1 by @dependabot[bot] in #1662
- chore(deps): bump laravel/framework from 13.34.0 to 13.35.0 by @dependabot[bot] in #1665
- chore(deps): bump source-map-js from 1.2.1 to 1.2.2 by @dependabot[bot] in #1668
- chore(deps): bump shivammathur/setup-php from 2.37.2 to 2.40.0 by @dependabot[bot] in #1669
- chore(deps-dev): bump laravel-echo from 2.5.0 to 2.6.1 by @dependabot[bot] in #1663
- chore(deps): bump laravel/fortify from 1.40.0 to 1.41.0 by @dependabot[bot] in #1664
- chore(deps-dev): bump vite from 8.3.2 to 8.3.4 by @dependabot[bot] in #1666
- chore(deps-dev): bump laravel/sail from 1.68.0 to 1.69.0 by @dependabot[bot] in #1671
- chore(deps-dev): bump pestphp/pest from 5.3.1 to 5.3.2 by @dependabot[bot] in #1672
- chore(deps): bump laravel/framework from 13.35.0 to 13.37.0 by @dependabot[bot] in #1673
- chore(deps-dev): bump larastan/larastan from 3.12.2 to 3.13.0 by @dependabot[bot] in #1667
- chore(deps-dev): bump follow-redirects from 1.16.0 to 1.16.1 by @dependabot[bot] in #1675
New Contributors
- @end8cl01g made their first contribution in #1409
- @tiweb442 made their first contribution in #1491
- @nagi1 made their first contribution in #1583
- @baigny made their first contribution in #1578
Full Changelog: 0.14.0...0.15.0