Improved connection arrangement algorithm. Rules are now propagated along routes instead of just being applied at independent points. Performance hurt but only slightly.
Adapted project so that development with Guix is more convenient.
Updated dependencies; no change in functionality.
Made Python 3.8 a requirement. No API changes.
Loading of DDF dependencies is now done using a simple queueing algorithm instead of solving constraints.
Offsets of bundles are now calculated using graphs instead of the constraint solver.
Fixed minor bug in routing code.
Eliminated dead code and tidied up a bit.
Fixed bug: distance between connections did not take into account the orientation of labels.
Improved performance of routing.
Changed project status to beta.
Introduced labels at the start and end of connections.
Fixed bug: connection label distance was previously applied in half, which is now fixed. Had to halve the default value. This change may affect the appearance of diagrams created with previous versions in mind.
Fixed bug: null connection labels in DDFs are now properly recognized. They were previously rendered as “None”.
Reorganized cases directory. Added more cases.
Made changes that may affect the output of some diagrams, so bumped version number appropriately.
Put connection arrows inside block margins to avoid overlaps.
Spacing between connections is now increased when necessary to avoid overlaps of wide arrow heads.
Drawing of connection labels now takes into account arrow size to avoid label - arrow overlap.
Added cases to visually check the above.
Fixed regression: diagram box and label are now drawn properly.
Minor updates to loading mechanism and depedencies.
Reorganized cases and examples; added a couple more cases.
Added the ability to include files in DDFs. Useful for sharing styles between diagrams.
Added the ability to define the diagram layout grid using a CSV file. It is now possible to manipulate the layout using a spreadsheet.
Internal change: using the constraint solver for refinement instead of graphs. Made code much clearer at the cost of a slight performance degradation.
Internal change: refactored code; replaced a few convoluted inheritance patterns with composition; added representation strings to most objects.
Fixed vertex-to-vertex interaction regression.
Improved drawing of connections.
Added optional constraints to prevent block boxes from growing unnecessarily large.
Major new feature: connections can now have labels.
Switched from SVG to PNG output using the cairo graphics library. Needed to be able to calculate the dimensions of labels. Breaking DDF and API changes.
Colors are now sequences of numbers instead of strings.
Removed the now irrelevant
Some enumerators needed for attributes were not exposed – fixed.
Removed Poetry lock file from version control.
Stopped depending on
dominant-baselineSVG attribute; Firefox now centers text correctly.
Minor aesthetic change: replaced empty string with tilde character in examples.
Corrected some errors in the documentation. Reversed the order of releases in the history section.
No code changes.
Corrected command line usage documentation.
No code changes.
Significant breaking changes all around.
Adopted more mainstream terminology of block diagrams. “Blocks” instead of “terminals”, “connections” instead of “links”.
Introduced the ability to define overlapping blocks.
drawing_priorityattribute. Drawing order is now definition order.
Content of the
blockssection in the definition file is now a sequence instead of a mapping. Program relies on definition order.
row_margindiagram attributes. Added
paddingdiagram attribute with
Got rid of the
pinskey in row definitions.
Added autogeneration of blocks.
Made diagram center in the drawing area.
Improved the refinement engine.
Updated the documentation. Added the Gallery section.
Added a few more examples.
Made compatible with Python 3.7.
Replaced igraph with NetworkX to ease installation.
Moved documentation to Read the Docs.
Enabled multiple style references in definition files.
Made debug switch compatible with Python 3.8.
Enforced the UTF-8 character encoding for the definition file.
Introduced the ability to create shapes spanning multiple rows and columns.
Major API breaking changes: Replaced
pinsin order to facilitate the expansion of connected objects. Both API and diagram definition files affected.
Updated the documentation to reflect the changes. Added the acknowledgments and release history sections.
API breaking change: renamed
convert_ddf()public function to the arguably more user friendly
Fixed bug when
buffer_widthis not set.
Updated the documentation to reflect the changes and correct a few errors; made the stability warning a bit less scary.
Added the scripts.
Important functionality already in place.