Skip to content

Instantly share code, notes, and snippets.

@Athanasius
Created July 26, 2023 21:35
Show Gist options
  • Save Athanasius/9d50ac46b9fd200ed8862e1b4053c89c to your computer and use it in GitHub Desktop.
Save Athanasius/9d50ac46b9fd200ed8862e1b4053c89c to your computer and use it in GitHub Desktop.
EDMC Reddit release post
# What Is Elite Dangerous Market Connector?
Elite Dangerous Market Connector ("EDMC") is a third-party application for use with Frontier Developments' game "Elite Dangerous". Its purpose is to facilitate supplying certain game data to, and in some cases retrieving it from, a number of websites and other tools.
To achieve this it utilises the Journal Files written by the game when played on a PC. It also makes use of Frontier's Companion API ("Frontier's CAPI"), accessible once you've authorised this application.
EDMC has a plugin system which many other developers have made use of to extend its functionality.
Find out more on the [EDMC Wiki](https://github.com/EDCD/EDMarketConnector/wiki).
NB: This application is of no use with a Console game account. We now test against, and package with Python 3.11.x. As a consequence of this we no longer support Windows 7, due to [Python 3.10.x itself not supporting Windows 7](https://www.python.org/downloads/windows/). Also, Windows 8.1 reaches End-Of-Life on 2023-01-10, so we will no longer support that OS as of that date.
**As has become routine now, various anti-virus software are reporting a false positive on our installer and/or files it contains. I've pre-emptively uploaded the installer to** [VirusTotal](https://www.virustotal.com/gui/file/c97e8222e5eb27b20c336663bd6626026eee9a9898b7a4cfec241b532ffc0c41?nocache=1) **if you want to check what it's saying. Please see our** [Troubleshooting/AV-false-positives FAQ](https://github.com/EDCD/EDMarketConnector/wiki/Troubleshooting#installer-and-or-executables-flagged-as-malicious-viruses) **for further information.**
## NB: THERE WAS A SLIGHT BUILD ERROR IN 5.8.0-rc3 WHICH MEANS ITS UPDATE CHECKS ARE NON-FUNCTIONAL.  IF YOU INSTALLED THAT VERSION THEN PLEASE MANUALLY DOWNLOAD AND INSTALL THIS ONE TO ENSURE YOU HAVE WORKING UPDATE CHECKS.
# [Release 5.8.0](https://github.com/EDCD/EDMarketConnector/releases/tag/Release%2F5.8.0)
This release is essentially the same as 5.8.0-rc3 with only the version and this changelog updated.
It brings a new feature related to Fleetcarrier data, some convenience for Linux users, some fixes, and otherwise some internal changes that should not adversely affect either users or third-party plugins. For the latter, read below for some new/changed things that could benefit you.
* This release, and all future ones, now create two additional archive files in the GitHub release:
1. `EDMarketConnector-release-<version>.zip`
2. `EDMarketConnector-release-<version>.tar.gz`
* **New Feature** \- You can now have the application query the `/fleetcarrier` CAPI endpoint for data about your Fleet Carrier. The data will then be passed to interested plugins.
* The code for choosing the 'Output' folder is now simply the `tkinter` function for such a dialogue, rather than a special case on Windows. In the past the former had issues with Unicode characters, but in testing no such issue was observed (on a supported OS).
* There are two new items on the "Help" menu:
1. Troubleshooting -> [Wiki:Troubleshooting](https://github.com/EDCD/EDMarketConnector/wiki/Troubleshooting)
2. Report A Bug -> [Issues - New Bug Report](https://github.com/EDCD/EDMarketConnector/issues/new?assignees=&labels=bug%2C+unconfirmed&template=bug_report.md&title=)
* Translations have been updated. Thanks again to our volunteer translators!
* If we ever activate any functionality killswitches, the popup denoting which are active has been made more readable.
* There's a new section in `Contributing.md` \- "Python Environment". This should aid any new developers in getting things set up.
## Linux Users
We now ship an `io.edcd.EDMarketConnector.desktop` file. To make use of this you should run `scripts/linux-setup.sh` *once*. This will:
1. Check that you have `$HOME/bin` in your PATH. If not, it will abort.
2. Create a shell script `edmarketconnector` in `$HOME/bin` to launch the application.
3. Copy the .desktop and .icon files into appropriate locations. The .desktop file utilises the shell script created in step 2, and thus relies on it existing *and* on it being in a directory that is in your PATH.
Once this has been completed any XDG-compliant desktops should have an entry for "E:D Market Connector" in their "Games" menu.
## Fixes
* The tracking of a Cmdr's location that was being performed by the core EDDN plugin has been moved into the Journal monitoring code. This results in the tracking being correct upon application (re)start, reflecting the state from the latest Journal file, rather than only picking up with any subsequent new Journal events.
* The name of the files written by "File" > "Save Raw Data" now have a `.` between the system and station names.
* Use of CAPI data in `EDMC.exe` when invoked with either `-s` or `-n` arguments hadn't been updated for prior changes, causing such invocations to fail. This has been fixed.
## Plugin Developers
* Each plugin is now handed its own sub-frame as the `parent` parameter passed to `plugin_app()` *instead of the actual main UI frame*. These new Frames are placed in the position that plugin UI would have gone into. This should have no side effects on well-behaved plugins.
* **New** \- `capi_fleetcarrier()` function to receive the data from a CAPI `/fleetcarrier` query. See PLUGINS.md for details.
* It was found that the `ShutDown` event (note the capitalisation, this is distinct from the actual Journal `Shutdown` event) synthesized for plugins when it is detected that the game has exited was never actually being delivered. Instead this was erroneously replaced with a synthesized `StartUp` event. This has been fixed.
* As the location tracking has been moved out of the core EDDN plugin, and into monitor.py all of it is now available as members of the `state` dictionary which is passed to `journal_entry()`.
* There is an additional property `request_cmdr` on `CAPIData` objects, which records the name of the Cmdr the request was made for.
* `FDevIDs` files are their latest versions at time of this version's build.
* `examples\plugintest` \- dropped the "pre-5.0.0 config" code, as it's long since irrelevant.
## Developers
* If you utilise a git clone of the source code, you should also ensure the sub-modules are initialised and synchronised. [wiki:Running from source](https://github.com/EDCD/EDMarketConnector/wiki/Running-from-source#obtain-a-copy-of-the-application-source) has been updated to include the necessary commands.
* The `coriolis-data` git sub-module now uses an HTTPS, not "git" URL, so won't require authentication for a simple `git pull`.
* If you have a `dump` directory in CWD when running EDMarketConnector.py under a debugger you will get files in that location when CAPI queries complete. This will now include files with names of the form `FleetCarrier.<callsign>.<timstamp>.json` for `/fleetcarrier` data.
* All the main UI tk widgets are now properly named. This might make things easier if debugging UI widgets as you'll no longer see a bunch of `!label1`, `!frame1` and the like.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment