3 Commits
Author SHA1 Message Date
tyler 4059a3ef93 v2 2026-09-10 13:56:07 -07:00
tyler 66242c1a5c changelog for hotfix 2026-09-10 13:55:58 -07:00
tyler 2a5e3f5606 fix plugins on macOS 2026-09-10 13:32:46 -07:00
4 changed files with 35 additions and 3 deletions
+6
View File
@@ -1,3 +1,9 @@
# Version 1.7.2
- Fixed the Linux build not starting if shared library files were missing from the host machine
- Fixed the macOS version not loading plugins due to not having an HTTPS certificate
# Version 1.7.1 # Version 1.7.1
- Added support for Plugins! Plugins can be downloaded from the official repository or from custom ones. Support for creating a plugin can be found on the wiki - Added support for Plugins! Plugins can be downloaded from the official repository or from custom ones. Support for creating a plugin can be found on the wiki
+19
View File
@@ -1,3 +1,22 @@
# Version 1.7.2
- Fixed the Linux build not starting if shared library files were missing from the host machine
- Fixed the macOS version not loading plugins due to not having an HTTPS certificate
# Version 1.7.1
- Added support for Plugins! Plugins can be downloaded from the official repository or from custom ones. Support for creating a plugin can be found on the wiki
- Files and folders can now be dragged and dropped into the loaded files area to be loaded instead of relying on the file menu
- Fixed an issue where shadow snirf files would attempt to be loaded by the application. Fixes [Issue 92](https://git.research.dezeeuw.ca/tyler/flares/issues/92)
- Fixed an issue where the application could not automatically update between versions 1.5.1 to 1.7.1. Sorry! 1.7.1 upgrading onward should be fixed and more robust
- Fixed an issue where some log files would not generate, or would generate in an incorrect location
- Fixed an issue where updating events in a snirf file would not release memory properly
- Fixed an issue where loading multiple files in quick succession could cause some of the files to never finish loading
- Fixed an issue where loading a saved project, pushing clear, and re-opening snirf files would cause them to appear incorrectly in the loaded files area
- Fixed a crucial bug where short channels were still being sent to the donor pool to assist in interpolating long channels from. Fixes [Issue 80](https://git.research.dezeeuw.ca/tyler/flares/issues/80)
# Version 1.7.0 # Version 1.7.0
- This is potentially a save-changing release due to adding more data into the save file. Please update your project files to ensure compatibility - This is potentially a save-changing release due to adding more data into the save file. Please update your project files to ensure compatibility
+9 -2
View File
@@ -9,6 +9,7 @@ License: GPL-3.0
# Built-in imports # Built-in imports
import io import io
import ssl
import sys import sys
import json import json
import shutil import shutil
@@ -20,6 +21,7 @@ from pathlib import Path
from typing import Any, cast from typing import Any, cast
# External library imports # External library imports
import certifi
from PySide6.QtCore import QObject, QUrl, Signal from PySide6.QtCore import QObject, QUrl, Signal
from PySide6.QtGui import QDesktopServices from PySide6.QtGui import QDesktopServices
from PySide6.QtWidgets import QMainWindow, QMenu, QMessageBox from PySide6.QtWidgets import QMainWindow, QMenu, QMessageBox
@@ -27,6 +29,11 @@ from PySide6.QtWidgets import QMainWindow, QMenu, QMessageBox
from src.shared.shareddata import APP_NAME, CURRENT_VERSION, PLATFORM_NAME from src.shared.shareddata import APP_NAME, CURRENT_VERSION, PLATFORM_NAME
def get_ssl_context() -> ssl.SSLContext:
"""Returns a cross-platform SSL context configured with certifi's CA bundle."""
return ssl.create_default_context(cafile=certifi.where())
def get_current_platform_id() -> str: def get_current_platform_id() -> str:
"""Returns standardized platform identifier (win_x64, darwin_arm64, etc.).""" """Returns standardized platform identifier (win_x64, darwin_arm64, etc.)."""
sys_name = sys.platform sys_name = sys.platform
@@ -282,7 +289,7 @@ class PluginManager(QObject):
url, url,
headers={"User-Agent": f"{APP_NAME}-PluginManager"}, headers={"User-Agent": f"{APP_NAME}-PluginManager"},
) )
with urllib.request.urlopen(req, timeout=5) as response: with urllib.request.urlopen(req, timeout=5, context=get_ssl_context()) as response:
if response.status == 200: if response.status == 200:
raw_data = response.read().decode("utf-8") raw_data = response.read().decode("utf-8")
data = json.loads(raw_data) data = json.loads(raw_data)
@@ -305,7 +312,7 @@ class PluginManager(QObject):
headers={"User-Agent": f"{APP_NAME}-PluginManager"}, headers={"User-Agent": f"{APP_NAME}-PluginManager"},
) )
with urllib.request.urlopen(req, timeout=15) as response: with urllib.request.urlopen(req, timeout=15, context=get_ssl_context()) as response:
if response.status != 200: if response.status != 200:
raise RuntimeError(f"Download failed with HTTP status code {response.status}") raise RuntimeError(f"Download failed with HTTP status code {response.status}")
+1 -1
View File
@@ -13,7 +13,7 @@ import sys
import platform import platform
CURRENT_VERSION = "1.7.1" CURRENT_VERSION = "1.7.2"
APP_NAME = "flares" APP_NAME = "flares"
APP_NAME_EXPANDED = "fNIRS Lightweight Analysis, Research, & Evaluation Suite" APP_NAME_EXPANDED = "fNIRS Lightweight Analysis, Research, & Evaluation Suite"
API_URL = f"https://git.research.dezeeuw.ca/api/v1/repos/tyler/{APP_NAME}/releases" API_URL = f"https://git.research.dezeeuw.ca/api/v1/repos/tyler/{APP_NAME}/releases"