Pre-Release 5.11.0-rc1
This is a release candidate for 5.11.0.
This release includes a number of new features and improvements, including a new Beta Update Track for testing future updates, enhanced context menus for text entry fields and UI elements, a revamp to the existing translation system and logging capabilities, and more. This release includes the Python Image Library (PIL) into our core bundle, adds a number of stability and configuration checks to the tool, and adds new schemas and configuration values to senders.
This release also includes a number of bug fixes, performance enhancements, and updates to various aspects of the code to enhance maintainability are included. Notably, MacOS support has been removed due to a lack of support for this OS in Elite, and a number of functions have been deprecated and will be removed in later versions. Plugin developers, take note!
Changes and Enhancements
- Established a Beta Update Track to allow users to assist in future update testing
- Added a global context menu for text entry fields that includes cut, copy, and paste options
- Added a context menu for Ship, System, and Station UI elements which allows opening the respective link in any of the available resource providers.
- Added translation hooks to the update available status string
- Added additional status logging when we're awaiting game log-in
- Added the Python Image Library (PIL) to the core EDMC library bundle
- Added respect for EDSM API limits to the default plugin
- Added EDDN stationType and carrierDockingAccess schemas to the sent events
- Added MaxJumpRange and CargoCapacity events to the Inara sender
- Added a high-level critical error handler to gracefully terminate the program in the event of a catastrophic error
- Added the ability to override the default language for a translation by adding the optional 'lang' parameter to the translate function for individual functions
- Added an updated template and new security reporting guidance to the documentation
- Added a new updater for the FDevID Files to keep the dependency up to date without requiring a new patch version push
- Added a System Profiler Utility to assist with gathering system and environment information for bug report purposes
- Added a new security policy for responsible disclosure of identified security issues
- Enabled security code scanning on the GitHub repository
- Updates the look and feel of the "Already Running" popup to reduce overhead and improve the look of the popup
- Updated translations to latest versions
- Updated documentation to reflect certain changes to the code
- Updated the GitHub Bug Report template
- Updated the GitHub Pull Request template
- Updated internal workflows to more recent versions
- Updated util_ships to avoid using Windows reserved file names as output
- Converted all usages of the unnecessary OrderedDict to use the standard dict
- Clarifies the hierarchy of parent classes for custom MyNotebook classes
- Renamed the default translation function from
_()
totr.tl()
- Renamed the Translations base class to conform to Pythonic standards
- Deprecated the
_Translations
class - Deprecated the
Translations
singleton in favor oftranslations
- Unpinned several dependencies that were already dependencies of other dependencies to prevent dependency conflicts (say that 5 times fast)
- Updated a few type hints to allow updates to more updated dependencies
- Changed the translation function import to no longer rely on forcing it into Python's builtins
- Handed over a few tk classes to their ttk equivalents for better styling
- Reworked the Plugin system to no longer use the deprecated importlib.load_module()
- Deprecated nb.Entry and nb.ColoredButton as they simply point toward other classes with no processing
- Removed macOS support
- Removed deprecated modules.p and ships.p files
- Removed deprecated openurl() function
Bug Fixes
- Fixed a bug where certain types of exceptions from the Requests module wouldn't be handled properly regarding killswitches
- Fixed a rare bug where source builds running on 64-bit Python could generate an OverflowError in the monitor system
- Fixed a bug where EDMC would open directories in the webbrowser instead of the file explorer on Linux
- Fixed a rare bug that could cause the EDSM plugin to crash due to missing configuration values
Plugin Developers
- nb.Entry is deprecated, and is slated for removal in 6.0 or later. Please migrate to nb.EntryMenu
- nb.ColoredButton is deprecated, and is slated for removal in 6.0 or later. Please migrate to tk.Button
- Calling internal translations with
_()
is deprecated, and is slated for removal in 6.0 or later. Please migrate to importingtranslations
and callingtranslations.translate
ortranslations.tl
directly Translations
as the translate system singleton is deprecated, and is slated for removal in 6.0 or later. Please migrate to thetranslations
singletonhelp_open_log_folder()
is deprecated, and is slated for removal in 6.0 or later. Please migrate to open_folder()update_feed
is deprecated, and is slated for removal in 6.0 or later. Please migrate toget_update_feed()
.- modules.p and ships.p are deprecated, and have been removed
- The
openurl()
function in ttkHyperlinkLabel has been removed. Please migrate towebbrowser.open()