Gaphor is the simple modeling tool

Overview
Gaphor logo

Gaphor

Build state Docs build state PyPI Downloads Gitter

Maintainability Test Coverage Sourcery Code style: black standard-readme compliant All Contributors

Gaphor is a UML and SysML modeling application written in Python. It is designed to be easy to use, while still being powerful. Gaphor implements a fully-compliant UML 2 data model, so it is much more than a picture drawing tool. You can use Gaphor to quickly visualize different aspects of a system as well as create complete, highly complex models.




πŸ“‘ Table of Contents

πŸ“œ Background

Gaphor is a UML and SysML modeling application written in Python. We designed it to be easy to use, while still being powerful. Gaphor implements a fully-compliant UML 2 data model, so it is much more than a picture drawing tool. You can use Gaphor to quickly visualize different aspects of a system as well as create complete, highly complex models.

Gaphor is designed around the following principles:

  • Simplicity: The application should be easy to use. Only some basic knowledge of UML or SysML is required.
  • Consistency: UML is a graphical modeling language, so all modeling is done in a diagram.
  • Workability: The application should not bother the user every time they do something non-UML-ish.

Gaphor is a GUI application that is built on GTK and Cairo. PyGObject and PyCairo provide Python bindings for those libraries. Gaphas provides the foundational diagramming functionality.

πŸ’Ύ Install

You can find the latest version on the gaphor.org website. Gaphor ships installers for macOS and Windows. Those can be found there. The Python package is also available on PyPI.

All releases are available on GitHub.

If you want to start developing on Gaphor, have a look at the Installation section of our Tech docs.

πŸ”¦ Usage

Creating models

Once Gaphor is started a new empty model is automatically created. The main diagram is already open in the Diagram section.

Select an element you want to place, for example a Class, by clicking on the icon in the Toolbox and click on the diagram. This will place a new Class item instance on the diagram and add a new Class to the model (it shows up in the Navigation). The selected tool will reset itself to the Pointer tool if the option ''Diagram -> Reset tool'' is selected.

Some elements are not directly visible. The section in the toolbox is collapsed and needs to be clicked first to reveal its contents.

Gaphor only has one diagram type, and it does not enforce which elements should be placed on a diagram.

Create a New Diagram

  1. Use the Navigation to select an element that can contain a diagram (a Package or Profile)
  2. Select Diagram, and New diagram. A new diagram is created.

Copy and Paste

Items in a diagram can be copied and pasted in the same diagram or other diagrams. Pasting places an existing item in the diagram, but the item itself is not duplicated. In other words, if you paste a Class object in a diagram, the Class will be added to the diagram, but there will be no new Class in the Navigation.

Drag and Drop

Adding an existing element to a diagram is done by dragging the element from the Navigation section onto a diagram. Diagrams and attribute/operations of a Class show up in the Navigation but can not be added to a diagram.

Elements can also be dragged within the Navigation in order to rearrange them in to different packages.

❀️ Contributing

Thanks goes to these wonderful people (emoji key):


Adam Bjurstrom

πŸ›

Adam Boduch

πŸ’» ⚠️ πŸ›

Alexander Wilms

πŸ›

Alexis Howells

πŸ“–

Arjan Molenaar

πŸ’» πŸ› πŸ“– πŸ‘€ πŸ’¬ πŸ› πŸ”Œ ⚠️

Blippost

πŸ€”

Brock Tibert

πŸ›

Christian Hoff

πŸ’»

Dan Yeaw

πŸ’» ⚠️ πŸ“– πŸ“¦ πŸš‡ πŸ› πŸ’¬

DimShadoWWW

πŸ›

Encolpe DEGOUTE

🌍

Enno GrΓΆper

πŸ’»

Enno Zickler

πŸ›

Jan

πŸ›

JensPfeifle

πŸ“–

Jordi Mallach

🌍

Jorge DLG

πŸ›

Kapil Thangavelu

πŸ›

Mikhail Bessonov

πŸ›

Nedko Arnaudov

πŸ›

Rafael MuΓ±oz CΓ‘rdenas

πŸ›

Rui Maciel

πŸ€”

Steven Liu

πŸ›

Tiemen Schuijbroek

πŸ› πŸ’»

Tobias Bernard

🎨

Tony

🚧

Xander982

πŸ–‹ πŸ›

Yauhen Kirylau

πŸ“– πŸ“¦ πŸ€” πŸ›

albanobattistella

🌍

freddii

πŸ€” πŸ“–

gavr123456789

πŸ€”

kellenmoura

πŸ›

melisdogan

πŸ“–

samirodj

πŸ›

seryafarma

πŸ“–

tronta

πŸ›

wrobell

πŸ’» ⚠️ πŸ› 🎨

This project follows the all-contributors specification. Contributions of any kind are welcome!

  1. Check for open issues or open a fresh issue to start a discussion around a feature idea or a bug. There is a first-timers-only tag for issues that should be ideal for people who are not very familiar with the codebase yet.
  2. Fork the repository on GitHub to start making your changes to the master branch (or branch off of it).
  3. Write a test which shows that the bug was fixed or that the feature works as expected.
  4. Send a pull request and bug the maintainers until it gets merged and published. πŸ˜„

See the contributing file!

©️ License

Copyright (C) Arjan Molenaar and Dan Yeaw

Licensed under the Apache License v2.

Summary: You can do what you like with Gaphor, as long as you include the required notices. This permissive license contains a patent license from the contributors of the code.

Comments
  • Ability to set BG/FG colors for a node/as a colorscheme

    Ability to set BG/FG colors for a node/as a colorscheme

    I'm submitting a...

    • [ ] Bug report
    • [x] Feature request
    • [ ] Documentation issue or request

    Current behavior

    Currently only text, size and position of the node could be changed.

    Expected behavior

    Also add possibility to set colors of the nodes.

    feature 
    opened by actionless 34
  • Left-align sidebar headers

    Left-align sidebar headers

    Describe the bug The sidebar headers are centered, while the content of each category is left-aligned. This results in a pretty weird layout:

    image

    I think left-aligning the headers would make the layout feel a lot less disjointed and easier to scan.

    OS

    • [x] Linux (Fedora 33)

    Version Version of Gaphor: 2.0.1 from Flathub

    first-timers-only 
    opened by bertob 26
  • Add Support for SysML

    Add Support for SysML

    The Systems Modeling Language (SysML) is a general-purpose modeling language for systems engineering applications. UML is focused on designing software, SysML allows you to design a complex system like an Autonomous Vehicle, Mars Rover, or Medical Device. It allows you to connect the behavior, structure, and requirements of a system through multiple abstraction levels. This is why I am interested in Gaphor, having an open source and simple modeling tool would be a huge boost to teaching engineers how to design complex systems. SysML is a subset and extension of UML.

    High Level Changes

    There are changes to the diagrams, including adding additional diagrams:

    1. Requirements Diagram
    2. Parametric Diagram
    • This is a low impact for Gaphor since we only have 1 diagram type.

    Structure

    Object, Profile, Deployment, and Component diagrams are removed.

    • For Gaphor, the Component and Profile portions of the Palette could be hidden / removed

    Behavior

    Communication, Interaction Overview, and Timing diagrams are removed. Protocol state machines are removed (behavior state machines remain).

    • For Gaphor, what we support for Interactions could be renamed Sequence

    High Priority Changes

    1. Blocks (Class)
    • Associations have no arrowheads on both ends, which is the default we display them as well
    1. Internal Blocks
    • 4 properties of Blocks, but only parts, references are high priority
    • Proxy ports and flow specifications
    1. Requirement (Class)
    • DeriveReqt, Verify, Satisfy (Trace)
    1. Change Palettes
    • Hide Classes, Components, and Profiles Palettes
    • Rename Interactions to Sequence
    • Add Block, Internal Block, and Requirements Palettes

    Medium Priority Changes

    1. Blocks – value properties and constraint properties
    2. Allocation
    3. Do we need a way to make an Activity (defining reusable behavior of an Action)?

    Low Priority Changes:

    1. Parametric Diagram - I'm not a big fan of the usefulness of modeling parametrics
    2. Model Elements support
    • Conform (dependency)
    • View (package)
    • Viewpoint (Class)
    • Rationale and Problem (Comments)
    1. ValueType
    2. QuantityKind / Unit
    3. Block value properties and constraint properties
    4. Activity extensions
    • Control as Data
    • Continuous Systems
    • Probability
    1. Copy (Trace)
    2. Constraint Blocks

    I'm submitting a...

    • [ ] Bug report
    • [X] Feature request
    • [ ] Documentation issue or request
    feature 
    opened by danyeaw 26
  • Support For ItemFlow (SysML) and InformationFlow (UML)

    Support For ItemFlow (SysML) and InformationFlow (UML)

    Is your feature request related to a problem? Please describe. In order to finish support for STPA, we need support for adding an ItemFlow to a Connector. This will also improve support for SysML and UML.

    For example in SysML: image

    The ItemFlow is represented by the black arrowhead on the connector. Torque is the itemProperty that belongs to the flow, and it is typed by a ValueType, Block, or Signal.

    These are used in STPA to represent the flows in the control flow diagrams: image

    ItemFlows are also allowed on associations, for example creating a Context Diagram using a Block Definition Diagram.

    UML also supports a similar diagram element called an InformationFlow with InformationItems representing the conveyed information that is flowing: image

    In addition to ValueType, Block, and Signal being allowed to represent the type of flow above, UML also supports other Classifiers like DataTypes and Signals.

    Describe the solution you'd like Add support for Signal elements with SysML and UML as well as InformationItems.

    Drag a Block, Signal, DataType, ValueType, or InformationItem on top of a Connector and it creates an ItemFlow. Ideally dragging additional elements should be supported.

    On the propertypage you can remove ItemFlows / InformationItems and change the flow direction.

    Describe alternatives you've considered Avoid usage of flows.

    Additional context Add any other context or screenshots about the feature request here.

    feature 
    opened by danyeaw 25
  • Mac Gaphor 2.0 failing to open Windows Gaphor 1.2.0rc2 .gaphor file

    Mac Gaphor 2.0 failing to open Windows Gaphor 1.2.0rc2 .gaphor file

    Screen Shot 2020-08-01 at 7 05 27 PM

    I'm submitting a...

    • [X] Bug report
    • [ ] Feature request
    • [ ] Documentation issue or request

    Current behavior

    I just tried to open an .gaphor file from a Windows install prior to today in a fresh Gaphor 2.0 install on a Mac and Gaphor coughed at that. "Error while loading model from file Technical details: <class 'gaphor.storage.parser.ParserException'> Invalid XML: tag not known (state=0)"

    Expected behavior

    Open the .gaphor file without errors!

    Minimal reproduction of the problem with instructions

    Try saving a .gaphor file on a Windows Gaphor 1.2 and opening it in Mac Gaphor 2.0

    If this is a feature request please fill out the following:

    
    As a (user, developer, contributor, etc):
    I want:
    So that:
    
    

    System Information

    OS:

    • [ ] Linux (Please put in notes the specific distro)
    • [X] MacOS
    • [ ] Windows 10
    • [ ] Windows 7

    NOTES:

    bug 
    opened by Xander982 23
  • Create a Wikipedia Page for Gaphor

    Create a Wikipedia Page for Gaphor

    I'm submitting a...

    • [ ] Bug report
    • [ ] Feature request
    • [X] Documentation issue or request

    Gaphor isn't found on Wikipedia, and is absent in the list of UML tools. It would be great if it was represented. Creating a wiki page is some work, see this overview.

    opened by danyeaw 23
  • Can't open diagram with a stalled(?) comment node

    Can't open diagram with a stalled(?) comment node

    I'm submitting a...

    • [x] Bug report
    • [ ] Feature request
    • [ ] Documentation issue or request

    Current behavior

    Loading stucks with the exception pritned:

    gaphor.storage.storage INFO Loading file deployment_diagram.gaphor
    gaphor.storage.parser ERROR File corrupted, remove element 8cef44be-7376-11ea-80af-e4f89cae6ece and try again
    NoneType: None
    gaphor.storage.storage INFO Read 140 elements from file
    gaphor.storage.storage WARNING file b'/home/lie/projects/test/deployment_diagram.gaphor' could not be loaded (module 'gaphor.UML' has no attribute 'CommentItem')
    Traceback (most recent call last):
      File "/usr/lib/python3.8/site-packages/gaphor/misc/gidlethread.py", line 127, in __generator_executer
        result = next(self._generator)
      File "/usr/lib/python3.8/site-packages/gaphor/storage/storage.py", line 311, in load_generator
        for percentage in load_elements_generator(
      File "/usr/lib/python3.8/site-packages/gaphor/storage/storage.py", line 182, in load_elements_generator
        yield from _load_elements_and_canvasitems(
      File "/usr/lib/python3.8/site-packages/gaphor/storage/storage.py", line 222, in _load_elements_and_canvasitems
        cls = getattr(UML, elem.type)
    AttributeError: module 'gaphor.UML' has no attribute 'CommentItem'
    

    Expected behavior

    Minimal reproduction of the problem with instructions

    1. create a diagram with comment element (probably it was due to adding and then removing the comment node, see example files attached in one of the comments below)
    2. save it
    3. close the Gaphor app
    4. reopen the diagram again

    System Information

    OS:

    • [x] Linux (Please put in notes the specific distro)
    • [ ] MacOS
    • [ ] Windows 10
    • [ ] Windows 7
    bug 
    opened by actionless 20
  • Usability: Hide stereotype options in the element editor.

    Usability: Hide stereotype options in the element editor.

    When editing a class element, it might make sense to hide the stereotype section since it isn't implemented. At least it appears that way. It may be viewed as defective by some users. My first impression was that I was missing a step somewhere.

    opened by adamboduch 19
  • Popups/tooltips for buttons

    Popups/tooltips for buttons

    Describe the bug

    Should all buttons have popups/tooltips?

    To Reproduce

    Steps to reproduce the behavior:

    1. Hover above the button that looks like a Page with a spanner.
    2. No popup saying what that button does.
    3. Should the down-arrow to the right of Open have a popup?
    4. Should the button with 3 horizontal lines (Menu) have a popup?

    Other buttons like Undo and Redo have popups.

    Expected behavior

    All buttons should have a popup to indicate what they do. This can also help with screenreaders for people who have sight-impairment.

    Screenshots

    Missing popup/tooltip

    OS

    Linux Mint 20.2 Cinnamon

    Version

    Version of Gaphor: 2.6.2

    Additional information

    Help with screen-readers

    Thank you

    bug 
    opened by ovari 18
  • Separate decision and merge nodes

    Separate decision and merge nodes

    Decision or merge node works differently. There shall be a support to set whether a particular node is either a decision, or a merge node. They shall be rendered differently, if possible.

    feature 
    opened by sz332 17
  • Improve Packaging and Sign / Notarize macOS App

    Improve Packaging and Sign / Notarize macOS App

    • Makes packaging more common between Windows and macOS using PyInstaller.
    • Signs and notarizes the .app and .dmg.

    PR Checklist

    Please check if your PR fulfills the following requirements:

    PR Type

    What kind of change does this PR introduce?

    • [ ] Bugfix
    • [X] Feature
    • [ ] Code style update (formatting, local variables)
    • [ ] Refactoring (no functional changes, no api changes)
    • [ ] Documentation content changes

    What is the current behavior?

    macOS apps aren't signed and create warnings that the app isn't trusted

    Issue Number: #395

    What is the new behavior?

    macOS app is signed an notarized using an Apple Developer account.

    Does this PR introduce a breaking change?

    • [ ] Yes
    • [X] No

    Other information

    feature 
    opened by danyeaw 16
  • Update dependencies, make translation group optional

    Update dependencies, make translation group optional

    This PR updates a few of the dependencies and makes the translation dependencies optional since they aren't needed for running tests.

    PR Checklist

    Please check if your PR fulfills the following requirements:

    PR Type

    What kind of change does this PR introduce?

    • [ ] Bug fix
    • [ ] Feature
    • [X] Chore (refactoring, formatting, local variables, other cleanup)
    • [ ] Documentation content changes

    What is the current behavior?

    Issue Number: N/A

    chore 
    opened by danyeaw 0
  • Add CSS function completion provider

    Add CSS function completion provider

    PR Checklist

    Please check if your PR fulfills the following requirements:

    PR Type

    What kind of change does this PR introduce?

    • [ ] Bug fix
    • [x] Feature
    • [ ] Chore (refactoring, formatting, local variables, other cleanup)
    • [ ] Documentation content changes

    What is the current behavior?

    Issue Number: N/A

    What is the new behavior?

    Does this PR introduce a breaking change?

    • [ ] Yes
    • [x] No

    Other information

    I accidentally messed up https://github.com/gaphor/gaphor/pull/1951 when I tried to rebase it around the changes in the main branch.

    python 
    opened by vanillajonathan 1
  • Manually resolve merge conflicts

    Manually resolve merge conflicts

    PR Type

    What kind of change does this PR introduce?

    • [ ] Bug fix
    • [x] Feature
    • [ ] Chore (refactoring, formatting, local variables, other cleanup)
    • [ ] Documentation content changes

    What is the current behavior?

    When a merge conflict happens, you're in trouble.

    Issue Number: #388

    What is the new behavior?

    From the merge conflict a change set is distilled. This change set can be applied to the model by the user. This allows for fine grained control over the changes made to the "resolved" model.

    Does this PR introduce a breaking change?

    • [ ] Yes
    • [ ] No

    Other information

    python 
    opened by amolenaar 1
  • Make operations visible on Blocks

    Make operations visible on Blocks

    This PR enables operations on Blocks so that they are visible on the Block shape and in the Property Editor.

    PR Checklist

    Please check if your PR fulfills the following requirements:

    PR Type

    What kind of change does this PR introduce?

    • [ ] Bug fix
    • [X] Feature
    • [ ] Chore (refactoring, formatting, local variables, other cleanup)
    • [ ] Documentation content changes

    What is the current behavior?

    Operations and Attributes are hidden on Blocks

    Issue Number: #1953

    What is the new behavior?

    Operations and Attributes are visible on Blocks

    Does this PR introduce a breaking change?

    • [ ] Yes
    • [X] No

    Other information

    feature python 
    opened by danyeaw 1
  • Tutorial: Coffee machine

    Tutorial: Coffee machine

    PR Type

    What kind of change does this PR introduce?

    • [ ] Bug fix
    • [ ] Feature
    • [ ] Chore (refactoring, formatting, local variables, other cleanup)
    • [x] Documentation content changes

    What is the new behavior?

    Provide a simple example: develop a coffee machine.

    Goals:

    • Work with some different types of diagrams (static/dynamic)
    • Reap some benefits from modeling: component interfaces, risk analysis
    documentation 
    opened by amolenaar 0
  • Don't show tab bar if there's only one tab

    Don't show tab bar if there's only one tab

    We generally don't show tab bars when there's a single one (except in Builder, but that's for reasons which don't really apply to other apps, i.e. that it has an in-app tiling system). The current status quo is not great, because there's a useless second bar at all times, which just says "main" when you create a new model:

    image

    As far as I understood, the bar was enabled to make it clearer which diagram you're currently working on, so we'd need to find an alternative place to show the title. Would the window title in the headerbar be an option here, e.g. instead of "Gaphor" in the example above?

    Independently from that we should find a better default name than "main". Would something like "Diagram 1" or "Main Diagram" work?

    Followup from #1926

    feature 
    opened by bertob 2
Releases(2.14.3-beta)
  • 2.14.3-beta(Jan 2, 2023)

    Changes

    πŸš€ Features

    • Resolve (git) merge conflict: choose which branch to load @amolenaar (#1845)
    • Use native file chooser on Windows @oscfdezdz (#1968)

    πŸ› Bug Fixes

    • Fix PyInstaller versionfile parse error with pre-release versions @danyeaw (#1978)
    • Fix Translations on Windows, macOS, and AppImage @danyeaw (#1973)
    • Publish to PyPI after all other jobs have passed @amolenaar (#1967)

    🧰 Maintenance

    • Update to gvsbuild 2023.1.0 @danyeaw (#1981)
    • Fix PEP597 Encoding Warnings @danyeaw (#1971)
    • Update docker image to 2023.1.0 @danyeaw (#1983)

    🌍 Translation

    • Russian translation updates @weblate (#1980)
    • Turkish, Swedish, and Russian translation updates @weblate (#1977)
    • Add Turkish and update French and Russian translations @weblate (#1972)

    Thanks again to @BrainKicker, @Ercalvez, @amolenaar, @danyeaw, @oscfdezdz, @sabriunal, and @vanillajonathan! πŸŽ‰

    Source code(tar.gz)
    Source code(zip)
    Gaphor-2.14.3-beta-x86_64.AppImage(52.48 MB)
    gaphor-2.14.3-beta-installer.exe(24.73 MB)
    gaphor-2.14.3-beta-portable.exe(24.17 MB)
    Gaphor-2.14.3-beta.dmg(35.22 MB)
  • 2.14.1(Dec 28, 2022)

    Changes

    πŸš€ Features

    • Add autocompletion for CSS properties @vanillajonathan (#1947)

    πŸ› Bug Fixes

    • Fix coredumps on Flatpak @amolenaar (#1964)
    • Hide New Package menu unless package selected @danyeaw (#1959)
    • Fix macos build @amolenaar (#1957)

    🧰 Maintenance

    • Windows CI: fix cannot create symlink error @danyeaw (#1963)

    πŸ“ Documentation

    • Update Getting Started pages @amolenaar (#1956)

    🌍 Translation

    • Spanish translation update @weblate (#1965)

    Thanks again to @amolenaar, @danyeaw, @oscfdezdz, and @vanillajonathan! πŸŽ‰

    Source code(tar.gz)
    Source code(zip)
    Gaphor-2.14.1-x86_64.AppImage(57.36 MB)
    gaphor-2.14.1-installer.exe(24.66 MB)
    gaphor-2.14.1-portable.exe(24.10 MB)
  • 2.14.0(Dec 24, 2022)

    Changes

    πŸš€ Features

    • Use system fonts by default for diagrams @amolenaar (#1922)
    • macOS: cursor shortcuts for text entry widgets @amolenaar (#1911)
    • Make sequence diagram messages horizontal by default @amolenaar (#1895)
    • Simplify the greeter and provide more info to new users @amolenaar (#1892)
    • Add custom style sheet language @amolenaar (#1896)
    • Move Control Flow line style to CSS @amolenaar (#1913)

    πŸ› Bug Fixes

    • Fix loading error @amolenaar (#1942)
    • Move Control Flow line style to CSS @amolenaar (#1913)
    • Do not auto-layout sequence diagrams @amolenaar (#1906)
    • Support non-standard Sphinx directory structures @amolenaar (#1905)
    • Toolbox style updates @amolenaar (#1886)
    • Add tooltips to the application header icons @amolenaar (#1884)

    🧰 Maintenance

    • Use new actions/cache/(save|restore) @amolenaar (#1946)
    • Remove querymixin from modeling lists @amolenaar (#1941)
    • Upgrade pycairo @amolenaar (#1931)
    • New handle style @amolenaar (#1925)
    • Update poetry to version 1.3.1 @danyeaw (#1923)
    • Use pip as Python module @amolenaar (#1919)
    • Update gvsbuild to upgrade cairo in Windows @danyeaw (#1907)
    • Fix macOS shortcuts on GTK 4 @amolenaar (#1901)
    • Improve Windows build reliability by limiting cores to 2 @danyeaw (#1904)
    • Standard keyboard shortcuts @amolenaar (#1903)
    • Load template as part of self-test @amolenaar (#1894)
    • Update PyInstaller to version 5.7.0 @danyeaw (#1898)
    • Update gvsbuild to upgrade cairo in Windows @danyeaw (#1907)
    • Improve Windows build reliability by limiting cores to 2 @danyeaw (#1904)

    πŸ“ Documentation

    • Switch doc style to Furo @amolenaar (#1935)
    • Add hint for button to edit CSS in style_sheet.md @Holzhauer (#1883)

    🌍 Translation

    • Croatian and Finnish translation updates @weblate (#1934)
    • Hungarian translation updates @weblate (#1914)
    • Hungarian and Czech translation updates @weblate (#1889)
    • Update Swedish translation @vanillajonathan (#1885)
    • Hungarian translation update @weblate (#1878)

    Thanks again to @Holzhauer, @amolenaar, @danyeaw, @milotype, @oscfdezdz, @ovari, @vanillajonathan, @vikdevelop, Hannes Fritz, and Jiri GrΓΆnroos! πŸŽ‰

    Source code(tar.gz)
    Source code(zip)
    Gaphor-2.14.0-x86_64.AppImage(57.34 MB)
    gaphor-2.14.0-installer.exe(24.65 MB)
    gaphor-2.14.0-portable.exe(24.09 MB)
    Gaphor-2.14.0.dmg(35.09 MB)
  • 2.13.0(Nov 28, 2022)

    Changes

    πŸš€ Features

    • Build a development Flatpak @amolenaar (#1844)
    • Disable Recent files if no recent files are present @amolenaar (#1842)
    • Support Delete to delete entries from tree view @amolenaar (#1838)
    • Adwaita-based tab view for GTK4 @amolenaar (#1837)
    • Update Message Dialogs to libadwaita @danyeaw (#1813)
    • Package Graphviz with PyInstaller builds @amolenaar (#1797)
    • Diagram auto-layout with Graphviz @amolenaar (#1653)
    • Upgrade about dialog to libadwaita with GTK4 @danyeaw (#1785)

    πŸ› Bug Fixes

    • Fix file not found for about and keyboard shortcut dialogs @danyeaw (#1877)
    • Ensure both sides of a Gtk.Paned are always visible @amolenaar (#1874)
    • Added extra port below text for actor @amolenaar (#1855)
    • Update folded interface shape when connecting dependency @can-lehmann (#1850)
    • Fix zoom with mouse @amolenaar (#1815)
    • Fix key modifiers for delete element shortcut @amolenaar (#1794)

    🧰 Maintenance

    • Auto add skip-changelog label for pre-commit.ci and all-contributors @danyeaw (#1875)
    • Add some architectural rules to Gaphor @amolenaar (#1871)
    • Update AppImage build to GTK4 and Python 3.11 @danyeaw (#1857)
    • Python 3.11 updates @amolenaar (#1869)
    • macOS build update @amolenaar (#1864)
    • Update Windows build to use Python 3.11 @danyeaw (#1861)
    • Move mypy.ini to pyproject.toml @danyeaw (#1862)
    • Interact with models without GTK @amolenaar (#1851)
    • Storage module maintenance @amolenaar (#1848)
    • Add documentation on how to interact with Gaphor programmatically @amolenaar (#1820)
    • Pydot cleanup @amolenaar (#1833)
    • Pytest now uses importlib @amolenaar (#1825)
    • Replace deprecated set-output commands @danyeaw (#1818)
    • Use entry points for pyinstaller builds @amolenaar (#1823)
    • Remove lint tooling handled by pre-commit from pyproject.toml @amolenaar (#1822)
    • Diagram auto-layout with Graphviz @amolenaar (#1653)
    • Update gvsbuild to 2022.4.1 to fix zlib error @danyeaw (#1809)
    • Build Windows installers with GTK4 @danyeaw (#1787)
    • Fix typos @kianmeng (#1799)
    • Update gvsbuild to version 2022.4.0 @danyeaw (#1792)
    • Update poetry to version 1.2.2 @danyeaw (#1791)

    🌍 Translation

    • Update Swedish translation @vanillajonathan (#1873)
    • Finnish translation updates @weblate (#1870)
    • Czech translation updates @weblate (#1824)
    • Translations updates @weblate (#1811)
    • Add Slovenian Translation @weblate (#1804)

    Thanks again to @amolenaar, @can-lehmann, @danyeaw, @kianmeng, @milotype, @oscfdezdz, @ovari, @perovsek, @vanillajonathan, and Jiri GrΓΆnroos! πŸŽ‰

    Source code(tar.gz)
    Source code(zip)
    Gaphor-2.13.0-x86_64.AppImage(57.28 MB)
    gaphor-2.13.0-installer.exe(25.49 MB)
    gaphor-2.13.0-portable.exe(24.62 MB)
    Gaphor-2.13.0.dmg(35.04 MB)
  • 2.12.1(Oct 8, 2022)

    Changes

    πŸ› Bug Fixes

    • Fix/move connected handle @amolenaar (#1778)
    • Fix error when disconnecting line with multiple segments @amolenaar (#1763)

    🧰 Maintenance

    • Fail CI build if Windows certificate signing fails @danyeaw (#1782)
    • Sourcery and Grammar Cleanup @danyeaw (#1772)
    • Update RAAML diagram numbers @danyeaw (#1774)
    • namespace.py: Actually set properties for rectangle @mathiascode (#1771)
    • Add skip-changelog label to dependabot PRs @danyeaw (#1765)
    • Update Shortcuts window @amolenaar (#1757)

    Thanks again to @amolenaar, @danyeaw, and @mathiascode! πŸŽ‰

    Source code(tar.gz)
    Source code(zip)
    Gaphor-2.12.1-x86_64.AppImage(59.94 MB)
    gaphor-2.12.1-installer.exe(25.41 MB)
    gaphor-2.12.1-portable.exe(24.55 MB)
    Gaphor-2.12.1.dmg(41.50 MB)
  • 2.12.0(Sep 26, 2022)

    Changes

    πŸš€ Features

    • Remove connected items from the diagram @amolenaar (#1724)
    • Support Generic syntax @amolenaar (#1722)
    • Allow sequence diagram messages on lifeline body @amolenaar (#1715)
    • Full tree search (GTK4) @amolenaar (#1698)
    • Inherited stereotype part 2: attributes from super type @amolenaar (#1709)
    • Assign activities to classifiers @amolenaar (#1687)
    • State machines and regions @amolenaar (#1666)
    • Resize of partition keeps actions in the same swimlane @amolenaar (#1668)
    • State diagram: support all pseudostates @amolenaar (#1662)
    • Add Codespaces Configuration @danyeaw (#1660)
    • Support stereotypes inherited from other stereotypes @amolenaar (#1630)

    πŸ› Bug Fixes

    • Prevent deleting an element in a diagram also deleting the diagram itself @amolenaar (#1751)
    • Fix invalid matrix error when creating use case @amolenaar (#1752)
    • Fix model corruption when connecting a Block to an Actor @amolenaar (#1705)
    • Retain save folder - use Path @amolenaar (#1680)
    • Fix "rename" from popover @amolenaar (#1633)
    • Fix stereotype unapplication @amolenaar (#1644)
    • Fix color scheme warning with libadwaita @danyeaw (#1629)

    🧰 Maintenance

    • Update gvsbuild to version 2022.3.0 @danyeaw (#1739)
    • Sourcery Refactorings @danyeaw (#1738)
    • Update poetry to version 1.2.1 @danyeaw (#1737)
    • macos: Disable DnD for GTK4 @amolenaar (#1736)
    • Update poetry to version 1.2.0 @danyeaw (#1711)
    • Make model properties strict @amolenaar (#1692)
    • Fix Instant editor focus on GTK4 @amolenaar (#1697)
    • Update poetry to version 1.1.15 @danyeaw (#1691)
    • Fix event-controller warning on GTK4 @amolenaar (#1689)
    • Update Python and Ubuntu distro for readthedocs @danyeaw (#1682)
    • Add copy button for code blocks in docs @amolenaar (#1678)
    • Setup Windows dev environment using pipx @danyeaw (#1671)
    • Replace branch name with file location for PR labeling @danyeaw (#1663)
    • Install gvsbuild with pip @danyeaw (#1664)
    • Update PyInstaller to version 5.3 @danyeaw (#1646)
    • Make the GTK Version Configurable with PyInstaller @danyeaw (#1626)
    • Replace tomli with tomllib for Python 3.11+ @danyeaw (#1625)
    • Move Windows Installation to C:\Program Files @danyeaw (#1602)
    • Simplify hooks for freetype2 compatibility in Windows @danyeaw (#1624)
    • Make GTK4 the Default Version and Enable Adwaita @danyeaw (#1604)
    • Update dependencies @danyeaw (#1605)
    • "Full build" pipeline for PR's @amolenaar (#1589)

    🌍 Translation

    • More Hungarian translation updates @weblate (#1734)
    • Update Croatian translation @weblate (#1726)
    • Croatian translation updates @weblate (#1723)
    • Update Finnish, Spanish, German, and Czech translations @weblate (#1701)
    • Chinese (Simplified) translation updates @weblate (#1693)
    • Dutch translation updates @weblate (#1688)
    • Spanish translation update @weblate (#1685)
    • Croation translation update @weblate (#1636)
    • More Czech translation updates @weblate (#1620)
    • Update Czech translation @weblate (#1619)
    • Update Czech translation @weblate (#1618)
    • Add Czech translation @weblate (#1615)

    Thanks again to @Anonynonymouse, @amolenaar, @danyeaw, @milotype, @oscfdezdz, @ovari, @pre-commit-ci, @pre-commit-ci[bot], @sourcery-ai, @sourcery-ai[bot], @vikdevelop, @weblate, Hugel, Jiri GrΓΆnroos and Sourcery AI! πŸŽ‰

    Source code(tar.gz)
    Source code(zip)
    Gaphor-2.12.0-x86_64.AppImage(59.88 MB)
    gaphor-2.12.0-installer.exe(25.39 MB)
    gaphor-2.12.0-portable.exe(24.54 MB)
    Gaphor-2.12.0.dmg(41.36 MB)
  • 2.11.0(Sep 25, 2022)

    Changes

    πŸš€ Features

    • Make SysML Enumerations also ValueTypes @amolenaar (#1543)
    • Union types @amolenaar (#1593)
    • Todo example of use for css @Toorero (#1596)
    • Let Gaphor check for it's own health @amolenaar (#1583)
    • Add Copy/Paste for GTK4 @amolenaar (#1565)
    • GTK4 list view @amolenaar (#1516)
    • Error Reports window @amolenaar (#1529)
    • Add element to diagram by double click @amolenaar (#1528)

    πŸ› Bug Fixes

    • Transition can self-reference State @amolenaar (#1600)
    • Ensure all models are saved with UTF-8 encoding @amolenaar (#1594)
    • Fix unlinking elements from the model @amolenaar (#1567)
    • Fix issue with fully pasting a diagram @amolenaar (#1536)
    • Fix scroll speed for touch screens @amolenaar (#1533)

    🧰 Maintenance

    • Fix codeql warnings and error @danyeaw (#1581)
    • Improve text placement for Associations @amolenaar (#1570)
    • Fix instant editors for GTK4 @amolenaar (#1559)
    • Enable Additional Pre-Commit Checks @danyeaw (#1556)
    • Make dialogs work with GTK 4 @amolenaar (#1530)

    🌍 Translation

    • Hungarian translation updates @weblate (#1592)

    Thanks again to @Toorero, @amolenaar, @danyeaw, and @ovari! πŸŽ‰

    Source code(tar.gz)
    Source code(zip)
    Gaphor-2.11.0-x86_64.AppImage(60.30 MB)
    gaphor-2.11.0-installer.exe(24.63 MB)
    gaphor-2.11.0-portable.exe(24.11 MB)
    Gaphor-2.11.0.dmg(38.58 MB)
  • 2.10.0(May 22, 2022)

    Changes

    πŸš€ Features

    • Codegen use all defined modeling languages @amolenaar (#1494)
    • Pin support for activity diagram @amolenaar (#1462)
    • Add Activity item to diagram @amolenaar (#1441)
    • Allow to drag and drop all elements from tree view to diagram @amolenaar (#1414)

    πŸ› Bug Fixes

    • Fix pin connections when loading a model @amolenaar (#1482)
    • Fix diagram dependency cycle @amolenaar (#1458)

    🧰 Maintenance

    • Storage cleanup @amolenaar (#1504)
    • Add Skip Duplicate Action and Release-Drafter Permissions @danyeaw (#1497)
    • Update gvsbuild and simplify syntax @danyeaw (#1466)
    • Update permissions for CodeQL GitHub Action @naveensrinivasan (#1453)
    • Include all diagram items in test model @amolenaar (#1434)
    • Fix GTK4 property page layouts @amolenaar (#1439)
    • Refactor Using Sourcery @danyeaw (#1432)
    • Use official RAAML logo in greeter @danyeaw (#1423)
    • Relation metadata @amolenaar (#1421)
    • Rename relationship connector base classes @amolenaar (#1418)
    • Design principles @amolenaar (#1417)

    🌍 Translation

    • French translation update @weblate (#1514)
    • Finnish translation updates @weblate (#1490)
    • Finnish translation update @weblate (#1468)
    • Croatian translation update @weblate (#1463)
    • Update Croatian translation @weblate (#1452)
    • Croatian translation updates @weblate (#1442)

    Thanks again to @amolenaar, @danyeaw, @milotype, @naveensrinivasan ! πŸŽ‰

    Source code(tar.gz)
    Source code(zip)
    Gaphor-2.10.0.dmg(38.71 MB)
    gaphor-2.10.0-portable.exe(24.02 MB)
    gaphor-2.10.0-installer.exe(24.55 MB)
    Gaphor-2.10.0-x86_64.AppImage(60.16 MB)
    gaphor-2.10.0-py3-none-any.whl(704.79 KB)
    gaphor-2.10.0.tar.gz(877.82 KB)
  • 2.9.1(Mar 18, 2022)

  • 2.9.0(Mar 18, 2022)

    Changes

    πŸš€ Features

    • Edit newly created diagram name @amolenaar (#1405)
    • New group function for element grouping @amolenaar (#1379)
    • Simulate user behavior with Hypothesis @amolenaar (#1365)
    • Separate Control and Object Flow @amolenaar (#1353)
    • Automatically select dark mode for macOS and Windows @amolenaar (#1336)

    πŸ› Bug Fixes

    • Proxyport: update ports when proxyport is moved @amolenaar (#1403)
    • Fix AppImage Crashes on Save Command @danyeaw (#1364)
    • Extend Hypothesis Test Coverage and Fix Uncovered Bugs @amolenaar (#1374)
    • Improve reconnect for relationships @amolenaar (#1351)
    • Enable preferences shortcut @amolenaar (#1331)

    🧰 Maintenance

    • Update connection behavior for Association @amolenaar (#1357)
    • Rename Component Toolbox to Deployment @amolenaar (#1361)

    🌍 Translation

    • Update Finnish and German translations @weblate (#1371)
    • Spanish translation updates @weblate (#1350)
    • Croatian translation updates @weblate (#1342)
    • Finnish translation updates @weblate (#1334)

    Thanks again to @amolenaar, @danyeaw, @milotype! πŸŽ‰

    Source code(tar.gz)
    Source code(zip)
    Gaphor-2.9.0-x86_64.AppImage(60.25 MB)
    Gaphor-2.9.0.dmg(45.27 MB)
  • 2.8.2(Jan 30, 2022)

    Changes

    πŸ› Bug Fixes

    • Fix splitting of lines @amolenaar (#1326)

    🧰 Maintenance

    • #1310 Update to Readme.md - Greeter dialog and new diagram button usage @Texopolis (#1320)

    🌍 Translation

    • Hungarian translation update @weblate (#1324)
    • Translate typeValue in properties @amolenaar (#1321)
    • Add Additional Strings for Translation @danyeaw (#1315)
    • Add Bengali translation @weblate (#1318)
    • Hungarian translation updates @weblate (#1311)
    • Update Finnish and Spanish translations @weblate (#1307)

    Thanks again to @Texopolis, @amolenaar, @danyeaw, @oscfdezdz, @ovari, Jiri GrΓΆnroos, and Saptarshi Mondal! πŸŽ‰

    Source code(tar.gz)
    Source code(zip)
    Gaphor-2.8.2-x86_64.AppImage(50.05 MB)
    gaphor-2.8.2-installer.exe(30.61 MB)
    gaphor-2.8.2-portable.exe(30.08 MB)
    Gaphor-2.8.2.dmg(45.03 MB)
  • 2.8.1(Jan 19, 2022)

    Changes

    πŸš€ Features

    • Simplify the Greeter Dialogs @danyeaw (#1301)

    πŸ› Bug Fixes

    • Fix Gaphor fails to load in German, update Hungarian and Finnish translations @weblate (#1298)

    🧰 Maintenance

    • Check for placeholder errors in translations @amolenaar (#1302)

    🌍 Translation

    • Chinese (Simplified) translation updates @weblate (#1303)

    Thanks again to @amolenaar, @danyeaw, @lizhuoqi, @ovari, and Jiri GrΓΆnroos! πŸŽ‰

    Source code(tar.gz)
    Source code(zip)
    Gaphor-2.8.1-x86_64.AppImage(50.05 MB)
    gaphor-2.8.1-installer.exe(30.61 MB)
    gaphor-2.8.1-portable.exe(30.07 MB)
    Gaphor-2.8.1.dmg(45.83 MB)
  • 2.8.0(Jan 15, 2022)

    Changes

    πŸš€ Features

    • Add UML, SysML, and RAAML Templates @danyeaw (#1279)
    • Stereotypes for ItemFlow properties @amolenaar (#1211)
    • Full Copy/Paste of model elements @amolenaar (#1262)
    • Add official OMG/SysML logos @amolenaar (#1258)
    • Allow for deleting elements in the tree view @amolenaar (#1250)
    • Fix AppImage GLIBC Error on Older Distro Versions @danyeaw (#1228)
    • Start a new model from a template @amolenaar (#1234)
    • Diagram types @amolenaar (#1216)
    • Improve the welcoming experience @amolenaar (#1230)
    • Allocation of structural types to swimlane partitions @amolenaar (#1214)
    • A Magnet-tool @amolenaar (#1208)
    • Notification when model elements are automatically removed @amolenaar (#1207)
    • Store toolbox settings per modeling language @amolenaar (#1215)
    • Grow item when an item is dropped on it @amolenaar (#1203)
    • Add "values" compartment to Block item @amolenaar (#1198)
    • Support SysML Item flow @amolenaar (#1192)
    • Empty square bracket notation @amolenaar (#1186)
    • New code generator @amolenaar (#1170)

    πŸ› Bug Fixes

    • Fix Sequence diagram loading when message is close to lifeline body @amolenaar (#1289)
    • Load files directly from macOS Finder @amolenaar (#1281)
    • Fix positions of nested items during undo @amolenaar (#1266)
    • Fork node loading @amolenaar (#1252)
    • Fix FileNotFoundError when running packaged app @danyeaw (#1244)
    • Fix ownership of Connector, ProxyPort, and ItemFlow @amolenaar (#1226)
    • Set a minimal height for compartments @amolenaar (#1225)

    🧰 Maintenance

    • Use symbolic close icon for notebook tabs @mathiascode (#1295)
    • Improve GTK4 compatibility @amolenaar (#1106)
    • Improve clarity of syntax for attributes and operations using a popover @amolenaar (#1242)
    • Clean up Toolbox @amolenaar (#1237)
    • Update to latest gvsbuild, switch to wingtk repo @danyeaw (#1229)
    • Remove some legacy code @amolenaar (#1200)
    • Invert association creation @amolenaar (#1202)
    • Ensure model consistency on save @amolenaar (#1194)
    • Core as a separate ModelingLanguage @amolenaar (#1181)

    🌍 Translation

    • Spanish translations updates @weblate (#1292)
    • Spanish translation updates @weblate (#1288)
    • Finnish translation updates @weblate (#1287)
    • Hungarian translation updates @weblate (#1284)
    • Dutch and Hungarian translation updates @weblate (#1274)
    • Portuguese (Brazil) translation updates @weblate (#1269)
    • Updates to Brasilian translation @weblate (#1267)
    • Finnish translation update for Help in PropertyPage @weblate (#1257)
    • Hungarian and Galician translation updates @weblate (#1254)
    • Croatian translation updates @weblate (#1218)
    • Spanish, Croatian, and Finnish translation updates @weblate (#1205)
    • Update Espanian translations @weblate (#1196)
    • Chinese translation updates @weblate (#1187)
    • Add Chinese (Simplified) translation @weblate (#1182)
    • Updates to German and Hungarian translations @weblate (#1174)
    • Add German translation file @weblate (#1173)

    Thanks again to @Lutra-Fs, @amolenaar, @danyeaw, @frandieguez, @gbrlgian, @jischebeck, @jy1263, @mathiascode, @milotype, @oscfdezdz, @ovari, Cesar Iglesias, and Jiri GrΓΆnroos!! πŸŽ‰

    Source code(tar.gz)
    Source code(zip)
    Gaphor-2.8.0-x86_64.AppImage(50.06 MB)
    gaphor-2.8.0-installer.exe(30.60 MB)
    gaphor-2.8.0-portable.exe(30.07 MB)
    Gaphor-2.8.0.dmg(45.83 MB)
  • 2.7.1(Dec 2, 2021)

    Changes

    πŸš€ Features

    • No GTK required anymore for generating docs @amolenaar (#1160)

    🧰 Maintenance

    • Fix Lines Don't Disconnect When Moved (gaphor/gaphas@9e65a95)
    • Update Python to 3.10.0 @danyeaw (#1163)
    • Update gvsbuild and poetry version @danyeaw (#1164)

    🌍 Translation

    • Spanish translation updates @weblate (#1165)

    Thanks again to @amolenaar, @danyeaw, @oscfdezdz! πŸŽ‰

    Source code(tar.gz)
    Source code(zip)
    Gaphor-2.7.1-x86_64.AppImage(57.38 MB)
    gaphor-2.7.1-installer.exe(30.61 MB)
    gaphor-2.7.1-portable.exe(30.07 MB)
    Gaphor-2.7.1.dmg(45.68 MB)
  • 2.7.0(Nov 26, 2021)

    Changes

    πŸš€ Features

    • Use Jedi for autocomplete in the Python Console @amolenaar (#1153)
    • Add option to show underlying DecisionNode type @amolenaar (#1144)
    • Update documentation to use new Sphinx extension @amolenaar (#1143)
    • Sphinx directive for embedding Gaphor models into docs @amolenaar (#1134)
    • Allow messages to move freely on Lifeline and ExecutionSpec @amolenaar (#1121)
    • Add Reflexive Message item for Interactions @amolenaar (#1123)
    • Pop-up element name editor on creation of a new element @amolenaar (#1116)
    • InformationFlow for Connectors @amolenaar (#1103)

    πŸ› Bug Fixes

    • Swap relationship direction for Generalization, Dependency, Import, Include, and Extend @amolenaar (#1129)
    • Fix lifeline ordering when not all items are linked in a diagram @amolenaar (#1155)
    • Allow generalizations to be reused @amolenaar (#1149)
    • Fix Windows build by updating to Python 3.9.9 @danyeaw (#1142)
    • Allow auto-generated elements (Activity, State Machine, Interaction, Region) to be removed @amolenaar (#1118)
    • Emit events for Diagram.ownedPresentation and Presentation.diagram after element creation @amolenaar (#1088)

    🧰 Maintenance

    • Add option to show underlying DecisionNode type @amolenaar (#1144)
    • Add documentation dependencies to pyproject.toml @amolenaar (#1138)
    • Move enumeration layout to UML.classes @amolenaar (#1140)
    • Rename packaging to _packaging @amolenaar (#1136)
    • Remove names for initial/final nodes @amolenaar (#1130)
    • Update to latest gvsbuild @danyeaw (#1120)
    • Update to PyInstaller 4.6 @danyeaw (#1109)
    • Add gtksourceview to Windows docs @danyeaw (#1108)
    • Fix Python 3.10 warnings @amolenaar (#1105)
    • Fix indention in Style Sheet docs @vanillajonathan (#1091)

    🌍 Translation

    • Finnish translation updates @weblate (#1146)
    • Hungarian translation updates @weblate (#1133)
    • Hungarian translation updates @weblate (#1128)
    • Expand the number of strings translated @amolenaar (#1125)
    • Update Croatian translation @weblate (#1093)
    • Spanish, Japanese, Finnish, and Croatian translation updates @weblate (#1092)

    Thanks again to @amolenaar, @danyeaw, @fu7mu4, @milotype, @oscfdezdz, @ovari, @vanillajonathan, Jiri GrΓΆnroos! πŸŽ‰

    Source code(tar.gz)
    Source code(zip)
    Gaphor-2.7.0-x86_64.AppImage(56.29 MB)
    gaphor-2.7.0-installer.exe(30.57 MB)
    gaphor-2.7.0-portable.exe(30.04 MB)
    Gaphor-2.7.0.dmg(45.56 MB)
  • 2.6.5(Oct 19, 2021)

    πŸš€ Features

    • Update Style Sheet Editor to be a Code Editor @danyeaw (#1029)

    πŸ› Bug Fixes

    • Show relationships on top of other elements @amolenaar (#1084)

    🧰 Maintenance

    • Remove unneeded Linux CI build dependencies @danyeaw (#1086)
    • Update PyGObject @danyeaw (#1018)
    • Upgrade Poetry to 1.1.11 @amolenaar (#1078)

    🌍 Translation

    • Spanish and Japanese translation updates @weblate (#1074)
    • Japanese translation updates @weblate (#1085)
    • Update Hungarian translations @weblate (#1082)
    • Add initial Japanese translation @weblate (#1079)
    • Update strings to improve ability to translate @danyeaw (#1067)
    • Add Hungarian button tooltip translations @weblate (#1072)
    • Croatian and Hungarian translation updates @weblate (#1068)
    • Update Spanish translation @weblate (#1066)
    • Hungarian translation updates @weblate (#1065)

    Thanks again to @amolenaar, @danyeaw, @fu7mu4, @milotype, @oscfdezdz, @ovari, and Cesar Iglesias! πŸŽ‰

    Source code(tar.gz)
    Source code(zip)
    Gaphor-2.6.5-x86_64.AppImage(54.81 MB)
    gaphor-2.6.5-installer.exe(29.31 MB)
    gaphor-2.6.5-portable.exe(28.78 MB)
    Gaphor-2.6.5.dmg(43.95 MB)
  • 2.6.4(Oct 4, 2021)

  • 2.6.3(Oct 3, 2021)

    Changes

    πŸ› Bug Fixes

    • Fix about dialog logo @amolenaar (#1042)

    🧰 Maintenance

    • Remove importlib_metadata @amolenaar (#1052)
    • Simpler services @amolenaar (#1050)
    • Up typing compliance to 3.9, and remove typing_extensions @amolenaar (#1040)

    🌍 Translation

    • Finnish translation updates @weblate (#1056)
    • Add translation of more elements @danyeaw and @amolenaar (#1049)

    Thanks again to @amolenaar, @ovari, and @danyeaw! πŸŽ‰

    Source code(tar.gz)
    Source code(zip)
    Gaphor-2.6.3-x86_64.AppImage(54.23 MB)
    gaphor-2.6.3-installer.exe(28.77 MB)
    gaphor-2.6.3-portable.exe(28.26 MB)
    Gaphor-2.6.3.dmg(43.32 MB)
  • 2.6.2(Oct 2, 2021)

    Changes

    πŸ› Bug Fixes

    • Fix localization in UI files @amolenaar (#1031)
    • Update icons to render as paths @amolenaar (#1030)

    🌍 Translation

    • Hungarian and Finnish translation updates @weblate (#1035)
    • Spanish, Portuguese (Br), and Hungarian Translation Updates @weblate (#1032)

    Thanks again to @JonnathanRiquelmo, @amolenaar, @danyeaw, @oscfdezdz, @ovari, and Jiri GrΓΆnroos! πŸŽ‰

    Source code(tar.gz)
    Source code(zip)
    Gaphor-2.6.2-x86_64.AppImage(54.26 MB)
    gaphor-2.6.2-installer.exe(28.79 MB)
    gaphor-2.6.2-portable.exe(28.28 MB)
    Gaphor-2.6.2.dmg(43.34 MB)
  • 2.6.1(Sep 25, 2021)

    Changes

    πŸš€ Features

    • Display guard conditions in square brackets @amolenaar (#990)
    • Use flat buttons in the header bar @amolenaar (#991)

    πŸ› Bug Fixes

    • Fix Gaphor always runs in English despite system language setting @amolenaar (#1025)
    • Fix parameter is incorrect error with ";;" in path @danyeaw (#1022)
    • Improve inline editor undo/redo behavior @amolenaar (#1016)
    • Fixed closing of about dialog @sz332 (#996)
    • Fix fork/join node incorrectly rotates @amolenaar
    • Fix wrong label is displayed when object node ordering is enabled @amolenaar
    • Fix drag and drop of elements does not work on diagrams @amolenaar

    🧰 Maintenance

    • Add VSCode debug instructions for Windows @sz332 (#1010)
    • Rename usage of Partitions to Swimlanes @amolenaar (#1013)
    • Packaging folder is not a Python package @amolenaar (#992)

    🌍 Translation

    • Update Dutch and Hungarian Translations @weblate (#1026)
    • Croatian translation updates @weblate (#988)

    Thanks again to @amolenaar, @danyeaw, @milotype, @ovari, and @sz332! πŸŽ‰

    Source code(tar.gz)
    Source code(zip)
    Gaphor-2.6.1-x86_64.AppImage(54.26 MB)
    gaphor-2.6.1-installer.exe(28.79 MB)
    gaphor-2.6.1-portable.exe(28.28 MB)
    Gaphor-2.6.1.dmg(43.33 MB)
  • 2.6.0(Sep 14, 2021)

    Changes

    πŸš€ Features

    • Add information flows to UML model @amolenaar (#907)
    • Improve zoom and pan for mouse @amolenaar (#913)

    πŸ› Bug Fixes

    • Swap Generalization Arrow Directions @danyeaw (#935)
    • Fix TypeError for Protocols cannot be instantiated @danyeaw (#967)
    • Fix Doc Build Errors and Upgrade to MyST-Parser and tomli @danyeaw (#964)
    • Add extra rules to avoid cyclic references @amolenaar (#895)
    • Fix disappearing elements from tree view on Windows @amolenaar (#882)

    🧰 Maintenance

    • Fix macOS Codesign and Refactor CI @danyeaw (#969)
    • Convert CI from mingw to gvsbuild @danyeaw (#912)
    • Rebuild translation portable objects @danyeaw (#925)
    • Fix typo in UML.gaphor @eltociear (#931)
    • Upgrade Windows Build Script from Bash to Python @danyeaw (#903)
    • Upgrade PyInstaller to Version 4.4 @danyeaw (#904)
    • Refactor class property pages in to multiple modules @danyeaw (#869)
    • Python 3.9 is now default in MSYS2 @danyeaw (#902)
    • Dependency updates @mrmonkington (#893)
    • Add Docs for Building GTK for Windows with gvsbuild @danyeaw (#885)
    • Developer documentation tweaks @mrmonkington (#892)
    • Fix Windows Dev Env Docs @danyeaw (#873)
    • Enable pyupgrade and use Python 3.9 in Windows @danyeaw (#875)

    🌍 Translation

    • Add Galician translation @weblate (#979)
    • Add a new Korean translation @darkcircle (#959)
    • Update Hungarian, Finnish, & Spanish Translations @weblate (#958)
    • Update the README on How to Translate the Flatpak String @ovari (#950)
    • Translations from UI files @amolenaar (#948)
    • Add Finnish and update Spanish and Hungarian Translations @weblate (#944)
    • Add Hungarian Translation @weblate (#939)

    Thanks again to @amolenaar, @danyeaw, @darkcircle, @eltociear, @frandieguez, @mrmonkington, @oscfdezdz, @ovari, J. Lavoie, Jiri GrΓΆnroos! πŸŽ‰

    Source code(tar.gz)
    Source code(zip)
    Gaphor-2.6.0-x86_64.AppImage(54.25 MB)
    gaphor-2.6.0-installer.exe(28.79 MB)
    gaphor-2.6.0-portable.exe(28.28 MB)
    Gaphor-2.6.0.dmg(43.43 MB)
  • 2.5.1(Jul 5, 2021)

  • 2.5.0(Jun 30, 2021)

    Changes

    πŸš€ Features

    • Feature/element notes @amolenaar (#863)
    • Add Initial Support for STPA @danyeaw (#781)
    • Allow diagrams under all elements @amolenaar (#825)

    πŸ› Bug Fixes

    • Fix delete and undo of a diagram @amolenaar (#827)
    • Rename C4ContainerDatabaseItem to C4DatabaseItem @amolenaar (#830)

    🧰 Maintenance

    • Cleanup model loading @amolenaar (#860)
    • Diagram items in element factory @amolenaar (#851)
    • Organize element events @amolenaar (#844)
    • Link toolbox and diagrams @amolenaar (#836)

    Thanks again to @amolenaar, @danyeaw! πŸŽ‰

    Source code(tar.gz)
    Source code(zip)
    Gaphor-2.5.0-x86_64.AppImage(54.26 MB)
    gaphor-2.5.0-installer.exe(28.62 MB)
    gaphor-2.5.0-portable.exe(28.35 MB)
    Gaphor-2.5.0.dmg(41.95 MB)
  • 2.4.2(May 23, 2021)

    Changes

    πŸ› Bug Fixes

    • Property page should only set navigability if both ends are connected @amolenaar (#820)

    🧰 Maintenance

    • Sign only builds on the master branch @amolenaar (#826)
    • Improve drag and drop for TreeView @amolenaar (#812)
    • Add GTK4 build on macos @amolenaar (#808)
    • GTK 4 @amolenaar (#756)
    • Add tooltips for "A"/"S" in editor @amolenaar (#805)
    • Upload Linux assets during release @danyeaw (#787)

    Thanks again to @amolenaar, @danyeaw, @vanillajonathan! πŸŽ‰

    Source code(tar.gz)
    Source code(zip)
    Gaphor-2.4.2-x86_64.AppImage(54.34 MB)
    gaphor-2.4.2-installer.exe(28.60 MB)
    gaphor-2.4.2-portable.exe(28.32 MB)
    Gaphor-2.4.2.dmg(41.93 MB)
  • 2.4.1(May 11, 2021)

  • 2.4.0(May 1, 2021)

    Changes

    πŸš€ Features

    • Add Support for DataType, ValueType, Primitive, and Enumeration @danyeaw (#724)
    • Focus already opened model @amolenaar (#711)
    • Add Support for Containment Relationship @danyeaw (#707)
    • Restore window state when diagram is loaded @amolenaar (#717)

    🧰 Maintenance

    • Update Spanish translation @oscfdezdz (#767)
    • Upgrade PyInstaller to version 4.3 @danyeaw (#743)
    • Gtk4 toolbox @amolenaar (#741)
    • Add regression tests @amolenaar (#734)
    • Remove the New From Template option @amolenaar (#730)
    • Fix build fails when GitHub Actions secrets are not available @danyeaw (#719)

    Thanks again to @amolenaar, @danyeaw, @oscfdezdz! πŸŽ‰

    Source code(tar.gz)
    Source code(zip)
    gaphor-2.4.0-installer.exe(28.53 MB)
    gaphor-2.4.0-portable.exe(28.26 MB)
    Gaphor-2.4.0.dmg(43.55 MB)
    Gaphor-2.4.0-x86_64.AppImage(54.24 MB)
  • 2.3.2(Mar 30, 2021)

  • 2.3.1(Mar 28, 2021)

Owner
Gaphor
Gaphor is the simple modeling tool
Gaphor
A simple image-level annotation tool supporting multi-channel images for napari.

napari-labelimg4classification A simple image-level annotation tool supporting multi-channel images for napari. This napari plugin was generated with

null 4 May 16, 2022
GTK and Python based, simple multiple image editor tool

System Monitoring Center GTK3 and Python3 based, simple multiple image editor tool. Note: Development of this application is not completed yet. The ap

Hakan DΓΌndar 1 Feb 2, 2022
Simple Python image processing & automatization project for a simple web based game

What is this? Simple Python image processing & automatization project for a simple web based game Made using only Github Copilot (except the color and

SGeri 2 Aug 15, 2022
Graphical tool to make photo collage posters

PhotoCollage Graphical tool to make photo collage posters PhotoCollage allows you to create photo collage posters. It assembles the input photographs

Adrien VergΓ© 350 Jan 2, 2023
Deep Illuminator is a data augmentation tool designed for image relighting.

Deep Illuminator Deep Illuminator is a data augmentation tool designed for image relighting. It can be used to easily and efficiently genera

George Chogovadze 52 Nov 29, 2022
Depix is a tool for recovering passwords from pixelized screenshots.

This implementation works on pixelized images that were created with a linear box filter. In this article I cover background information on pixelization and similar research.

null 23.1k Jan 4, 2023
Rembg is a tool to remove images background.

Rembg is a tool to remove images background.

Daniel Gatis 7.8k Jan 5, 2023
Goddard Image Analysis and Navigation Tool

Copyright 2021 United States Government as represented by the Administrator of the National Aeronautics and Space Administration. No copyright is clai

NASA 12 Dec 23, 2022
Nanosensor Image Processor (NanoImgPro), a python-based image analysis tool for dopamine nanosensors

NanoImgPro Nanosensor Image Processor (NanoImgPro), a python-based image analysis tool for dopamine nanosensors NanoImgPro.py contains the main class

null 1 Mar 2, 2022
This tool allows the user to convert a 16 by 16 image into a list with numbers representing an object/character.

Room Formatter This tool allows the user to convert a 16 by 16 image into a list with numbers representing an object/character. There is cur

Thomas Landstra 1 Nov 13, 2021
ScreenTeX is a tool that grabs all text when taking a screenshot rather than getting an image.

The ScreenTeX project By: Seanpm2001 / ScreenTeX, Et; Al. Top README.md Read this article in a different language ?? List of languages Sorted by: A-Z

Sean P. Myrick V19.1.7.2 3 Oct 25, 2022
MetaStalk is a tool that can be used to generate graphs from the metadata of JPEG, TIFF, and HEIC images

MetaStalk About MetaStalk is a tool that can be used to generate graphs from the metadata of JPEG, TIFF, and HEIC images, which are tested. More forma

Cyb3r Jak3 1 Jul 5, 2021
reversable image censoring tool

StupidCensor a REVERSABLE image censoring tool to reversably mosiac censor jpeg files to temporarily remove image details not allowed on most websites

null 2 Jan 28, 2022
A little Python tool to convert a TrueType (ttf/otf) font into a PNG for use in demos.

font2png A little Python tool to convert a TrueType (ttf/otf) font into a PNG for use in demos. To use from command line it expects python3 to be at /

Rich Elmes 3 Dec 22, 2021
A tool for hiding data inside of images

Stegenography-tool a tool for hiding data inside of images Quick test: do python steg-encode.py test/message.txt test/covid19.png to generate the test

luke 2 Nov 2, 2021
A tool and a library for SVG path data transformations.

SVG path data transformation toolkit A tool and a library for SVG path data transformations. Currently it supports a translation and a scaling. Usage

Igor Mikushkin 2 Mar 7, 2022
A tool to maintain an archive/mirror of your Google Photos library for backup purposes.

Google Photos Archiver Updated Instructions 8/9/2021 Version 2.0.6 Instructions: Download the script (exe or python script listed below) Follow the in

Nick Dawson 116 Jan 3, 2023
A GUI-based (PyQt5) tool used to design 2D linkage mechanism.

Pyslvs-UI A GUI-based (PyQt5) tool used to design 2D linkage mechanism. Planar Linkages Simulation Python-Solvespace: Kernel from Solvespace with Cyth

Yuan Chang 141 Dec 13, 2022