Skip to content

Latest commit

 

History

History
438 lines (311 loc) · 13.6 KB

CHANGELOG.adoc

File metadata and controls

438 lines (311 loc) · 13.6 KB

Changelog

Alpha version 0.14

2024-07-04

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

2023-09-17

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

2022-12-10

New/done features:

  • Add goal attributes #344

  • Minor performance optimizations in rendering

Bug fixes:

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

2022-10-15

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

2022-06-20

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

2022-01-09

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

  • Get rid of pylint (mypy + black should be enough)

Alpha version 0.8

2021-05-02

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

Alpha version 0.7

2020-08-11

New features:

  • Open another file in the same window (no Github ticket, LOL)

  • Restore export into .dot format #94 (in a new sieben-manage script)

Bug fixes:

  • Zoom: inconsistent behavior when close zoom root #98

  • Improve tests stability #92

  • Migration: drop empty table new_edges (crap left after #16)

Refactoring:

  • Replace Graph methods with commands #97 (reduce coupling between classes)

  • Extract common interface to the Goals class #68

  • Toggle views independently from each other (inner preparations) #67

Compatibility breaks:

  • Do not open sieben.db file by default when called without argument

  • Use f-strings (no more Python3.5)

Other improvements:

  • Move from requirements.txt to Pipenv

  • Update dependencies: PyQt5, hypothesis, pytest, mypy, pylint

  • Add black for formatting

  • Fix some Mypy warnings

Alpha version 0.6

2020-01-20

Bug fixes:

  • Previous selection may get lost on unzoom #85

Compatibility breaks:

  • Remove support for Python 3.5 #64

Other improvements:

  • Few improvements for Travis builds

  • Extract common interface to the Goals class (WIP) #68

  • Reorganize blog: move from branch to directory

  • Update dependencies: pytest, hypothesis, mypy, pyqt5 (thx to @dependabot)

Alpha version 0.5.1

2019-11-25

Bug fixes:

  • Fix #3: focus may be lost after unlink in zoomed mode

Other improvements:

  • Update Hypothesis and Pytest dependencies

Alpha version 0.5

2019-11-20

New features:

  • Use two link categories: parent-child vs bloker-blocked #16

  • Use nested zoom levels #17

Other improvements:

  • Add support for Python 3.7 & 3.8

  • Update all dependencies (thx to @dependabot)

  • More strict pylint checks

  • Add a lot of type annotations

  • Start to extract common interfaces (domain.py)

Compatibility breaks:

  • Remove unused 'swap goals' feature

  • API change: use 'q' for query method, not 'all'

Alpha version 0.4

2018-03-22

New features:

  • Use native rendering instead of Graphviz #5

  • Allow to cancel edit #8

  • Show error messages #11

  • Hotkeys help window #12

  • Show DB name in window title

  • Set path to DB file in app args

  • Use current goal name as default value when rename goals

Bug fixes:

  • Escape special symbols in goal names #9

  • Do not use fixed Python version in scripts

Other improvements:

  • Setup pylint code style check

  • Introduce DSL for simper goal tree creation in test

Compatibility breaks:

  • Drop Graphviz drawing engine #5

Alpha version 0.3

2017-06-12

New features:

  • Allow SiebenApp to be called from another dir

  • Redesing main window

  • New action: swap goals

  • New actions: zoom / unzoom #6

  • Use adaptive goal tree enumeration #7

Bug fixes:

  • Fix wrong column types in DB

  • Fix issue with complex delete

  • Fix bad link issue

  • Fix contact email

  • Exit when Graphviz is not found

  • Disallow to re-open goal atop of the closed one

  • Fix: goal deletion may cause failure on the next startup

  • Fix: migrations did not run for existing DB #2

  • Improve selection UX: avoid buffer overflow

Other improvements:

  • Add support for Python 3.6

  • Update PyQt version: 5.7→5.8.2

  • Use special Hypothesis profile for CI

Alpha version 0.2

2016-12-18

New features:

  • Use SqliteDB for save/load #2

  • Add several validation checks

Alpha version 0.1

2016-11-28

The very first public release. Very limited functionality, but already working.