Skip to content

Releases: mathoudebine/turing-smart-screen-python

3.9.1 - Turing 8.8" & 2.1" support (bugfix)

26 Feb 09:12
74a49da
Compare
Choose a tag to compare

This is a 3.9 point release for the following changes:

  • Restore compatibility with Python < 3.11 for rev. C and rev. D screens
  • Add portable Windows package

For the full 3.9 changelog see https://github.com/mathoudebine/turing-smart-screen-python/releases/tag/3.9.0
To discuss about the 3.9 releases: #691

Is this a malicious program?

Some users reported that the Windows packages published for releases are flagged by their anti-virus solution like Avast or NOD32.
image

Why are these packages detected as malicious?

Anti-virus software now use heuristic filters to try to detect new threats that have not yet been identified.
Windows packages can trigger the anti-virus heuristic filters for the following reasons:

  • Python code packaged as an executable: could disguise some malicious code as a legitimate program
  • DLL loading as administrator: could load external malicious code, or infect critical system components

Of course it is not possible to know precisely why these packages are flagged by anti-virus software. The heuristic filters are kept secret to prevent them from being bypassed by harmful programs.

Can I trust this program?

This project is open-source, you can review the code from the main page using Github browser: https://github.com/mathoudebine/turing-smart-screen-python
No security concerns have been reported so far despite the daily activity.

The Windows packages for releases are generated using Github Actions platform on cloud containers from Github. No manual intervention is made, and the files never leave the secured container environment.

The Github actions to generate the packages are available here: https://github.com/mathoudebine/turing-smart-screen-python/blob/main/.github/workflows/generate-windows-packages.yml and https://github.com/mathoudebine/turing-smart-screen-python/blob/main/.github/workflows/generate-windows-packages-debug.yml

I still don't want to take any risks

If you still don't trust Windows packages for releases, just download the source code instead:
image

Then follow the manual installation procedure. You will need to install Python manually and run some commands from a terminal.

What's Changed

Full Changelog: 3.9.0...3.9.1

3.9.0 - Turing 8.8" & 2.1" support

21 Feb 17:46
Compare
Choose a tag to compare

This release brings the the long-awaited support for Turing 8.8" and 2.1" displays!

The Configuration window has been updated to support the new display sizes. You can also spot a new "Open themes folder" button for quick access to themes.

Sans titre

Theme Editor has been updated as well with buttons to zoom in/out, useful for wide screens like 8.8":

image

This release comes with a first set of themes for both display sizes:

  • 2.1" themes:
    2 1-preview

  • 8.8" themes:
    preview
    preview
    preview
    preview

To get these new themes, don't forget to check "Default themes" during setup (and backup your local theme modifications before!):

image

Please do not hesitate to raise an issue if you find some bugs in this release!

What's Changed

  • ⬆️ Update numpy requirement from ~=2.2.2 to ~=2.2.3 by @dependabot in #684
  • ⬆️ Update psutil requirement from ~=6.1.1 to ~=7.0.0 by @dependabot in #686
  • Implement support for Turing 2.1" and 8.8" screens by @mathoudebine in #690

Full Changelog: 3.8.2...3.9.0

3.8.2 - Optimizations ✨

12 Feb 21:57
Compare
Choose a tag to compare

This release adds common optimizations for all screens:

  • Thanks to @hchargois the optimized serialization process already applied to rev. A (Turing Smart Screen 3.5") has been extended to all supported displays: Turing 5", XuanFang, Kipye... The image serialization is now up to 60x faster!
  • Sensor monitoring does not start until screen is fully initialized and background is displayed, to avoid serial buffer overload and "burst" mode where the screen displays data frantically during the first 10 seconds
  • A debug installer is now generated for each release, with command window to display logs. Useful for debugging.
  • For rev. B screens (XuanFang) a cool-down of 0.05 seconds has been added between each frames to reduce drastically the problem of "corrupted bitmaps" for themes with a lot of content.

Full list of changes

Full Changelog: 3.8.1...3.8.2

3.8.1 - Windows Installer fix

11 Feb 11:02
e85ad68
Compare
Choose a tag to compare

What's Changed

  • Fix Windows Installer not opening Theme Editor because of spaces in paths by @mathoudebine in #676

Full Changelog: 3.8.0...3.8.1

3.8.0 - Windows Installer 💾

07 Feb 17:40
Compare
Choose a tag to compare

Windows Installer now available

This feature has been requested a lot in Issues and Discussions, it is now available starting from this release!
It means Windows users will now be able to easily install and update the Turing System Monitor program without having to install Python and dependencies manually.

During the first installation, the System Monitor is installed along all default themes and configuration.
When updating to a newer version, the installer will offer a way to reinstall default themes and configuration. This is unchecked by default in case the user has made changes to the default themes and want to keep it. Custom themes added manually will always be preserved.

After installation is complete, the System Monitor program will be installed in %localappdata%\Programs\Turing System Monitor and can be launched (or uninstalled) from the Start Menu:

If you already used the System Monitor program on your machine, you will need to reconfigure it and import your themes to %localappdata%\Programs\Turing System Monitor\themes. To open this folder type Win+R and enter this path then press Enter.

Every time a new release is created, the Windows installer will be built by Github Actions and attached to the release notes: see "Assets" below this message and download turing-system-monitor_3.8.0.exe now!

Weather & Ping configuration

Following release 3.7.0 that added the support for weather and ping sensors, they can now be setup through the Configuration window:

Python 3.8 support removed

Python 3.8 is now EOL and support has ended since 2024-10. Some Python modules this project uses have started to drop Python 3.8 support, which means this project cannot support Python 3.8 anymore.
If you have Python 3.8, you can stick to the previous version of this project (3.7.0) or update Python.

New themes

@takattila added its themes to this project, thanks!

All changes

New Contributors

Full Changelog: 3.7.0...3.8.0

Release 3.7.0 - 🌦️ New Ping & Weather sensors, advanced radials, LHM update

27 Dec 18:10
ab92813
Compare
Choose a tag to compare

New Ping & Weather sensors

Thanks to @Psykotik, new sensors are available in this release:

  • PING sensor to display ping delay between your computer and any other internal/external host/IP
  • WEATHER sensors to display weather forecast (temperature/humidity/text forecast) from your location using OpenWeatherMap API

image

Check the new ColoredFlat theme to get started!

These sensors needs to be configured in config.yaml. OpenWeatherMap API needs a key created from an account on their website.

Advanced radial graphs

Thanks to @caerffili it is now possible to create intersecting radials:
324036697-70a53157-98a8-4316-95ca-330fea0cbaf6

Check the Advanced Radial theme example to get started!

LibreHardwareMonitor 0.9.4 update

If you are using Windows, this release includes the new LibreHardwareMonitor release 0.9.4 to support latest hardware.
Check the release note to see if your hardware is included in this release.

New themes

ColoredFlat (5")
preview-1

LandscapeModernDevice35 (3.5")
preview

Full changelog

New Contributors

Full Changelog: 3.6.0...3.7.0

Release 3.6.0 - Python 3.13 and numpy 2.x support, bugfixes

21 Dec 10:58
Compare
Choose a tag to compare

This quick release adds support for Python 3.13 and numpy 2.x, as well as features ans fixes since latest release including:

  • Add text box width and height by @Xzonn to use non-monospaced fonts on text fields without "ghosting" effects
  • Add line width option for Line graphs by @MAIKS1900
  • Fix CPU temperature bar graph and radial graph inverted by @mathoudebine
  • New "Total vRAM" sensor by @majormer
  • New "SystemUptime" sensor by @NurNano
  • Fix AMD GPU load sensor by @sutaburosu
  • Use Nvidia GPU in priority with Python sensors by @mathoudebine

I also want to thank you all for your contributions wether it is PR, issues, themes...
This project has been an amazing journey and I'm glad to see a such a good spirit of support in the Discussions space
I wish I could have more time to answer to all of you individually

I will try to review and integrate as much PRs as I can during the following weeks

Happy end of year ! ✨

Full Changelog

New Contributors

Full Changelog: 3.5.0...3.6.0

Release 3.5.0 - CPU Fan manual selection & bugfix

18 Jun 17:18
0759c80
Compare
Choose a tag to compare

New feature : CPU fan manual selection for Linux platforms

On Linux platforms, the CPU fan is often controlled by the motherboard unlike the GPU fan.
Because of that, it does not contain cpu in the sensor name, and cannot automatically detected.
E.g. with an AMD CPU on an Asus motherboard: the CPU fan sensor is managed by nct6798 Nuvoton's Super I/O Controller

>$ sensors
nct6798-isa-0290
Adapter: ISA adapter
fan1:                      707 RPM  (min =    0 RPM)        #
fan2:                      906 RPM  (min =    0 RPM)        #   One of those is the CPU fan, but which one?
fan3:                      691 RPM  (min =    0 RPM)        #
fan4:                      657 RPM  (min =    0 RPM)        #
fan5:                        0 RPM  (min =    0 RPM)
fan6:                        0 RPM  (min =    0 RPM)
fan7:                        0 RPM  (min =    0 RPM)

amdgpu-pci-0800
Adapter: PCI adapter 
fan1:         825 RPM  (min =    0 RPM, max = 3200 RPM)     #   GPU fan is clearly identified

On previous releases, when CPU fan could not be automatically detected, it was ignored with the following warning on logs:

20/02/2024 18:05:13 [WARNING] Your CPU Fan Speed is not supported yet

With this new release, there is now a new field in the config.yaml configuration file:

  # CPU fan
  # For Linux/MacOS platforms, the CPU fan is amongst all fan sensors gathered from the motherboard chipset
  # If value is AUTO the system monitor will try to auto-select the CPU fan
  # If auto-detection fails, it might be necessary to manually indicate which fan is the CPU fan
  # Value must be 'controller/fan' e.g. 'nct6798/fan2'. Use configuration wizard for help in selection
  CPU_FAN: AUTO

And the CPU fan can be manually selected in the configuration wizard:

image

A tooltip also indicates which package to install in order to detect hardware sensors from the motherboard:

image

What's Changed

Full Changelog: 3.4.0...3.4.1

Release 3.4.0 - Line graphs & bugfix

19 Feb 21:28
Compare
Choose a tag to compare

New feature: line graphs!

Thanks to @hicwic's PR #371 the System Monitor program now supports line graphs!
image

The line graph feature has been added to many metrics like: CPU/GPU/Disk/Memory usage, temperature, CPU Fan speed, FPS...
Check https://github.com/mathoudebine/turing-smart-screen-python/blob/main/res/themes/theme_example.yaml and look for LINE_GRAPH key:

      LINE_GRAPH:
        SHOW: False
        X: 300
        Y: 220
        WIDTH: 133
        HEIGHT: 70
        MIN_VALUE: 0
        MAX_VALUE: 100
        HISTORY_SIZE: 10
        AUTOSCALE: False
        LINE_COLOR: 61, 184, 225
        AXIS: True
        AXIS_COLOR: 255, 135, 0
        # BACKGROUND_COLOR: 0, 0, 0
        BACKGROUND_IMAGE: background.png

The history size (number of previous values displayed on the graph) can be adjusted for its data.
With AUTOSCALE: True the line graph Y axis will constantly adjust to the min/max displayed values, otherwise set MIN_VALUE/ MAX_VALUE for a static Y axis
Graph axis can be show or hidden with AXIS: True / False and set to a specific color with AXIS_COLOR (default to the LINE_COLOR if not set)

New themes:

This release comes with 2 new themes that use the line graph functionality:

Cyberdeck theme (3.5 inch)

@hicwic released the theme he made for his Cyberdeck project

Check this discussion #374 for more details and final prototype!
282247624-9716c07c-f939-45af-8369-f067f6df4e11

Task Manager theme (5 inch)

This theme takes full advantage of the line graph feature, and is inspired by the (in)famous Windows Task Manager
theme_taskmanager5inch

Other fixes

This release also contain the following fixes:

  • System Monitor: Workaround for models failing to display their previous content after being turned off/on #427 (fixes #419)
  • Theme Editor: only refresh theme if theme file still exists (fix for vim text editor) #428 (fixes #401)
  • System Monitor: Custom stats not displayed if numeric value is zero #444 (fixes #442)
  • System Monitor: Better error message when missing ImageTk dependency #443
  • System Monitor: Do not use psutil virtual_memory used/free: not reliable. Use total/available instead #462 (fixes #450)
  • System Monitor: User proper conversion for Memory values (power of 1024 instead of power of 1000) #463 (fixes #449 partially)
  • System Monitor: Fix LibreHardwareMonitor computation for swap/pagefile usage in case no swap/pagefile defined #391 (fixes #390)

What's Changed

  • Fix LibreHardwareMonitor computation for swap/pagefile usage in case no swap/pagefile defined by @mathoudebine in #391
  • Add listing of SubHardware from LibreHardwareMonitor by @mathoudebine in #395
  • ⬆️ Update psutil requirement from ~=5.9.6 to ~=5.9.7 by @dependabot in #422
  • ⬆️ Bump actions/setup-python from 4 to 5 by @dependabot in #407
  • ⬆️ Bump actions/upload-artifact from 3 to 4 by @dependabot in #414
  • ⬆️ Bump github/codeql-action from 2 to 3 by @dependabot in #412
  • ⬆️ Update babel requirement from ~=2.13.1 to ~=2.14.0 by @dependabot in #411
  • Workaround for models failing to display their previous content after being turned off/on by @mathoudebine in #427
  • Theme Editor: only refresh theme if theme file still exists (fix for vim text editor) by @mathoudebine in #428
  • Fix: Custom stats not displayed if numeric value is zero by @mathoudebine in #444
  • Update error message when missing ImageTk dependency by @mathoudebine in #443
  • ⬆️ Update pillow requirement from ~=10.1.0 to ~=10.2.0 by @dependabot in #434
  • ⬆️ Update psutil requirement from ~=5.9.7 to ~=5.9.8 by @dependabot in #457
  • ⬆️ Bump actions/dependency-review-action from 3 to 4 by @dependabot in #454
  • Feature - plot graph by @hicwic in #371
  • Do not use psutil virtual_memory used/free: not reliable. Use total/available instead by @mathoudebine in #462
  • User proper conversion for Memory values (power of 1024 instead of power of 1000) by @mathoudebine in #463
  • ⬆️ Update sv-ttk requirement from ~=2.5.5 to ~=2.6.0 by @dependabot in #464
  • ⬆️ Update ruamel-yaml requirement from ~=0.18.5 to ~=0.18.6 by @dependabot in #466
  • @hicwic PR #371 by @mathoudebine in #461

New Contributors

Full Changelog: 3.3.4...3.4.0

Release 3.3.4 - Python 3.12 compatible

07 Nov 19:13
d44505f
Compare
Choose a tag to compare

What's Changed

  • Compatibility with Python 3.12 by @mathoudebine in #345
  • Update bash green theme with radial by @Rollbacke in #352
  • ⬆️ Update ruamel-yaml requirement from ~=0.17.32 to ~=0.17.33 by @dependabot in #342
  • ⬆️ Update babel requirement from ~=2.12.1 to ~=2.13.0 by @dependabot in #350
  • ⬆️ Update ruamel-yaml requirement from ~=0.17.33 to ~=0.17.35 by @dependabot in #351
  • ⬆️ Bump stefanzweifel/git-auto-commit-action from 4 to 5 by @dependabot in #355
  • ⬆️ Update pythonnet requirement from ~=3.0.2 to ~=3.0.3 by @dependabot in #357
  • ⬆️ Update psutil requirement from ~=5.9.5 to ~=5.9.6 by @dependabot in #360
  • ⬆️ Update pillow requirement from ~=10.0.1 to ~=10.1.0 by @dependabot in #361
  • ⬆️ Update ruamel-yaml requirement from ~=0.17.35 to ~=0.17.40 by @dependabot in #366
  • ⬆️ Update babel requirement from ~=2.13.0 to ~=2.13.1 by @dependabot in #372
  • ⬆️ Update ruamel-yaml requirement from ~=0.17.40 to ~=0.18.3 by @dependabot in #377
  • ⬆️ Update ruamel-yaml requirement from ~=0.18.3 to ~=0.18.4 by @dependabot in #380
  • ⬆️ Update ruamel-yaml requirement from ~=0.18.4 to ~=0.18.5 by @dependabot in #383

Full Changelog: 3.3.3...3.3.4