This release brings many bugfixes, internal improvements to the code base and some new, or re-enabled features. It also serves as a stop-gap between licenses used (GPL-2 to AGPL-3), and a final release which "supports" PHP 5.
Important notes
- This is the last version with GPL-2 license. Further modifications to the codebase will be licensed using AGPL-3.0 and newer license. See #147
- This is the last version with PHP 5 support. In the next release, PHP 5 support status will be changed from
deprecated
toremoved
(as in, not listed at all). PHP 5 is dead at this point (not supported at all), and the latest supported version, 7.2, is also not supported. At the moment of this release, the oldest supported PHP version is 7.4, and adding support for at least that version should be one of the biggest action items for the next release.
Breaking changes
- English is now the default translation (you can still configure your server to use "Polish" as the default lang)
- Translation related changes:
- Since there was a huge language files cleanup during the translation process, some translation variables have been either removed or renamed.
- Some of the translation files have been split into separate entities to better separate concerns:
worldElements.detailed.lang
rules.definitions.default.lang
jumpgate.lang
- Task translations no longer require to define reward strings - they are automatically generated based on the tasks' definitions (however, when needed, translation string generators can be used to better localise the values).
- Task translations no longer define the presented image - these are now defineable in
includes/vars_tasks.php
- Officers purchase definitions are now defined in
includes/vars_officers.php
- The separate config files (
config.localhost.php
,config.testserver.php
) and their corresponding constants are no longer supported
Migration (from v1.0.0
to v1.1.0
)
- Is running dependency update required:
YES
- Is running migration utility required:
YES
- Are there any major breaking changes requiring manual actions:
YES
- Migration
20200425_234106
notifies admins about required manual action (introduced by #115)
- Migration
Warning: remember - if you did customize your in-game configuration files (such as ships' parameters) or translations, you'll have to re-apply all your changes manually!
Changelog
- Game changes (affecting users):
- Added English translation
- Initial work on French translation
- English is now the default translation
- JS Chrono applet has been rewritten for better performance and flexibility
- JS Resources applet has been rewritten for better flexibility and accuracy
- JS Resources applet recalculates time to reach storages capacity and shows a "live" timer
- Resources updater now applies boosters (Geologist & Engineer) more accurately when the boosters are about to end
- Info pages now show storages capacity predictions for next levels
- Fixed a tech queue bug allowing to research technologies on high levels in no time and with incorrect (lower) prices
- Fixed a buildings queue bug allowing to gain more resources from production when upgrading mines & extractors, due to incorrectly applied building upgrade (it would happen before resources recalculation, therefore resources were recalculated with the upgrade applied)
- Fixed Pro Account status checks
- Fixed "Send missiles" function in the Galaxy view (display correct error message)
- Fixed Alliance's leader re-assignment bug related to ranks (the new leader would have invalid rank set)
- Fixed registration page to correctly display all defined Universes' info
- Fixed United attacks (ACS) joining (prevent joining turned back attacks)
- Fixed fleet's quick missions (eg. from Galaxy view) form auto-fill when a player had no Pro account
- Fixed morale droptime calculation when one of the players didn't have their morale points calculated yet
- Fixed session cookie handling in certain server config scenarios (would prevent users from logging in)
- Fixed a bug in Settings view preventing from saving data in certain cases
- Fixed Task completion notification box colors
- Improved Vacation mode handling panel
- Fixed a bug in Planets' selector causing the browser to incorrectly autocomplete the selection, making it inconsistent with the game's actual state
- Fixed a bug related to referral links incorrectly redirecting to invalid registration page URL
- Fixed a bug related to research queueing (see #74)
- Fixed pillage resources spread (see #92)
- Fixed morale bonus application when only the United attack leader has joined the attack (see #95)
- Fixed ships destruction counting in stats (see #97)
- Fixed morale updater in cases when the Defender has lost the battle (see #110)
- Fixed task completion in certain cases (see #114, #115)
- Fixed missing morale points fetching (see #119)
- Fixed moon destruction task (see #120)
- Expedition mission has been re-introduced (see #123)
- Fixed messages formatting in certain cases (see #129)
- Fixed threaded messages "unread / read" status updates (see #129)
- Improved Rapid fire shots efficiency (see #132)
- Fixed incorrect Admiral availability checks (see #143)
- Admin Panel changes:
- Fixed IP logs browser (only a single row would be displayed)
- Fixed messages browser (all subsequent messages would be marked as "inaccessible")
- Fixed "first time" registration session creation (users would not be automatically logged in after registration)
- Improved "cron scripts" security (empty passwords are no longer accepted)
- Internal changes (affecting developers):
- Added proper
README.md
file - Added PHP7+ support (7.0, 7.1, 7.2)
- Added code style & linting configurations (editorconfig, eslint stylelint, phpcs)
- Initial steps to move dependencies to dep managers (composer & npm)
- Added JS & CSS files build (minification) scripts
- JS files are no longer bundled into huge singular files
- Added migrator utility
- Grand unification of indentation across multiple files
- Terms of Service (a.k.a. Rules) can now be defined "outside" of the repo using a custom definition file (more instructions in the documentation)
- Updated dependencies (especially ReCaptcha)
- Resource / storage related formulas are now expressed as lambdas, not evaluated strings nor hardcoded algorithms
- Basic navigation primitives added
- Added proper
- Refactors:
- Installer
common.php
unlocalised.php
- Terms of Service
includes/functions/PlanetResourceUpdate.php
includes/functions/ShowTopNavigationBar.php
js/resourceUpdate.js
(nowtopnav.resources.js
&topnav.planet_selector.js
)
- Known bugs (caught, but still not fixed):
- In Moon destruction mission, it should be possible to re-create the Moon in the same attack. Currently, the code incorrectly prevents that (see #120)
Included Pull Requests
- #2
- #3
- #10
- #11
- #13
- #21
- #23
- #26
- #27
- #32
- #34
- #44
- #45
- #46
- #48
- #49
- #54
- #52
- #56
- #57
- #64
- #65
- #66
- #67
- #68
- #69
- #70
- #71
- #73
- #74
- #75
- #76
- #77
- #78
- #79
- #81
- #83
- #84
- #86
- #87
- #89
- #92
- #93
- #94
- #95
- #96
- #97
- #98
- #100
- #102
- #103
- #104
- #105
- #106
- #107
- #109
- #110
- #111
- #114
- #115
- #119
- #120
- #123
- #127
- #128
- #129
- #130
- #132
- #133
- #136
- #138
- #140
- #143
- #144