After a long period without visible updates on this repository, development activity on Ghini.desktop has resumed.

Background

While the main repository appeared inactive for several years, a long-term user (@cwyse) continued development independently on his public GitHub fork.

This work was not integrated into the main repository, but it was fully visible and accumulated a substantial amount of changes over time.

Trigger

While experimenting with a few AI-assisted commits to address issues in Ghini 3, I pushed two small changes to the main repository.

Shortly afterwards, Chris contacted the mailing list asking whether Ghini was still being maintained. At that point I had not yet reviewed the full extent of his work: a large body of changes in his fork, including broad updates across the codebase and dependencies.

At that stage the situation was effectively:

  • contributions existed, but were not integrated into the main development line
  • most dependencies had already been updated in the fork
  • the fork represented a substantially modernized version of the system

Integration approach

Given the size and interdependence of the changes, I chose to import the fork as a whole into the ghini-3.1-dev branch rather than attempt a commit-by-commit integration.

This provided a single coherent baseline from which to proceed with cleanup and stabilization.

Current work

The following weeks were spent stabilizing and cleaning up the integrated codebase:

  • publishing and enabling unit tests via GitHub Actions
  • resolving regressions introduced by the merge
  • reviewing and adapting to changes in SQLAlchemy behaviour introduced by the updated dependency set

Further work focused on earlier design assumptions that no longer held:

  • fixing session and editor-related inconsistencies
  • restoring core workflows (search, selection, editing)

Current status

Ghini.desktop is functional again for core usage paths, and active development has resumed on a unified codebase.

Ongoing work includes:

  • improving stability and test coverage
  • reducing legacy complexity
  • continuing incremental modernization

Development is active again and updates will continue to be published here.