All notable changes to this project will be documented in this file. This change log follows the conventions of keepachangelog.com.
- A nice examples section to the user guide, for showcasing community contributions, was set up by @simonarnell, starting with content submitted a while ago by @lorrden, which I had never found the time to review and incorporate.
1.10.0 - 2024-08-11
- Compiled for release before publishing to npm.
1.9.0 - 2024-08-11
- Gaps (both vertical and inline) can now be filled with a color so they properly attach to colored boxes, thanks to a contribution from @simonarnell.
This was accidentally published as a non-release build, please use 1.10 instead!
1.8.0 - 2023-02-19
- It is now possible to change the horizontal alignment of text labels
within
draw-box
using two new box attributes,:text-anchor
and:margin
.
1.7.0 - 2022-11-15
- A new function,
char->int
, allowing access to the UTF-16 code units of characters. (Thanks to Gert Goet for this contribution!) - Access to the JavaScript
String
object to support the implementation ofchar->int
.
1.6.1 - 2022-02-10
- The ability to control substitutions, and thereby (for example) use document attributes to reduce duplication, was broken. Thanks to Jared Reisinger for noticing this and contributing a fix!
1.6.0 - 2021-09-08
- A new predefined value,
svg-attrs
, which starts out as an empty map, but can be redefined to add arbitrary SVG attributes to the top-level SVG node of your diagram (for example, to set a background color for the entire diagram).
1.5.0 - 2020-07-12
- Two new functions,
wrap-link
andwrap-svg
which allow you to create hyperlinks and arbitrary SVG elements around sections of your drawings.
1.4.3 - 2020-05-15
- Short-lived version 1.4.2 was not properly built for release before publishing to npm.
defattrs
now takes an attribute expression rather than only a resolved attribute map as its second expression, so you can use the concise attribute mini-language to build new attributes based on existing ones.
- You can now pass
:next-row-height
as an attribute todraw-box
when you need to change row heights as you draw the first box of a new row. This makes it more practical to have variable-height rows, while still having the automatically-drawn row headers appear in the correct posititons. - The user guide now shows examples of how to draw vertical text and boxes which span more than two rows but which are not variable-length gaps.
1.4.1 - 2020-04-04
- Invoking the
generate
function with a single argument was not working properly any longer because of a problem handling default JavaScript arguments from ClojureScript code. (Sorry, I am really new at the JavaScript/ClojureScript worlds!) - Generation of the user guide using the local extension now uses the new embedded SVG tag mode, to avoid HTML structural issues.
1.4.0 - 2020-04-05
- The
svg
element is now rendered with a properviewPort
attribute which allows the host page to make it responsive by styling it withmax-width="100%"
. - You can generate a bare
svg
element for inclusion in an HTML document by supplying the command-line flag--embedded
or-e
, or invoking thegenerate
function with a new secondoptions
object in which the propertyembedded
istrue
. - New helper functions to support drawing bit-fields from integers.
- New helper functions to support drawing padding until a particular address is reached.
- A
draw-inline-gap
function to support drawing discontinuities in single-row diagrams. - The ClojureScript namespaces
clojure.set
andclojure.string
and the JavaScriptMath
object are now available for use by your diagram code.
- A new version of the Small Clojure Interpreter is used, which
enables
dotimes
for index-based iteration within diagrams. Previously it would fail because it delegated to the forbidden, potentially non-terminatingloop
form.
1.3.0 - 2020-03-29
- A command-line interface to make it easy to use from the shell, and support integration with asciidoctor-diagram.
- Finished the language guide documentation site.
- The
draw-column-headers
function was missing its zero-arity version, which is the most commonly useful one. It was only a quirk of the compiled Clojurescript that was allowing diagrams to work.
1.2.0 - 2020-03-26
- Continued fleshing out the language guide documentation site.
1.1.0 - 2020-03-24
- Subscripts were not working properly in Firefox
- Ability to draw superscript elements as well, even in conjunction with subscripts.
- Started creating a documentation site for the domain-specific language with which diagrams are created.
1.0.1 - 2020-03-22
This was the first release that actually worked when installed via
npm
.
- The previous release was accidentally published as a development build, not a release build, which will not work with out shadow-cljs.
Initial early release.