File d2.changes of Package d2
-------------------------------------------------------------------
Tue Aug 19 11:42:04 UTC 2025 - Jeff Kowalczyk <jkowalczyk@suse.com>
- Update to Version 0.7.1:
* Output txt for d2 to render diagrams as ASCII art #2572
* cross arrowhead shape is available #2190
* style.underline support for class fields and methods #2544
* markdown, latex, and code can be used as edge labels #2545
* border-x label positioning functionality #2549
* tooltips with near set always show even without hover #2564
* CLI supports customizing monospace fonts with --font-mono,
--font-mono-bold, --font-mono-italic, and --font-mono-semibold
flags #2590
* labels on scenario/step boards can be set with primary value (like layers) #2579
* autoformatter preserves order of boards #2580
* rename "Legend" with a title/label of your choosing (especially
useful for non-English diagrams) #2582
* sketch mode fonts will use custom fonts if provided #2582
* actors in sequence diagrams with labels and icons together no
longer overlap, position keywords now work too #2548
* fix double glob behavior in scenarios (wasn't propagating correctly) #2557
* fix diagram bounding box not accounting for legend in some cases #2584
* Breaking Changes: If you are using D2 as a library/API, passing
in a FontFamily with sketch renders will now use the font,
instead of previously ignoring it.
-------------------------------------------------------------------
Mon May 5 04:37:44 UTC 2025 - Jeff Kowalczyk <jkowalczyk@suse.com>
- Update to version 0.7.0:
* Icons: connections can include icons #12
* Syntax: suspend/unsuspend to define models and instantiate them #2394
* Globs: support for filtering edges based on properties of endpoint nodes (e.g., &src.style.fill: blue) #2395
* Globs: level filter implemented #2473
* Render: markdown, latex, and code can be used as object labels #2204
* Render: shape: c4-person to render a person shape like what the C4 model prescribes #2397
* Icons: border-radius should work on icon #2409
* Misc: Diagram legends are implemented #2416
* CLI: Support validate command. #2415
* CLI: Watch mode ignores backup files (e.g. files created by certain editors like Helix). #2131
* CLI: Support for --omit-version flag. #2377
* CLI: Casing is ignored for plugin names #2486
* Compiler: links can be set to root path, e.g. /xyz. #2357
* Compiler: When importing a file, attempt resolving substitutions at the imported file scope first #2482
* Compiler: validate gradient color stops. #2492
* Parser: impose max key length. It's almost certainly a mistake if an ID gets too long, e.g. missing quotes #2465
* Render: horizontal padding added for connection labels #2461
* Compiler: fixes panic when sql_shape shape value had mixed casing #2349
* Compiler: fixes panic when importing from a file with spread substitutions in vars #2427
* Compiler: fixes support for center in d2-config #2360
* Compiler: fixes panic when comment lines appear in arrays #2378
* Compiler: fixes inconsistencies when objects were double quoted #2390
* Compiler: fixes globs not applying to spread substitutions #2426
* Compiler: fixes panic when classes were mixed with layers incorrectly #2448
* Compiler: fixes panic when gradient colors are used in sketch mode #2481
* Compiler: fixes panic using glob ampersand filters with composite values #2489
* Compiler: fixes leaf ampersand filter when used with imports #2494
* Formatter: fixes substitutions in quotes surrounded by text #2462
* CLI: fetch and render remote images of mimetype octet-stream correctly #2370
* Composition: spread importing scenarios/steps was not inheriting correctly #2460
* Composition: imported fields were not merging with current fields/edges #2464
* Markdown: fixes nested var substitutions not working #2456
-------------------------------------------------------------------
Wed Feb 5 07:54:04 UTC 2025 - Jeff Kowalczyk <jkowalczyk@suse.com>
- Update to version 0.6.9:
* Animations: style.animated: true is supported on shapes #2250
* Connections now support link #1955
* Vars: vars in markdown blocks are substituted #2218
* Markdown: Github-flavored tables work in md blocks #2221
* Render: adds box arrowheads #2227
* d2 fmt now supports a --check flag #2253
* CLI: PNG output to stdout is supported using --stdout-format png - #2291
* Globs: &connected and &leaf filters are implemented #2299
* CLI: add --no-xml-tag for direct HTML embedding #2302
* CLI: play cmd added for opening d2 input in online playground #2242
* Composition: links pointing to own board are purged #2203
* Syntax: reserved keywords must be unquoted #2231
* Latex: Backslashes in Latex blocks do not escape #2232
This is a breaking change. Previously Latex blocks required
escaping the backslash. So for older D2 versions, you should
remove the excess backslashes.
* Links: non-http url scheme links are supported (e.g. x.link: vscode://file/) #2237
* Compiler: reserved keywords with missing values error instead of silently doing nothing #2251
* Render: SVG outputs conform to stricter HTML standards, e.g. no duplicate ids #2273
* Themes: theme names are consistently cased #2322
* Nears: constant nears avoid collision with edge routes #2327
* Imports: fixes using substitutions in icon values #2207
* Markdown: fixes ampersands in URLs in markdown #2219
* Globs: fixes edge case where globs with imported boards would create empty boards #2247
* Sequence diagrams: fixes alignment of notes when self messages are above it #2264
* Null: fixes nulling a connection with absolute syntax #2318
* Gradients: works with connection fills #2326
* Latex: fixes backslashes doubling on successive parses #2328
- Packaging improvements:
* Update to BuildRequires: golang(API) >= 1.23 matching go.mod
* Build PIE with pattern that may become recommended procedure:
%%ifnarch ppc64 GOFLAGS="-buildmode=pie" %%endif go build
A go toolchain buildmode default config would be preferable
but none exist at this time.
-------------------------------------------------------------------
Thu Nov 7 21:31:37 UTC 2024 - Jeff Kowalczyk <jkowalczyk@suse.com>
- Update to version 0.6.8:
* Render: SVG files render in non-browser contexts (e.g. Inkscape, LaTeX) #2147
* Lib: removes a dependency on external slog that was causing troubles with installation #2137
* CLI: attempts writing to path atomically, falling back to non-atomic if failed #2141
* Export: pptx has "created at" metadata removed, so successive runs yield the same result #2169
* Formatter: empty board keywords (e.g. layers) are removed #2178
* Render: a tooltip or link by itself will not expand width of shape #2183
* Render: fixes edge case of a 3d shape with outside label being cut off #2132
* Composition: labels for boards set with shorthand x: y was not applied #2182
* Globs: double globs (**) were erroring when used with multiple scenario boards #2195
-------------------------------------------------------------------
Sat Sep 28 23:14:05 UTC 2024 - Jeff Kowalczyk <jkowalczyk@suse.com>
- Update to version 0.6.7:
* Vars: Variable definitions can refer to other variables in the current scope #2052
* Composition: Imported boards can use underscores to reference boards beyond its own scope (e.g. to a sibling board at the scope its imported to) #2075
* Autoformat: Reserved keywords are formatted to be lowercase #2098
* Misc: support for characters in the Latin-1 and geometric shapes unicode range #2100
* Imports: can now import from absolute file paths #2113
* Render: linear and radial gradients are now available for fill, stroke and font-color #2120
* Sequence diagram: edge groups account for edge label heights #2038
* Sequence diagram: self-referential edges account for edge label heights #2040
* Sequence diagram: The spacing between self-referential edges and regular edges is uniform #2043
* Compiler: Error on multi-line labels in sql_table shapes #2057
* Sequence diagram: Image shape actors can use spans and notes #2056
* Globs: Filters work with default values (e.g. &opacity: 1 will capture everything without opacity explicitly set) #2090
* Render: connection label fills have a bit of padding and border-radius for better aesthetics #2094
* Sequence diagram: the padding between message labels and message endpoints are slightly increased #2096
* Render: code syntax highlighter dependency upgrade caused some slight subtle color changes in code snippets #2119
* Sequence diagram: multi-line edge labels no longer can collide with other elements #2049
* Sequence diagram: long self-referential edge labels no longer can collide neighboring actors (or its own) lifeline edges #2050
* Sequence diagram: fixes layout when sequence diagrams are in children boards (e.g. a layer) #1692
* Globs: An edge case was fixed where globs used in edges were creating nodes when it shouldn't have #2051
* Render: Multi-line class labels/headers are rendered correctly #2057
* CLI: Watch mode uses correct backlinks (_ usages) #2058
* Vars: Spread variables are inserted in place instead of appending to end of scope #2062
* Imports: fix local icon imports from files that are imported #2066
* CLI: fixes edge case of watch mode links to nested board that had more nested boards not working #2070
* CLI: fixes theme flag not being passed to GIF outputs #2071
* CLI: fixes scale flag not being passed to animated SVG outputs #2071
* CLI: pptx exports use theme flags correctly #2099
* Imports: importing files with url links is fixed #2105
* Composition: linking to invalid boards no longer produces an invalid link #2118
-------------------------------------------------------------------
Fri Aug 2 03:40:33 UTC 2024 - Jeff Kowalczyk <jkowalczyk@suse.com>
- Update to version 0.6.6:
* Glob inverse filters are implemented (e.g. *: {!&shape: circle; style.fill: red} to turn all non-circles red) #2008
* Globs can be used in glob filter values, including checking for existence (e.g. *: {&link: *; style.fill: red} to turn all objects with a link red) #2009
* Opacity 0 shapes no longer have a label mask which made any segment of connections going through them lower opacity #1940
* Bidirectional connections are now animated in opposite directions rather than one direction #1939
* Local relative icons are relative to the d2 file instead of CLI invoke path #1924
* Custom label positions weren't being read when the width was smaller than the label #1928
* Using shape: circle for arrowheads no longer removes all arrowheads along path in sketch mode #1942
* Globs to null connections work #1965
* Edge globs setting styles inherit correctly in child boards #1967
* Board links imported with spread imports work #1972
* Fix importing a file with nested boards #1998
* Fix importing a file with underscores in links #1999
* Replace a panic with an error message resulting from invalid link usage #2011
* Fix globs not applying to scenarios on keys that were applied in earlier scenarios #2021
* Fix edge case of invalid SVG from code blocks #2031
-------------------------------------------------------------------
Thu Apr 18 05:12:41 UTC 2024 - Jeff Kowalczyk <jkowalczyk@suse.com>
- Update to version 0.6.5:
* D2 0.6.5 has a hotfix for 0.6.4 breaking plugin compatibility. Also includes 2 compiler fixes regarding substitutions/vars.
* Fix executable plugins that implement standalone router #1910
* Fix compiler error with multiple nested spread substitutions #1913
* Fix substitutions from imports into different scopes #1914
-------------------------------------------------------------------
Thu Apr 11 05:46:12 UTC 2024 - Jeff Kowalczyk <jkowalczyk@suse.com>
- Update to version 0.6.4:
* style.underline works on connections #1836
* none is added as an accepted value for fill-pattern. Previously there was no way to cancel the fill-pattern on select objects set by a theme that applies it (Origami) #1882
* Dimensions can be set less than label dimensions #1901
* Boards no longer inherit label fields from parents #1838
* Prevents near targeting a child of a special object like grid cells, which wasn't doing anything #1851
* Theme flags on CLI apply to PDFs #1894
* Fixes styles in connections not overriding styles set by globs #1857
* Fixes null being set on a nested shape not working in certain cases when connections also pointed to that shape #1830
* Fixes edge case of bad import syntax crashing using d2 as a library #1829
* Fixes style.fill not applying to markdown #1872
* Fixes compiler erroring on certain styles when the shape's shape value is not all lowercase (e.g. Circle) #1887
-------------------------------------------------------------------
Wed Jan 17 22:48:08 UTC 2024 - Jeff Kowalczyk <jkowalczyk@suse.com>
- Update to version 0.6.3:
* Themes can be customized via d2-config vars. #1777
* Icons can be added for special objects (sql_table, class, code, markdown, latex). #1774
* Fix importing files that override an existing value with an array. #1762
* Fixes missing unfilled triangle arrowheads when sketch flag is on. #1763
* Fixes a bug where the render target could be incorrect if the target path contains "index". #1764
* Fixes ELK layout with outside labels/icons. #1776
* Fixes a bug where an edge could become disconnected with dagre layout and direction right. #1778
-------------------------------------------------------------------
Thu Dec 7 06:22:00 UTC 2023 - Jeff Kowalczyk <jkowalczyk@suse.com>
- Update to version 0.6.2:
* ELK routes sql_table edges to the exact columns (ty @landmaj) #1681
* Unfilled triangle arrowhead is available. #1711
* Grid containers customize label positions. #1715
* A single board from a multi-board diagram can be rendered with --target flag. #1725
* Grid cells can contain nested edges #1629
* Edges can go across constant nears, sequence diagrams, and grids, including nested ones. #1631
* All vars defined in a scope are accessible everywhere in that scope, i.e., an object can use a var defined after itself. #1695
* Encoding API switches to standard zlib encoding so that decoding doesn't depend on source. #1709
* currentcolor is accepted as a color option to inherit parent colors. (ty @hboomsma) #1700
* Grid containers can be sized with width/height even when using a layout plugin without that feature. #1731
* Watch mode watches for changes in both the input file and imported files #1720
* Fixes a bug calculating grid height with only grid-rows and different horizontal-gap and vertical-gap values. #1646
* Grid layout accounts for each cell's outside labels and icons #1624
* Grid layout accounts for labels wider or taller than the shape and fixes default label positions for image grid cells. #1670
* Fixes a panic with a spread substitution in a glob map #1643
* Fixes use of null in sql_table constraints (ty @landmaj) #1660
* Fixes ELK growing shapes with width/height set #1679
* Adds a compiler error when accidentally using an arrowhead on a shape #1686
* Correctly reports errors from invalid values set by globs. #1691
* Fixes panic when spread substitution referenced a nonexistant var. #1695
* Fixes incorrect appendix icon numbering. #1704
* Fixes crash when using --watch and navigating to an invalid board path #1693
* Fixes edge case where nested edge globs were creating excess shapes #1713
* Fixes a panic with a connection to a grid cell that is a container in TALA #1729
* Fixes incorrect grid cell positioning when the grid has a shape set and fixes content sometimes escaping circle shapes. #1734
* Fixes content sometimes escaping cloud shapes. #1736
* Fixes panic using a glob filter (e.g. &a) outside globs. #1748
* Fixes glob keys with import values (e.g. user*: @lib/user). #1755
-------------------------------------------------------------------
Fri Oct 6 14:30:23 UTC 2023 - Jeff Kowalczyk <jkowalczyk@suse.com>
- Update to version 0.6.1:
* The globs feature underwent a major rewrite and is now almost finalized
* UTF-16 files are automatically detected and supported #1525
* Grid diagrams can now have simple connections between top-level cells #1586
* Globs are lazily-evaluated #1552
* Latex blocks includes Mathjax's ASM extension #1544
* font-color works on Markdown #1546
* font-color works on arrowheads #1582
* CLI failure message includes input path #1617
* d2 fmt formats all files passed as arguments rather than just the first non-formatted (thank you @maxbrunet) #1523
* Fixes Markdown cropping last element in mixed-element blocks (e.g. em and strong) #1543
* Adds compiler error for non-blockstring empty labels #1590
* Prevents multiple constant nears overlapping in some cases #1591
* Fixes crash from empty nested grid #1594
* d2fmt with variable substitution mid-string is formatted correctly #1611
* Fixes certain shape IDs not working with dagre #1610
* Fixes font-size adjustments missing from rendered code shape #1614
-------------------------------------------------------------------
Tue Aug 29 16:22:59 UTC 2023 - Lubos Kocman <lubos.kocman@suse.com>
- Adjust license to cover also redistributed vendor/github.com/* files
-------------------------------------------------------------------
Sat Aug 12 19:01:23 UTC 2023 - jkowalczyk@suse.com
- Update to version 0.6.0:
* Variables and substitutions are implemented. See docs. #1473
* Configure timeout value with D2_TIMEOUT env var #1392
* Scale renders and disable fit to screen with --scale flag #1413
* null keyword can be used to un-declare. See docs #1446
* Develop multi-board diagrams in watch mode (links to layers/scenarios/steps work in --watch) #1503
* Glob patterns have been implemented. See docs. #1479
* Display version on CLI help invocation #1400
* Improved readability of connection labels when they overlap another connection #447
* Error message when shape is given a composite #1415
* Improved rendering and text measurement for code shapes #1425
* The autoformatter moves board declarations to the bottom of its scope #1424
* All font styles in sketch mode use a consistent font-family #1463
* Tooltip and link icons are positioned on shape border #1466
* Tooltip and link icons are always rendered over shapes #1467
* Boards with no objects are considered folders #1504
* DEBUG environment variable ignored if set incorrectly #1505
* Fixes edge case in compiler using dots in quotes #1401
* Fixes grid label font size for TALA #1412
* Fixes person shape label positioning with multiple or 3d #1478
- _service tar_scm disable changesgenerate. Upstream uses small
incremental commits and the automated changelog is overly long.
Use GitHub release summary instead.
-------------------------------------------------------------------
Sat Jun 10 14:38:45 UTC 2023 - jkowalczyk@suse.com
- Update to version 0.5.1:
* d2ir: Fix for windows
-------------------------------------------------------------------
Sat Jun 10 14:35:48 UTC 2023 - jkowalczyk@suse.com
- Update to version 0.5.0:
* D2 files have the ability to import from other D2 files #1371
* sql_table alternatively takes an array of constraints instead of being limited to a single one #1245
* Use shape-specific sizing for grid containers #1294
* Grid diagrams support nested shapes or grid diagrams #1309
* grid-gap, vertical-gap, and horizontal-gap apply to padding on grid diagrams #1309
* Watch mode browser uses an error favicon to easily indicate compiler errors #1240
* Grid layout performance improved when there are many similarly sized shapes #1315
* Connections and labels are adjusted for shapes with 3d or multiple #1340
* Constraints in sql_table render even if they have no matching abbreviation #1372
* Constraints in sql_table sheds their excessive letter-spacing and is padded from the end consistently #1372
* Duplicate image URLs in icons are only fetched once #1373
* In watch mode, images are cached by default across compiles. Can be disabled with flag --img-cache=0. #1373
* Common invalid array separator , usage in class arrays returns a helpful error message #1376
* Invalid constraint usage is met with an error message, preventing a common mistake of omitting shape: sql_table #1379
* Connections no longer obscure outside labels #1381
* Container connections in dagre are more balanced #1384
* Connections that go through shape labels are now masked translucently #1383
* Shadow is no longer cut off when --pad is 0. Thank you @LeonardsonCC ! #1326
* Fixes grid layout overwriting label placements for nested objects #1345
* Fixes fonts not rendering correctly on certain platforms #1356
* Fixes folders not rendering in animations (--animate-interval) #1357
* Fixes panic using reserved keywords as containers #1358
* When multiple classes are change different attributes of arrowheads, all are applied instead of only the last one #1362
* Prevent empty block strings #1364
* Fixes dagre mis-aligning a nested shape's connection #1370
* Fixes a bug in grids sometimes putting a shape on the next row/column #1380
* @xyz is now reserved as a pattern for imports
-------------------------------------------------------------------
Tue May 2 18:31:14 UTC 2023 - jkowalczyk@suse.com
- Update to version 0.4.2:
* update get point at distance
* fix reparsing flags
* add logseq plugin
* add md block info
* fix elk issue when container named root
* add d2sketch in ci
* fix e2e profile passing args
* fast attempt with debt balancing + skip bad rows
* add maximum attempts
* improve grid expand evenly
* search for white index
* fix gif pallete
* add profiling for e2e tests
* implement arrays for classes
* add more detailed error msg
* account for non-orthogonal connection segments
* arrowhead refactor
* fix generate unique number id
* model_order cycle breaking elk
* fix elk self loop spacing
* d2oracle: don't modify classes
* Update japan.d2
* enforce min size for text shapes
* remove border-radius percent tests, add border-radius pill (with a big value) test
* feat: revert percentage border-radius. Accept higher border-radius value and limit it to half of the smaller shape side to be rendered as a pill
* feat: check border-radius value value before checking its decimals. New rx and ry compute method.
* feat: add possiblity to set shape border-radius with percentage value
-------------------------------------------------------------------
Tue Apr 18 02:00:30 UTC 2023 - jkowalczyk@suse.com
- Update to version 0.4.1:
* [ci-force] add japan example
* [ci-base] add d2 pptx example
* remove d2graph edge.MinWidth MinHeight
* adjust label positioning for arrowhead
* update bounding box for arrowhead labels
* position arrowhead labels
* render with arrowhead dimensions
* set arrowhead label dimensions
* pptx board path
* refactor boardType
* refactor ppt
* remove import
* show message while generating gif
* navbar on pptx
* add example
* add constants
* navbar on pdfs
* Update lib/xgif/xgif.go
* export root
* package docs
* export gifs
* Fixing typos
* refactor d2graph.Attributes
* relative paths
* refactor LabelWidth and LabelHeight to LabelDimensions
* convert png boards to gif
* Update generate_png.js
* add exportExtension
* add dark terrastruct flagship theme
* e2etests: Add ent2d2 test case
* don't increase font size for md text if container
* update markdown text measurement and rendering to use font-size
* rename to horizontal-gap and vertical-gap
* fix grid panic with insuffient objects
* if storing int and casting float64 each use
* set scale when generating png
* use grid-gap values for layout
* add grid-gap keywords
* handdrawn semibold
* custom semibold font option
* using semibold
* add SourceCodePro-Semibold font
* measure with semibold
* use semibold font instead of font-weight: 600
* setting up semibold font
* add SourceSansPro-Semibold font
* support multiboard rendering in e2e tests
* changelog and ci
* return svg
* move to a single file
* generate files from templates
* fix layout of grid in constant near
* move xml to templates
* fix links in keynote
* [ci-force] update contributing
* add links to pptx
* fix urls in changelogs
* fix image resizing
* minor fixes for MS PowerPoint
* fix image size
* rename and docs
* update title
* slide title
* fix size and position
* add pptx export
* base ppt export
-------------------------------------------------------------------
Sun Apr 9 02:38:41 UTC 2023 - jkowalczyk@suse.com
- Initial package version 0.4.0:
* update link to tree-sitter grammar
* add text-transform as keyword
* fix watch mode
* Add `text-transform` attribute to the `style` block
* fix solo near
* markdown class has to have diagramHash targeting
* Lifeline should inherit the stroke style from the actor
* fix empty layer
* fix: attach objects of tempGraph
* Add d2-filter as community plugin
* update keywords rows -> grid-rows
* new method for placing nodes across rows
* fix inheritence bug
* rename to grid diagram
* validate descendants
* layout evenly with rows and columns
* center container if growing to fit label
* validate edges
* add padding between dagre labels
* fixing rows creation
* finish column logic
* more dynamic grid sizing according to node sizes
* evenly size grid nodes
* values must be positive
* layout with grids
* Truncate to 32-bit precision to avoid floating-point arithmetic divergence between platforms
* docs(readme): add golang queue library as example.
* chore: feature description doc
* fixes #1104
* namespace transitions
* fix builds on 32bit
* have watch mode parse svg message correctly
* fix: find outer near contaienr
* fix: validation for near obj connect to outside
* fix: a clean spilit for temp graph
* d2parser: Fix #322
* fix: validateNear outside connection
* fix: nil labelPosition
* fix: calc labelPosition
* fix: delete redundant file
* fix: use method instead of attribute
* fix: delete redundant variable
* fix: delete redundant return value
* fix: ignore objects inside near container when calc boundingBox
* fix: calc labelDimension
* fix: integrate logic of construct sub graph inside WithoutConstantNears
* fix: add validation for near connectioins
* fix: compile_test testcase
* fix: revert near_bad_connected compile_test
* fix: delete redundant testcases
* feat: descendants now is allowed for container with near attribute