Skip to content

v1.0.0

Choose a tag to compare

@github-actions github-actions released this 09 Jul 15:11

Added

  • Migration PyQt5 → PySide6 (qualified enums, QAction from QtGui, matplotlib backend_qtagg backend)
  • platform/ module: cross-platform abstraction for the application directory (dirs.py) and the single-instance lock (lock.py) using fcntl (Linux/macOS) and msvcrt (Windows)
  • Overlap detection between ranges during entry, with a QMessageBox warning
  • GitHub Actions CI: hooks job + build job (Linux, Windows, macOS) + release job on semver tag
  • pyproject.toml: hatchling build, dependencies, GPLv3 license, ruff configuration
  • environment.yml: reproducible conda environment (Python 3.12, PySide6, matplotlib, PyInstaller)
  • Makefile overhauled: help, venv, install, hooks, lint, format, run, dist, srcdist, bump-{patch,minor,major,set} targets, NOCONDA support
  • pbregisteractivity.spec: PyInstaller executable named pbregisteractivity-<version>-<os>-<arch>
  • tools/git_version.sh: version from the git tag or dev
  • tools/bump_version.py: bump/force version in pyproject.toml
  • tools/extract_changelog.py: extract the CHANGELOG entry for the GitHub release
  • .pre-commit-config.yaml: pre-commit-hooks + ruff-pre-commit hooks (check + format)
  • CODING.md: developer documentation (setup, build, quality)
  • Program version read from the installed package metadata (importlib.metadata)
  • resources.icon()/resources.pixmap() helper functions to build a QIcon/QPixmap from a bundled icon file, replacing repeated QIcon()/addFile() boilerplate across ui_*.py, mainwindow.py and __main__.py
  • help-about.svg icon set on the "About" action
  • src/pbregisteractivity/resources/LICENSE: icons and images are licensed under CC BY-NC-SA, distinct from the GPLv3 covering the rest of the code

Changed

  • __main__.py moved into the package (src/pbregisteractivity/) to support python -m pbregisteractivity
  • parameters.py: paths via pathlib.Path and platform.dirs.app_dir()
  • About window: Qt (qVersion()), PySide6 (PySide6.__version__) and Python (platform.python_version()) versions now correctly displayed; label renamed to lblPySide6Version
  • _Activities: load(filepath) separated from __init__, write() uses the stored path
  • handle_text_output (timeplots): removed the double pass in full mode
  • README.md refocused on the end user (installation, usage, data)
  • Removed .ui and .qrc files and all dependency on the pyside6-uic/pyside6-rcc compilers and Qt Designer; ui_*.py files are now written and versioned directly in src/pbregisteractivity/
  • Icons moved flat into src/pbregisteractivity/resources/ (no more 32x32/128x128 subfolders, which only made sense for Qt Designer), referenced by file path instead of the Qt resource system (:/images/...)
  • Application icon renamed obj_hal9000.pngpbregisteractivity.png
  • Icons renamed for consistency with common icon-set naming conventions (e.g. action_addadd, action_cal_daycalendar-day, arrow_rightright, info_warningwarning, tool_piechartpiechart)
  • All icons, except the pbregisteractivity.png application icon, converted from PNG to SVG
  • Charts window: toolbar button icons enlarged to 32px (previously 16px, the style default)
  • Charts window: no chart selected by default when the window opens; the duration pie chart is now selected and shown

Fixed

  • Typos: actvitiy_namesactivity_names, "incorrectre""incorrecte", "printipale""principale"
  • Missing icon in the taskbar and in the About box in the PyInstaller executable: app.setWindowIcon() applied on the QApplication