Release Elite Dangerous Market Connector (EDMC)

Status
Thread Closed: Not open for further replies.
STOP, this is an old thread. You want the new, 5.9.0+ thread instead.




Elite Dangerous Market Connector ("EDMC") is a third-party application for use with 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 do 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.

It does not work with Console game accounts, and is no longer supported on Windows 7.

See the link above for more information about what it can do for you.



Update 14 Issues

I'll be documenting any issues relating to Update 14 in this github issue.



Problems Updating from 3.4.3.0/3.43

There was an issue with the old 3.4.3.0/3.43 (and earlier) versions when checking for an update. This turned out to be due to the size of the 'appcast' file for this having grown with all the more recent changelog entries. To solve this I culled all the changelog entries in that file from before 4.1.6. I'll try to keep an eye on this in the future, but if you're still on such an old version and have issues with the program crashing when seeming to offer an update please upgrade manually from the latest release.


  • We now test against, and package with, Python 3.10.2.
    As a consequence of this we no longer support Windows 7.
    This is due to Python 3.10.x itself not supporting Windows 7.
    The application (both EDMarketConnector.exe and EDMC.exe) will crash on startup due to a missing DLL.

    This should have no other impact on users or plugin developers, other than the latter now being free to use features that were introduced since the Python 3.7 series.
    Developers can check the contents of the .python-version file in the source (it's not distributed with the Windows installer) for the currently used version in a given branch.
  • As Windows 8.1 is now End-Of-Life we no longer explicitly support it, but for the time being it will likely continue to work. This is dependent on future Python releases not dropping support for Windows 8.1 in a manner that prevents it working. Any bug report made against Windows 8.1 use may be ignored unless reproduced on a supported OS.


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

Pre-emptive upload to VirusTotal.

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
    The advantage of these over the GitHub auto-generated ones is that they have been hand-crafted to contain all the necessary files, and only those files.
    If you use the application from source, and not via a git clone, then we highly recommend you use one of these archives, not the GitHub auto-generated ones.
    Anyone installing on Windows should continue to use the EDMarketConnector_win_<version>.msi files as before.
  • 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.
    Note that there are some caveats:
    1. This feature defaults to Off. The option is on the Configuration tab of Settings as "Enable Fleetcarrier CAPI Queries". It is advised to only enable this if you know you utilise plugins that make use of the data.
    2. These queries are only triggered by CarrierBuy and CarrierStats Journal events, i.e. upon buying a Fleetcarrier or opening the Carrier Management UI in-game. NB: There is a 15 minute cooldown between queries.
    3. If you have Fleetcarrier cargo which got into the cargo hold through a lot of individual transactions, or if you have a lot of separate buy/sell orders then these queries can take a long time to complete.
      If this happens with your game account then all other CAPI queries will be blocked until the /fleetcarrier query completes. 'Other CAPI queries' means those usually triggered upon docking to gather station market, shipyard and outfitting data. To ameliorate the effects of this there is currently a timeout of 60 seconds on /fleetcarrier queries, and will not occur more often than every 15 minutes.
      We plan to address this by moving the /fleetcarrier queries into their own separate thread in the future.
  • 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
    2. Report A Bug -> Issues - New Bug Report
  • 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.
    NB: This relies on the filesystem location you placed the source in not changing. So if you move the source you will need to re-run the script.
  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 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.
    This change should remove instances of "Wrong System! Missed Jump ?" and similar sanity-check "errors" when continuing to play after a user restarts the application whilst the game is running.
    Plugin developers, see below for how this change can positively affect you.
  • 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.
    However, if you have code that attempts to do things like parent.children() or the like in your plugin_app() implementation, this might have stopped working. You shouldn't be trying to do anything with any of the UI outside your plugin anyway, but if you definitely have a need then look things up using .nametowidget(). There are examples in the core plugins (which DO have good reason, due to maintaining main UI label values).
    All of the plugins listed on our Wiki were given perfunctory testing and no issues from this change were observed.
    This is a necessary first step to some pending plugin/UI work:
  • 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().
    This both means that no plugin should need to perform such location state tracking itself and they can take advantage of it being fully up to date when a user restarts the application with the game running.
    A reminder: When performing 'catch up' on the newest Journal file found at startup, the application does not pass any events to the journal_entry() method in plugins. This is to avoid spamming with data/state that has possibly already been handled, and in the case of the Cmdr moving around will end up not being relevant by the time the end of the file is reached. This limitation was also why the core EDDN plugin couldn't properly initiate its location tracking state in this scenario.
    See PLUGINS.md for details of the new state members. Pay particular attention to the footnote that details the caveats around Body tracking.
    Careful testing has been done for onlythe following. So, if you make use of any of the other new state values and spot a bug, please report it:
    1. SystemName
    2. SystemAddress
    3. Body (Name)
    4. BodyID
    5. BodyType
    6. StationName
    7. StationType
    8. (Station) MarketID
  • 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 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.
    Each plugin's separator is named as per the scheme plugin_hr_<X>, and when a plugin has UI its new container Frame is named plugin_X. Both of these start with 1, not 0.




Release 5.7.0

Pre-emptive upload to VirusTotal.

This release re-enables CAPI queries for Legacy players. As a result, the 'Update' button functionality is now restored for Legacy players, along with "Automatically update on docking" functionality.
  • We now test against, and package with, Python 3.11.1, 32-bit.
  • This release is functionally identical to 5.7.0-rc1, as no problems were reported with that.
  • As noted above, Legacy players now have CAPI functionality once more. Plugin developers check below for how you can determine the source galaxy of such data.
  • Due to a bug it turned out that a workaround for "old browsers don't support very long URLs" had been inactive since late 2019. As no-one has noticed or complained we've now removed the defunct code in favour of the simple webbrowser.open(<url>).
    Testing showed that all of Firefox, Chrome and Chrome-based Edge worked with very long URLs without issues.
  • EDMC.exe -n had been broken for a while, it now functions once more.
  • Some output related to detecting and parsing gameversion from Journals has been moved from INFO to DEBUG. This returns the output of any EDMC.exe command to the former, quieter, version.

Bugs​

  • A corner case of "game not running" and "user presses 'Update' button" would result in an empty uploaderID string being sent to EDDN. Such messages are still accepted by the EDDN Gateway, and the Relay then obfuscates this field anyway. So, at worse, this would make it look like the same uploader was in lots of different places. This has been fixed.
  • The message about converting legacy replay.jsonl was being emitted even when there was no file to convert. This has been fixed.

Plugin Developers​

  • An erroneous statement about "all of Python stdlib" in PLUGINS.md has been corrected. We don't/can't easily include all of this. Ask if any part of it you require is missing.
  • In order to not pass Legacy data to plugins without them being aware of it there is now a new function cmdr_data_legacy(), which mirrors the functionality of cmdr_data(), but for Legacy data only. See PLUGINS.md for more details.
  • The data passed to cmdr_data() and cmdr_data_legacy() is now correctly typed as CAPIData. This is a sub-class of UserDict, so you can continue to use it as such. However, it also has one extra property, source_host, which can be used to determine if the data was from the Live or Legacy CAPI endpoint host. See PLUGINS.md for more details.
  • If any plugin had been attempting to make use of config.get_int('theme'), then be aware that we've finally moved from hard-coded values to actual defined constants. Example use would be as in:
    Code:
    from config import config
    from theme import theme
    
    active_theme = config.get_int('theme')
    if active_theme == theme.THEME_DARK:
        ...
    elif active_theme == theme.THEME_TRANSPARENT:
        ...
    elif active_theme == theme.THEME_DEFAULT:
        ...
    else:
        ...
    But remember that all tkinter widgets in plugins will inherit the main UI current theme colours anyway.
  • The contents of NavRoute.json will now be loaded during 'catch-up' when EDMarketConnector is (re-)started. The synthetic StartUp (note the capitalisation) event that is emitted after the catch-up ends will have state['NavRoute'] containing this data.
    However, the Fileheader event from detecting a subsequent new Journal file will blank this data again. Thus, if you're interested in "last plotted route" on startup you should react to the StartUp event. Also, note that the contents will indicate a NavRouteClear if that was the last such event.
    PLUGINS.md has been updated to reflect this.
  • If you've ever been in the habit of running our develop branch, please don't. Whilst we try to ensure that any code merged into this branch doesn't contain bugs, it hasn't at that point undergone more thorough testing. Please use the stable branch unless otherwise directed.
  • Some small updates have been made in edmc_data as a part of reviewing the latest update to coriolis-data.
    We make no guarantee about keeping these parts of edmc_data up to date.
    Any plugins attempting to use that data should look at alternatives, such as FDevIDs/outfitting.csv.
    A future update might remove those maps, or at least fully deprecate their use by plugins. Please contact us now if you actually make use of this data.


Release 5.6.1

Pre-emptive upload to VirusTotal.

This release addresses some minor bugs and annoyances with v5.6.0, especially for Legacy galaxy players.
In general, at this early stage of the galaxy split, we prefer to continue to warn Legacy users who have 'send data' options active for sites that only accept Live data. In the future this might be reviewed and such warnings removed such that the functionality fails silently. This might be of use to users who actively play in both galaxies.
  • CAPI queries will now only be attempted for Live galaxy players This is a stop-gap whilst the functionality is implemented for Legacy galaxy players. Doing so prevents using Live galaxy data whilst playing Legacy galaxy, which would be increasingly wrong and misleading.
    1. 'Automatic update on docking' will do nothing for Legacy players.
    2. Pressing the 'Update' button whilst playing Legacy will result in a status line message "CAPI for Legacy not yet supported", and otherwise achieve nothing. The only function of this button is to query CAPI data and pass it to plugins, which does not include Inara and EDSM.
    3. A Legacy player trying to use "File" > "Status" will get the message "Status: No CAPI data yet" due to depending on CAPI data.
    4. It is hoped to implement CAPI data retrieval and use for Legacy players soon, although this will likely entail extending the plugins API to include a new function specifically for this. Thus only updated plugins would support this.
  • EDDN: Where data has been sourced from the CAPI this application now sends a header->gameversion in the format "CAPI-(Live|Legacy)-<endpoint>" as per the updated documentation.
    1. As this version only queries CAPI for Live players that will only be "CAPI-Live-<endpoint>" for the time being.
    2. If, somehow, the CAPI host queried matches neither the current Live host, the Legacy host, nor the past beta host, you will see "CAPI-UNKNOWN-<endpoint>".
    3. As that statement implies, this application will also signal 'Live' if pts-companion.orerve.net has been used, due to detecting an alpha or beta version of the game. However, in that case the /test schemas will be used.
    4. Closes #1734.
  • Inara: Only warn about Legacy data if sending is enabled in Settings > Inara.
    Closes #1730.
  • Inara: Handling of some events has had a sanity check added so that the Inara API doesn't complain about empty strings being sent. In these cases the event will simply not be sent.
    Closes #1732.
  • EDSM: EDSM has decided to accept only Live data on its API. Thus, this application will only attempt to send data for Live galaxy players.
    If a Legacy galaxy player has the Settings > EDSM > "Send flight log and Cmdr status to EDSM" option active then they will receive an error about this at most once every 5 minutes. Disabling that option will prevent the warning.

Plugin Developers​

  • PLUGINS.md has been updated to make it clear that the only use of imports from the config module are for setting/getting/removing a plugin's own configuration, or detecting application shutdown in progress.
  • PLUGINS.md has also been updated to add a note about how the data passed to a plugin cmdr_data() is, strictly speaking, an instance of CAPIData, which is an extension of UserDict. It has some extra properties on it, but these are for internal use only and no plugin should rely on them.
  • As noted above, implementing CAPI data for Legacy players will likely entail an additional function in the API provided to plugins. See #1728 for discussion about this.


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.
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.
  • 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.jsonl), to an sqlite3 database.
    As a result:
    1. Any messages stored in the old replay.jsonl are converted at startup, if that file is present, and then the file removed.
    2. All new messages are stored in this new sqlite3 queue before any attempt is made to send them. An immediate attempt is then made to send any message not affected by "Delay sending until docked".
    3. Sending of queued messages will be attempted every 5 minutes, unless "Delay sending until docked" is active and the Cmdr is not docked in their own ship. This is in case a message failed to send due to an issue communicating with the EDDN Gateway.
    4. When you dock in your own ship an immediate attempt to send all queued messages will be initiated.
    5. When processing queued messages the same 0.4-second inter-message delay as with the old code has been implemented. This serves to not suddenly flood the EDDN Gateway. If any message fails to send for Gateway reasons, i.e. not a bad message, then this processing is abandoned to wait for the next invocation.
    6. 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 application startup this delay is only 10 seconds.
    Currently, the feedback of "Sending data to EDDN..." in the UI status line has been removed.
    If you do not have "Delay sending until docked" active, then the only messages that will be at all delayed will be where there was a communication problem with the EDDN Gateway, or it otherwise indicated a problem other than 'your message is bad'.
  • As a result of this EDDN rework this application now sends appropriate gameversion and gamebuild strings in EDDN message headers.
    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 replay.jsonl format.
  • For EDSM there is a very unlikely set of circumstances that could, in theory lead to some events not being sent. This is so as to safeguard against sending a batch with a gameversion/build claimed that does not match for all of the events in that batch.
    It would take a combination of "communications with EDSM are slow", more events (the ones that would be lost), a game client crash, and starting a new game client before the 'more events' are sent.

Update 14 and the Galaxy Split​

Due to the galaxy split announced by Frontier there are some changes to the major third-party websites and tools.
  • Inara has chosen to only accept Live galaxy data on its API.
    This application will 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 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 message "Inara only accepts Live galaxy data", which is also set as the main UI status line. This message will repeat, at most, every 5 minutes.
    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. * All batches of events sent to EDSM will be tagged with a gameversion, in a similar manner to the EDDN header.
    Ref: EDSM api-journal-v1
  • All EDDN messages will now have appropriate gameversion and gamebuild fields in the header as per EDDN/docs/Developers.md.
    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 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.
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​

  • There is a new flag in state passed to plugins, IsDocked. See PLUGINS.md for details.

VirusTotal​

Pre-emptive upload to VirusTotal for EDMarketConnector_win.5.6.0.msi.



Release 5.5.0

Download and run the EDMarketConnector_win_5.5.0.msi linked on that page, below the changelog, to install.
  • Virus Total scan results for this release.
  • We now test against, and package with, Python 3.10.7.
  • EDDN: Support added for the FCMaterials schemas to aid third-party sites in offering searches for where to buy and sell Odyssey Micro Resources, including on Fleet Carriers with the bar tender facility.

Bug Fixes​

  • EDDN: Abort fsssignaldiscovered sending of message if no signals passed the checks.
  • EDDN: Add Horizons check for location on fsssignaldiscovered messages.
  • Don't alert the user if the first attempted load of NavRoute.json contains no route.
  • Inara: Don't set marketID for ApproachSettlement unless it's actually present in the event.

Plugin Developers​

  • We now build using the new, setuptools mediated py2exe freeze() method, so we're in the clear for when distutils is removed in Python 3.12.
    This shouldn't have any adverse effects on plugins, i.e. all of the same Python modules are still packaged as before.
  • Support has been added for the NavRouteClear event. We do send this through to plugins, so that they know the player has cleared the route, but we keep the previously plotted route details in state['NavRoute'].
  • The documentation of the return type of journal_entry() has been corrected to Optional[str].
  • FDevIDs files (commodity.csv rare_commodity.csv) updated to latest versions.

Developers​

  • We now build using the new, setuptools mediated py2exe freeze() method, so we're in the clear for when distutils is removed in Python 3.12.
  • The old setup.py file, along with associated py2exe.cmd have been removed in favour of the new Build-exe-and-msi.py file. Documentation updated.
 
Last edited:
Release 3.46
This should be the final release of EDMC based on Python 2.7. The next release after this, assuming this one doesn't introduce new bugs, will be based on Python 3.7. Any plugins that users have installed will need to have been updated to work under Python 3.7 by the time that next version of EDMC is released. During EDMC startup, at most once per day, you might see a popup with the text:

One or more of your enabled plugins do not yet have support for Python 3.x. Please see the list on the 'Plugins' tab of 'File' > 'Settings'. You should check if there is an updated version available, else alert the developer that they will need to update the code when EDMC moves to Python 3.x

A small bug means that popup will never appear, but you can still check File > Settings > Plugins tab and see what plugins are listed in the section with the text Plugins Without Python 3.x Support.
If any of your plugins are listed in that section then they will need updating, by you or the original developer, to work with Python 3.7. See Migrating to python 3.7 for more information.
Anyone who wishes to try out the forthcoming Python 3.7-based version should see Release 3.51 beta0, but please do not install that unless you're technically savvy enough to make coherent bug reports, thankyou.
Changes in this version:
  • The CAPI CLIENT_ID has been changed to one under Athanasius' account, so when users are asked to (re-)authenticate with Frontier they'll see Elite Dangerous Market Connector (EDCD/Athanasius) as the application asking for permission. There's been no change to the use of the data Frontier then gives access to.
  • Updated translations (as of 2019-09-26 in general and 2019-11-04 for Polish).
  • Linux: Should now appear on task bar whilst in dark mode theme.
  • INARA: Send correct opponentName for Interdicted and Interdiction events.
  • Send SAASignalsFound events to EDDN.
  • Add Agronomic Treatment introduced for a community goal.
  • Fix Detailed Surface Scanner rating.
  • Fix for the "Inara 400 The reputation value exceeds the valid range" error.
  • Minimum interval between checks for a new version of EDMC has been reduced from 47 hours to 8 hours.
  • There is a new option, within the 'Configuration' tab, 'Disable Automatic Application Updates Check when in-game' which when active should prevent update checks from showing a popup whilst you're in-game. You can still use Help > Check for updates to trigger a manual check.
  • Support added for the journal CarrierJump event, triggered when you're docked on a Fleet Carrier as it performs a jump. This is now sent to: EDDN, Inara, EDSM. NB: EDSM doesn't yet support this event at the time of writing, so will still not track such Carrier Jumps in your Flight Log or current location. Generally when EDSM is updated to handle such new events it will back-process stored unrecognised events.

NB: There's some issue with 3.44 updating to this new 3.46. If you use the in-app prompt to install it will kill the old running EDMarketConnector.exe and attempt to run the new installer, but that then fails in some manner and you're left with 3.44 still installed. I'm investigating now.
 
Last edited:
I'd neglected to properly edit the update feeds file, so it was still pointing to the 3.44 installer file despite saying it was for 3.46. Fixed!
 
One small bug I didn't catch, that popup warning about Python 3.x and plugins won't ever happen. But if you look on File > Settings > Plugins you will see any plugin without Python 3.x support listed in an appropriate section.
 
I've also spotted a puzzling issue with the EDMarketConnector.exe not showing the correct icon. This worked fine for the 3.44 build, yet doing that afresh exhibits the same "no icon" problem. It's currently working OK on my Python 3.7 build environment so I'm inclined to just let this slide until the next, Python 3.7 based, release.

It's py2exe that builds the .exe and is meant to take care of incorporating the icon, and nothing has changed about how that is being specified, nor are any errors thrown during the ubild process so <insert shrugging emoji>.
 
Last edited:
This 3.46 EDMarketConnector.exe icon thing... some of us are seeing the icon, some of us not. I've just checked a fresh build of the 3.44 .exe, which for me doesn't show the icon, and it has an identical SHA256 checksum to the github .msi 3.44 file which does show the icon for me. So this is Windows 10 doing something bizarre.

I've already tried removing %LOCALAPPDATA%\IconCache.db and rebooting, it made no difference.

So, I'm definitely inclined to leave this be given things are still working sanely for me with the python3 branch built using Python 3.7.7.
 
1593326871506.png
 
There are some new phrases awaiting translations on https://marginal.oneskyapp.com/collaboration/project/52710 if anyone has the skills for the supported languages. If you find anything you think is wrong and can't edit then poke me to 'Unfinalize' the translation(s). I can also look at adding new languages if there's a volunteer to make a new translation.

Any work ready to go when I make the next release will be included :) .
 
NB: If you're helping with translations you only need to care about the ones under the "EDMarketConnector / Miscellaneous" project and not the "EliteOCR / EliteOCR" one!

I'm pretty sure the EliteOCR project has been dead for many years now, made moot by the Journals and CAPI as data sources.
 
Hi all !

Now I'm forced to flood the logs from the game with my hands on Inara. Can I use your program by giving her access only from Inara ? So she can fill in the logs from the game on Inara.

Without providing any logins and passwords from the game itself.

Thank you.

Example:
1. Specify in the EDMS settings where the logs and the key to Inara's website should be stored.
2. Start EDMS and it will automatically fill in the logs on Inara's website.
 
Last edited:
Now I'm forced to flood the logs from the game with my hands on Inara. Can I use your program by giving her access only from Inara ? So she can fill in the logs from the game on Inara.

Without providing any logins and passwords from the game itself.

Thank you.

Example:
1. Specify in the EDMS settings where the logs and the key to Inara's website should be stored.
2. Start EDMS and it will automatically fill in the logs on Inara's website.
Yes, EDMC supports Frontier Authentication, it hasn't asked for your game login details for a long time now.

You can then set the options in EDMC so that it only sends to Inara (don't enter an EDSM API Key, and if you really don't want to then disable the options for sending to EDDN). You'll obviously then need to always be running EDMC when you play the game.
 
If anyone has had 3.50 or 3.51 installed (or running from source) in order to test against Python 3.7 then could you please switch to 3.99.0.0 or the beta branch of the source code. See the first link for Release Notes. If you're feeling particularly brave you could use the develop branch which will have the latest code I've merged in from Work-In-Progress branches.

Check the open Issues before reporting any problems you see. I'll likely be making a 3.99.1.0 pre-release today or tomorrow to fix a few more things.

If all goes well with that then expect the actual 4.0.0.0 release of Python 3.7 based EDMC some time next week.
 
The next full release of EDMC will be 4.0.0.0. As well as fixing some bugs and including some other enhancements this will be the big move from Python 2.7 to Python 3.7. So, with that in mind, I'd like as many users as possible to install and test this 3.99.2.0 pre-release to help find any new bugs before that big change is offered to everyone.

You can get it from Pre-Release 3.99.2.0 . Install by simply running it. It's the same as if EDMC offered you a new version and you went through with installing it.
As always, please report any issues on GitHub. If you want to discuss or check anything first then find us in the #edmc channel of the EDCD Discord Server.
You should read all of the changelogs for 3.99.0.0, 3.99.1.0 and 3.99.2.0. I'll make the easy by pasting them here:
3.99.0.0

  • This release is based on Python 3.7, not 2.7, so a user might find some of their plugins stop working. If you have any that do not have the proper support you'll see a popup about this, at most once every 24 hours, when you start the program. As directed on that popup you can check the status of your plugins on 'File' > 'Settings' > 'Plugins' in the new 'Plugins Without Python 3.x Support:' section. If the popup gets annoying then follow the directions to Disable a plugin. For any plugins without Python 3.x support you should first ensure you're using the latest version of that plugin. If that hasn't been updated then you might want to contact the plugin developer to see if they'll update the plugin. For some plugins check this list.
  • Translations updated:
  • New languages: Serbian (Latin, Bosnia and Herzegovina) (175/175), Slovenian (Slovenia) (144/175).
  • New phrases were added and the only 100% translated languages are now: French, German, Ukrainian, Spanish, Russian, Czech, Japanese, Serbian (Latin), Portugese (Portugal), Serbian (Latin, Bosnia and Herzegovina). Please do contribute on the OneSkyApp project if you are able to.
  • Fixes a bug where certain combinations of 'Output' and 'EDDN' options would lead to both reverting to their defaults.
  • EDDB plugin now uses a system's SystemAddress to construct the URL to view the system on eddb.io. This removes the need for the systems.p file. That file will be removed in a future version, plugin authors should not be relying on its presence.
  • EDDB plugin now uses a station's MarketID to construct a URL to view the station on eddb.io. This removes the need for stations.p. That file will be removed in a future version, plugin authors should not be relying on its presence. NB: It's now using the system's "Population" data from Journal messages to determine if the system has stations or not. This allows for the × as station name to be clickable to open the eddb.io page for system when you're not docked. It's known that some systems with stations have a Population of "0" and thus won't allow this functionality. This is Frontier's issue, not EDMC's. If you logged out in a populated system, run EDMC afresh, and use the 'Update' button you won't see the × until you login fully to the game.
  • New 'Help' > 'About E:D Market Connector' menu item to show the currently running version. Includes a link to the release notes.
3.99.1.0

  • Fix a bug where if you copied a Journal file to the live location, resulting in a "Journal.YYMMDDHHMMss.XX - Copy.log" file, the application would pick it up as 'new' and potentially re-send duplicate data to all of EDDN, EDSM and Inara. Now the only files the application will take note of must:
  1. Start with Journal. or JournalBeta.
  2. Have the 12-digit date/timestamp, followed by a .
  3. Have the 2 digit serial number, followed by a .
  4. Nothing else before the trailing log.
  • Fix the 'Release Note' URL in the 'About' popup to use the correct format.
  • Fix the location of Registry keys for the update checker, WinSparkle, to be under EDMarketConnector instead of EDMarketConnector.py.
3.99.2.0

  • Added Swedish to the translated languages. Thanks to Gurra.
  • Will throw an exception, rather than a Segmentation Fault, if run on Linux without DISPLAY properly set.
  • Corrects setting of WinSparkle (updates checking) options to be under the new 'EDCD' Registry key.
 
Hi Athan,

the usage of EDMC.exe (which TCE is using) from the V3.99.2.0 installation producing an error on any command line parameter (-o/-m/-l etc.).
The error message is "Can't read Journal file: b"name 're' is not defined".
Also the -v parameter reports the version 39.92, which is also wrong.
EDMC 3.51beta is working properly.

Hopefully you find the issue before release, otherwise the TCE users will take out their torches :)

I can't report it on Github actually, cause my account there has an issue, so I can't login. Hope this get fixed by Github any time soon.
 
Last edited:
Hopefully you find the issue before release, otherwise the TCE users will take out their torches :)

I can't report it on Github actually, cause my account there has an issue, so I can't login. Hope this get fixed by Github any time soon.
I've opened this issue for it and will take a look in the next day or so latest.
 
I can't report it on Github actually, cause my account there has an issue, so I can't login. Hope this get fixed by Github any time soon.
I've made a new release with just these fixes and an updated Swedish translation: Release 3.99.3.0


Pre-Release 3.99.3.0
Consider this as 'beta3' for the following full '4.0.0.0' release.

* Fix up EDMC.exe (command line tool):
* Correctly report the version with -v.​
* Don't error out on checking Journal filenames.​
* Updated Swedish translation.
 
Last edited:
installed 3.99.3 allways get the "server down" message, is the server actually down or is a bug too?

edmc gives no server down message
 
Status
Thread Closed: Not open for further replies.
Top Bottom