1
0
mirror of https://github.com/EDCD/EDMarketConnector.git synced 2025-04-15 08:40:34 +03:00

Release 5.6.0: appversion and changelog

This commit is contained in:
Athanasius 2022-11-28 15:39:03 +00:00
parent 3f0aefd671
commit 1e5d09eff4
No known key found for this signature in database
GPG Key ID: 772697E181BB2767
2 changed files with 66 additions and 17 deletions

View File

@ -27,8 +27,17 @@ produce the Windows executables and installer.
--- ---
Pre-Release 5.6.0-beta1 Release 5.6.0
=== ===
Tha major reason for this release is to address the Live versus Legacy galaxy
split [coming in Update 14 of the game](https://www.elitedangerous.com/news/elite-dangerous-update-14-and-beyond-live-and-legacy-modes).
See the section "Update 14 and the Galaxy Split" below for how this might
impact you.
Changes
---
* We now test against, and package with, Python 3.10.8. * We now test against, and package with, Python 3.10.8.
* The code for sending data to EDDN has been reworked. This changes the * The code for sending data to EDDN has been reworked. This changes the
'replay log' from utilising an internal array, backed by a flat file 'replay log' from utilising an internal array, backed by a flat file
@ -52,7 +61,7 @@ Pre-Release 5.6.0-beta1
i.e. not a bad message, then this processing is abandoned to wait for i.e. not a bad message, then this processing is abandoned to wait for
the next invocation. the next invocation.
The 5-minute timer in point 2 differs from the old code, where almost any The 5-minute timer in point 3 differs from the old code, where almost any
new message sending attempt could initiate processing of the queue. At new message sending attempt could initiate processing of the queue. At
application startup this delay is only 10 seconds. application startup this delay is only 10 seconds.
@ -68,14 +77,14 @@ Pre-Release 5.6.0-beta1
The rework was necessary in order to enable this, in case of any queued The rework was necessary in order to enable this, in case of any queued
or delayed messages which did not contain this information in the legacy or delayed messages which did not contain this information in the legacy
`replay.jsonl` format. `replay.jsonl` format.
* For EDSM there is a very unlikely set of circumstances that could, in theory
**EDDN Listeners** - *If any message was already delayed such that it did not lead to some events not being sent. This is so as to safeguard against
have the EDDN header recorded, then the `gameversion` and `gamebuild` will sending a batch with a gameversion/build claimed that does not match for
be empty strings*. In order to indicate this the `softwareName` will have *all* of the events in that batch.
` (legacy replay)` appended to it, e.g. `E:D Market Connector Connector
[Windows] (legacy replay)`. In general this indicates that the message was It would take a combination of "communications with EDSM are slow", more
queued up using a version of EDMC prior to this one. If you're only events (the ones that would be lost), a game client crash, *and* starting
interested in Live galaxy data then you might want to ignore such messages. a new game client before the 'more events' are sent.
Update 14 and the Galaxy Split Update 14 and the Galaxy Split
--- ---
@ -83,10 +92,12 @@ Due to the galaxy split [announced by Frontier](https://www.elitedangerous.com/n
there are some changes to the major third-party websites and tools. there are some changes to the major third-party websites and tools.
* Inara [has chosen](https://inara.cz/elite/board-thread/7049/463292/#463292) * Inara [has chosen](https://inara.cz/elite/board-thread/7049/463292/#463292)
to only accept Live galaxy data on its API. As such EDMarketConnector will to only accept Live galaxy data on its API.
not even process Journal data for Inara after 2022-11-29T09:00:00+00:00
unless the `gameversion` indicates a Live client. This explicitly checks This application will not even process Journal data for Inara after
that the game's version is semantically equal to or greater than '4.0.0'. 2022-11-29T09:00:00+00:00 *unless the `gameversion` indicates a Live client*.
This explicitly checks that the game's version is semantically equal to or
greater than '4.0.0'.
If a Live client is *not* detected, then there is an INFO level logging If a Live client is *not* detected, then there is an INFO level logging
message "Inara only accepts Live galaxy data", which is also set as the main message "Inara only accepts Live galaxy data", which is also set as the main
@ -94,13 +105,51 @@ there are some changes to the major third-party websites and tools.
If you continue to play in the Legacy galaxy only then you probably want to If you continue to play in the Legacy galaxy only then you probably want to
just disable the Inara plugin with the checkbox on Settings > Inara. just disable the Inara plugin with the checkbox on Settings > Inara.
* All batches of events sent to EDSM will be tagged with a `gameversion`, in
a similar manner to the EDDN header.
* As this application now sends `gameversion` in all EDDN message headers you Ref: [EDSM api-journal-v1](https://www.edsm.net/en/api-journal-v1)
can expect other third-party sites to choose to filter data based on that. * All EDDN messages will now have appropriate `gameversion` and `gamebuild`
fields in the `header` as per
[EDDN/docs/Developers.md](https://github.com/EDCD/EDDN/blob/live/docs/Developers.md#gameversions-and-gamebuild).
As a result of this you can expect third-party sites to choose to filter data
based on that.
Look for announcements by individual sites/tools as to what they have chosen Look for announcements by individual sites/tools as to what they have chosen
to do. to do.
Known Bugs
---
In testing if it had been broken at all due to 5.5.0 -> 5.6.0 changes it has
come to light that `EDMC.EXE -n`, to send data to EDDN, was already broken in
5.5.0.
In addition, there is now some extra 'INFO' logging output which will be
produced by any invocation of `EDMC.EXE`. This might break third-party use of
it, e.g. [Trade Computer Extension Mk.II](https://forums.frontier.co.uk/threads/trade-computer-extension-mk-ii.223056/).
This will be fixed as soon as the dust settles from Update 14, with emphasis
being on ensuring the GUI `EDMarketConnector.exe` functions properly.
Notes for EDDN Listeners
---
* Where EDMC sourced data from the Journal files it will set `gameversion`
and `gamebuild` as per their values in `Fileheader` or `LoadGame`, whichever
was more recent (there are some events that occur between these).
* *If any message was already delayed such that it did not
have the EDDN header recorded, then the `gameversion` and `gamebuild` will
be empty strings*. In order to indicate this the `softwareName` will have
` (legacy replay)` appended to it, e.g. `E:D Market Connector Connector
[Windows] (legacy replay)`. In general this indicates that the message was
queued up using a version of EDMC prior to this one. If you're only
interested in Live galaxy data then you might want to ignore such messages.
* Where EDMC sourced data from a CAPI endpoint, the resulting EDDN message
will have a `gameversion` of `CAPI-<endpoint>` set, e.g. `CAPI-market`.
**At this time it is not 100% certain which galaxy this data will be for, so
all listeners are advised to ignore/queue such data until this is clarified**.
`gamebuild` will be an empty string for all CAPI-sourced data.
Plugin Developers Plugin Developers
--- ---
* There is a new flag in `state` passed to plugins, `IsDocked`. See PLUGINS.md * There is a new flag in `state` passed to plugins, `IsDocked`. See PLUGINS.md

View File

@ -52,7 +52,7 @@ appcmdname = 'EDMC'
# <https://semver.org/#semantic-versioning-specification-semver> # <https://semver.org/#semantic-versioning-specification-semver>
# Major.Minor.Patch(-prerelease)(+buildmetadata) # Major.Minor.Patch(-prerelease)(+buildmetadata)
# NB: Do *not* import this, use the functions appversion() and appversion_nobuild() # NB: Do *not* import this, use the functions appversion() and appversion_nobuild()
_static_appversion = '5.6.0-beta2' _static_appversion = '5.6.0'
_cached_version: Optional[semantic_version.Version] = None _cached_version: Optional[semantic_version.Version] = None
copyright = '© 2015-2019 Jonathan Harris, 2020-2022 EDCD' copyright = '© 2015-2019 Jonathan Harris, 2020-2022 EDCD'