Pre-Release 5.3.0-beta7
NB: Due to this issue with GitHub's Actions
we were unable to build this version on GitHub. THE INSTALLER FOR THIS
RELEASE WAS BUILT ON A DEVELOPER'S OWN MACHINE. THERE IS NO REASON TO BELIEVE
THAT THIS IN ANY WAY INCREASES THE RISK OF IT ACTUALLY CONTAINING MALWARE.
As has sadly become routine now, please read
our statement about malware false positives
affecting our installers and/or the files they contain. We are as confident
as we can be, without detailed auditing of python.org's releases and all of
the py2exe source and releases, that there is no malware in the files we make
available.
-
We now test and build using Python 3.10.2. We do not yet make use of any
features specific to Python 3.10 (or 3.9). Let us restate that we
absolutely reserve the right to commence doing so. -
"File" -> "Status" will now show the new Odyssey ranks, both the new
categories and the new 'prestige' ranks, e.g. 'Elite I'. Closes
#1369. -
Running
EDMarketConnector.exe --reset-ui
will now also reset any changes to
the application "UI Scale" or geometry (position and size). Closes
#1155. -
We now use UTC-based timestamps in the application's log files. Prior to
this change it was the "local time", but without any indication of the
applied timezone. Each line's timestamp hasUTC
as a suffix now. We
are assuming that your local clock is correct and the timezone is set
correctly, such that Python'stime.gmtime()
yields UTC times.This should make it easier to correlate application logfiles with in-game
time and/or third-party service timestamps. -
All communication with remote web servers and APIs now uses the same custom
"User-Agent" header to make attribution to this application clear. -
The process used to build the Windows installers should now always pick up
all the necessary files automatically. Prior to this we used a manual
process to update the installer configuration which was prone to both user
error and neglecting to update it as necessary. -
If the application fails to load valid data from the
NavRoute.json
file
when processing a JournalNavRoute
event, it will attempt to retry this
operation a number of times as it processes subsequent Journal events.This should hopefully work around a race condition where the game might
not have yet updatedNavRoute.json
at all, or has truncated it to empty,
when we first attempt this.We will also now NOT attempt to load
NavRoute.json
during the startup
'Journal catch-up' mode, which only sets internal state.Closes #1348.
-
Inara: Use the
<journal log>->Statistics->Bank_Account->Current_Wealth
value when sending asetCommanderCredits
message to Inara to set
commanderAssets
.This should cause Inara and EDMC to agree on the Commander's current total
assets credits figure, and thus prevent it bouncing between two values.Closes #1401.
-
Inara: Send a
setCommanderRankPilot
message when the player logs in to the
game on-foot. Previously you would HAVE to be in a ship at login time
for this to be sent.Thus, you can now relog on-foot in order to update Inara with any Rank up
or progress since the session started.Closes #1378.
-
Inara: We will now send the new idea of "credits in the Commander's wallet"
when the delta from the last sent value is either 5% or at least
10 million. It used to require a strict 5% difference, which meant needing
very large deltas if you had a large credit balance.The intention of the 5% is so that newer/poorer commanders still get
updates at an acceptable frequency, with the 10 million alternative trigger
allowing richer commanders to also experience more frequent updates than
was previously the case.Close #1255.
-
Inara: You should once more see updates for any materials used in
Engineering. The bug was in our more general Journal event processing
code pertaining toEngineerCraft
events, such that the state passed to
the Inara plugin hadn't been updated.Such updates should happen 'immediately', but take into account that there
can be a delay of up to 35 seconds for any data sent to Inara, due to how
we avoid breaking the "2 messages a minute" limit on the Inara API.Closes #1395.
-
EDDN: We now compress all outgoing messages. This might help get some
particularly largenavroute
messages go through.If any message is now rejected as 'too large' we will drop it, and thus
not retry it later. The application logs will reflect this.NB: The EDDN Gateway was updated to allow messages up to 1 MiB in size
anyway. The old limit was 100 KiB.Closes #1390.
-
EDDN: In an attempt to diagnose some errors observed on the EDDN Gateway
with respect to messages sent from this application some additional checks
and logging have been added.NB: After some thorough investigation it was concluded that these EDDN
errors were likely the result of long-delayed messages due to use of
the "Delay sending until docked" option.There should be no functional changes for users. But if you see any of
the following in this application's log files PLEASE OPEN
AN ISSUE ON GITHUB
with all the requested information, so that we can correct the relevant
code:No system name in entry, and system_name was not set either! entry: ...
BodyName was present but not a string! ...
post-processing entry contains entry ...
this.body_id was not set properly: ...
system is falsey, can't add StarSystem
this.coordinates is falsey, can't add StarPos
this.systemaddress is falsey, can't add SystemAddress
this.status_body_name was not set properly: ...
You might also see any of the following in the application status text
(bottom of the window):passed-in system_name is empty, can't add System
CodexEntry had empty string, PLEASE ALERT THE EDMC DEVELOPERS
system is falsey, can't add StarSystem
this.coordinates is falsey, can't add StarPos
this.systemaddress is falsey, can't add SystemAddress
Plugin Developers
-
We now have an
.editorconfig
file which will instruct your editor/IDE to
change some settings pertaining to things like indentation and line wrap,
assuming your editor/IDE supports the file.See Contributing.md->Text formatting.
-
As noted above, prior to this version we weren't properly monitoring
EngineerCraft
events. This caused thestate
passed to plugins to not
contain the correct 'materials' (Raw, Manufactured, Encoded) counts. -
config.py
has been refactored into a sub-directory, with the per-OS code
split into separate files. There shouldn't be any changes necessary to
how you utilise this, e.g. to determine the application version.All forms of any
import
statement that worked before should have
unchanged functionality. -
We now include FDevIDS as a
sub-repository, and use its files directly for keeping some game data up to
date. This should hopefully mean we include, e.g. new ships and modules
for loadout exports in a more timely manner.Developers of third-party plugins should never have been using these files
anyway, so this shouldn't break anything for them. -
We will now include in the Windows installer all of the files that
py2exe
places in the build directory. We still do not yet include all of the
Python 'stdlib', so open an issue on GitHub if something you need is
missing.