github EDCD/EDMarketConnector Release/4.1.0-rc1
Pre-Release 4.1.0-rc1

latest releases: Release/5.10.4, Release/5.11.0-alpha1, Release/5.10.3...
pre-release3 years ago

Pre-Release 4.1.0-rc1

This pre-release contains the result of a lot of code cleanup on several files and the addition of a proper logging paradigm, which should aid us in tracking down bugs.

None of the code cleanups should change actual program behaviour, but as we don't yet have the code in a state to have proper tests it's possible we've broken something.

  • The error 'list' object has no attribute 'values' should now be fixed.

  • This version will attempt to send empty market commodity lists over EDDN. The benefit of this is it will show when a Fleet Carrier no longer has any buy or sell orders active.

    At this time the EDDN Gateway will reject these messages. We're catching and suppressing that (but log a message at TRACE level). If/when the EDDN schema is updated and the Gateway starts using that this will mean, e.g. EDDB, can start better tracking Fleet Carrier markets.

  • We are now explicitly a Unicode application:

    1. A manifest setting in both EDMarketConnector.exe and EDMC.exe now specifies they're Unicode applications so that they default to using the UTF-8 codepage.

    2. We are now explicitly setting a UTF8 encoding at startup. NB: This is still necessary so that users running from source code are also using the UTF-8 encoding, there's no manifest in that scenario.

      This shouldn't have any side effects and has allowed us to switch to the native tkinter file dialogs rather than some custom code.

    If you do encounter errors that might be related to this then it would be useful to see the logging output that details the Locale settings at various points during startup. Examples might include incorrect text being rendered for your language when you have it set, or issues with filenames and their content, but any of these are unlikely.

  • EDMarketConnector.exe now has gdiScaling set to true in its manifest. This results in better Windows OS scaling of the UI (radio buttons scale correctly now). This might negate the need for our own UI Scaling (see below), but we're leaving the functionality in for anyone who finds it useful.

  • New UI Scaling option! Find the setting on the 'Appearance' tab of Settings.

    1. This will only actually take effect after restarting the application.
    2. The 'Default' theme's menu names won't be resized due to using the default font. The other two themes work properly though as they use a custom font for those texts.
    3. As per the note next to the settings bar, "100" means "default", so set it to that if you decide you don't need the UI scaling.
    4. If you select 0 it will become 100 on the next startup.

    Plugin Authors: If you are doing per-pixel things in your UI then you'll want to check config.get('ui_scale') and adjust accordingly. 100 means default scaling with other values being a percentage relative to that (so 150 means you need to scale everything x1.5).

  • Code dealing with Frontier's CAPI was cleaned up, so please report any issues related to that (mostly when just docked or when you press the Update button).

  • We now have proper logging available, using the python module of that name. Plugin Authors, please change your code to using proper logging, as per the new 'Logging' section of PLUGINS.md.

    1. We have a TRACE level of log output. By default this is turned off. Run either EDMarketConnector or EDMC with --trace flag to enable. This is intended for use where we need finer-grained tracing to track down a bug, but the output would be too spammy in normal use.

      To make it easy for users to run with TRACE logging there's a new file EDMarketConnector - TRACE.bat. Running this should result in the program running with tracing. Recommended use is to navigate a Windows File Explorer window to where EDMarketConnector.exe is installed then double-click this .bat file.

    2. EDMC.py has a new --loglevel command-line argument. See EDMC.py -h for the possible values. It defaults to 'INFO', which, unless there's an error, should yield the same output as before.

    3. EDMC.exe will now log useful startup state information if run with the --loglevel DEBUG arguments.

    4. EDMarketConnector has a new 'Loglevel' setting on the 'Configuration' tab to change the loglevel. Default is 'INFO' and advised for normal use. If reporting a bug it will be very helpful to change this to 'DEBUG' and then reproduce the bug.

    5. Both programs not only log to their old locations (console for EDMC, and %TEMP%\EDMarketConnector.log for the main application), but now also to a size-limited and rotated logfile inside the folder %TEMP%\EDMarketConnector\ .

      1. A new file is only started if/when it reaches the 1 MiB size limit.
      2. We'll keep at most 10 backups of each file, so the maximum disk space used by this will be 22 MiB.
      3. The base filename inside there is EDMarketConnector-debug.log for the main program and EDMC-debug.log for the command-line program.
      4. Only actually logged output goes to these files, which currently is far from all the traditional output that goes to the old file/console. Anything using print(...) will not appear in these new files.
      5. These files always default to DEBUG level, whereas the old log file continues to follow the user-set logging level.
    6. Default logging level for plugins is DEBUG. This won't change what's actually logged, it just ensures that everything gets through to the two channels that then decide what is output.

  • There's a little extra DEBUG logging at startup so we can be sure of some things like Python version used (pertinent if running from source).

  • Minor tweak to EDDN plugin logging so we know what message we tried to send if it fails.

  • More logging added to companion.py to aid diagnosing Frontier Auth issues.

  • Extra TRACE level logging added for when we process Location, Docked, t puFSDJump and CarrierJump events for EDSM. This was added to help track down the cause of #713.

Translators: There are new strings to translate related to Log Levels and the new UI Scaling. Thanks to those who already updated!

Don't miss a new EDMarketConnector release

NewReleases is sending notifications on new releases.