Skip to content

Releases: ahitrin/SiebenApp

Alpha version 0.14

04 Jul 12:53

Choose a tag to compare

New/done features:

  • Move from Qt5 to Qt6 #450
  • Hide all subgoals of a blocked goal #449
  • New edge type: simple non-blocking relation #522
  • Rendering: tweak algorithms for better placement of edges #312 (unfinished)

Bug fixes:

  • Few minor defects for implemented features.

Refactoring/cleanup:

  • No specific tasks.

Other improvements:

  • Remove some unused code.
  • Add support for Python 3.12 on CI.
  • Update dependencies (thx to @dependabot):
    approvaltests-minimal (9.0.0 to 12.2.1),
    black (23.9.1 to 24.4.0),
    hypothesis (6.84.3 to 6.104.2),
    idna (transitive, from 3.6 to 3.7),
    mypy (1.5.1 to 1.10.1),
    pytest-cov (4.1.0 to 5.0.0),
    pytest (7.4.2 to 8.2.2),
    typing-extentions (4.7.1 to 4.12.2),
    urllib3 (transitive, from 2.0.5 to 2.2.2).
  • Add development dependency: pyupgrade.
  • Update blog dependencies (thx to @dependabot)

Compatibility breaks:

  • Migrate from PyQt5 to PySide6.
  • Migrate LICENSE from MIT to GPLv3.

Alpha version 0.13

17 Sep 18:05

Choose a tag to compare

New/done features:

  • Add confirmation on delete #419
  • Rendering: do not redraw all goals when it's possible #371
  • Add simple desktop file for XDG-compatible *nix distributions
  • Show goals ids in progress view

Bug fixes:

  • Warning messages do not appear on Qt UI #415 (appeared during #371)
  • Fix: could not reset autolink in CLI mode
  • Fix: do not mark closed blocker as switchable
  • Fix: remove false-negative property test result on insertions

Refactoring/cleanup:

  • Fix few style issues found by ruff linter
  • Add more type annotations for manage.py
  • Refresh code style with pyupgrade --py39-plus
  • Replace old-fashioned mypy annotation with inline ones

Other improvements:

  • Update dependencies (thx to @dependabot):
    approvaltests-minimal (7.3.0 to 9.0.0),
    black (22.10.0 to 23.9.1),
    hypothesis (6.60.0 to 6.84.3),
    mypy-extensions (0.4.3 to 1.0.0),
    mypy (0.991 to 1.5.1),
    pyqt5 (5.15.7 to 5.15.9),
    pytest-cov (4.0.0 to 4.1.0),
    pytest (7.2.0 to 7.4.2),
    radon (5.1.0 to 6.0.1),
    requests (transitive, 2.30.0 to 2.31.0),
    typing-extentions (4.4.0 to 4.7.1).
  • Update blog dependencies

Compatibility breaks:

  • Remove experimental DearPyGui app #372
  • Remove support for Python 3.8 #367

Alpha version 0.12

11 Dec 05:51

Choose a tag to compare

New/done features

  • Add goal attributes #344
  • Minor performance optimizations in rendering

Refactoring/cleanup

  • Return 'roots' field in Grapg.q() #342
  • Return 'select' field in Graph.q() #343
  • Get rid of separate tests for Python 3.10+
  • Split the most complex methods into smaller ones
  • Many small cleanups that improve overall readability
  • Place more mypy annotations

Other improvements

  • Setup CI for Python 3.11
  • Update dependencies (thx to @dependabot):
    approvaltests-minimal (7.1.0 to 7.3.0),
    certifi (2022.9.24 to 2022.12.7),
    dearpygui (1.7.1 to 1.8.0),
    hypothesis (6.56.1 to 6.60.0),
    mypy (0.982 to 0.991),
    pytest (7.1.3 to 7.2.0).

Compatibility breaks

  • Do not show fake goals in autolink, filter, zoom (with few exceptions)

Alpha version 0.11

15 Oct 14:42

Choose a tag to compare

New/done features

  • sieben-manage: merge goaltrees #179
  • sieben-manage: markdown export #311
  • sieben-manage: consider layers in dot and markdown export #310

Bug fixes

  • Split render tests for Python 3.(8,9) and Python 3.10+ (no more flaky tests)

Refactoring/cleanup

  • Get rid of legacy dict in Graph.q() #329
  • Split some large methods into smaller ones

Other improvements

  • Update dependencies (thx to @dependabot):
    approvaltests-minimal (5.11.0 to 7.1.0),
    black (22.3.0 to 22.10.0),
    dearpygui (1.6.2 to 1.7.1),
    hypothesis (6.46.11 to 6.56.1),
    mypy (0.961 to 0.982),
    py-spy (0.3.12 to 0.3.14),
    pyqt5 (5.15.6 to 5.15.7),
    pytest (7.1.2 to 7.1.3),
    pytest-cov (3.0.0 to 4.0.0)
  • Add radon dependency to measure cyclomatic complexity over code base
  • Increase test coverage (especially on sieben-manage)
  • Use more type annotations
  • Add a simple Makefile for typical Jekyll tasks

Compatibility breaks

  • approvaltests dependency was replaced with approvaltests-minimal.
  • Autolink: create child relation instead of blocker #181
  • Removed @with_key decorator

Alpha version 0.10

19 Jun 19:57

Choose a tag to compare

New/done features

  • Auto-link new subgoals to the given goal #181
  • Try alternatives to Qt (work still in progress) #255
  • Flow improvement: switch onto previously selected goal on closing instead of the random one
  • Add sane upper limit on columns size
  • sieben-manage extract: respect goaltree wrappers
  • clieben: separate children and blockers list
  • Verify goaltree on each load

ADR made

  • Do not use regex from user input 6.
  • Pass selected goals through all layers as is 7.

Bug fixes

  • Fix Jekyll dependencies and ignore work files (blog)
  • Performance: get rid of double q() call in Enumeration
  • sieben-manage must not fail when called without arguments
  • Remove old ignored dependency from dependabot settings
  • An extraction root must always have id 1 after sieben-manage extract

Refactoring/cleanup

  • Do not ignore received files in approval tests
  • Extract common goaltree wrappers into a single method
  • Slightly remove code duplication
  • Render: do not use 'col1' attribute anymore
  • Remove unneeded code

Other improvements

  • Update hotkeys help in a tutorial
  • Improve type annotations in render.py
  • Update examples/zoom pictures and text
  • Add sample DB to examples
  • Better notification on errors in properties tests
  • Add new target into Makefile: CI-like properties tests
  • Add new dependency: dearpygui (related to #255)
  • Update dependencies (thx to @dependabot):
    • approvaltests (3.3.2 to 5.2.0),
    • black (22.12b0 to 22.3.0),
    • hypothesis (6.34.1 to 6.46.11),
    • mypy (0.930 to 0.961),
    • py-spy (0.3.11 to 0.3.12),
    • pytest (6.2.5 to 7.1.2)

Compatibility breaks

  • Remove pytest-approvaltests dependency (not needed in new versions of approvaltests)

Alpha version 0.9

09 Jan 10:13

Choose a tag to compare

New/done deatures

  • Filter goals #136
  • Progress view #177
  • Sort goals in CLI mode #178
  • Adjust column count with +/- buttons
  • Do not show negative goal ids

Bug fixes

  • CLI: do not show links to pseudo-goals
  • Improve rendering speed (thx to py-spy!)

Refactoring/cleanup

  • Use Python 3.8+ syntax (walrus operator et al)
  • Use Python 3.10 on CI
  • Move rendering geometry logic from app.py to render.py and make it framework-agnostic, and cover it with tests
  • Use type aliases in render.py (WIP)
  • Move some common logic into the base Graph class in order to simplify all its children
  • Introduce @with_key decorator in order to simplify logic in all views

Other improvements

  • Cover CLI with tests
  • Add py-spy development dependency (for easier profiling)
  • Migrate from Travis CI to Github Actions
  • Update dependencies: pytest, pytest-cov, hypothesis, approvaltests, mypy, pyqt5, black (thx to @dependabot)
  • Update blog Jekyll dependencies
  • Update copyright @ 2022

Compatibility breaks

  • Drop support for Python 3.7 (BEWARE)
  • Get rid of pyilnt (mypy+black should be enough)

Alpha version 0.8

16 Jun 05:10

Choose a tag to compare

New/done features

  • Add "New file" dialog
  • Add support for Python 3.9
  • CLI mode #65
  • Toggle views independently of each other #67
  • sieben-manage: add "migrate" command

Bug fixes

  • More consistent behavior in zoom+close scenarios
  • Improve rendering performance

Other improvements

  • Renew Readme/screenshots
  • Move tutorial into separate file
  • Update runtime dependencies: pyqt5
  • Update dev dependencies: hypothesis, pylint, pytest, mypy, black (thx @dependabot!)
  • Add approval tests and pytest-cov to ensure better quality
  • Upgrade to GitHub-native Dependabot
  • Move from travis-ci.org to travis-ci.com
  • Many small improvements in code
  • Restore old ADR and add new ones

Compatibility breaks

  • Drop support for Python 3.6