Releases: sverweij/mscgen_js
Usability, colors and emptiness
(If you want to see what's changed, instead of reading it, check out the online interpreter)
- Usability updates
We've tried to make mscgen_js more joyous to use, regardless of whether you happen to have a disability or not.
You'll encounter the changes quick enough, so we'll not spell them out one for one. Although all comments are welcome please do tell us if mscgen_js doesn't make you happy. - color schemes
You can color your charts with one of three color schemes. Each of which you can apply gently (respecting existing colors) or harshly (replacing all colors). - empty inline expressions
Xù and msgenny now allow inline expressions that have no content at all. This is mostly useful during the construction of a chart, where you do not yet want to flesh out the details of what happens within that inline expression. Example
a loop b: "forever" {
};
- Doxygen export
To prevent you from having to manually convert msc's into doxygen digestible c-comments, we've added an export option (debug mode only for now). It takes care of putting asterisks in front of each line and replacing the start and end remarks with the\msc
and\endmsc
that are in vogue in doxyland. - Deeplink to the current chart now also in the regular ui.
The interpreter now has a button to generate a deep link to the current chart. It's the same functionality as was introduced in debug only in the trying to remember release, but behind a button press. - Small beer
- Moved dot export back to debug mode - it's a fun option. According to our stats it's not very popular, however. Just holler if you want it back in the regular ui.
- The 'debug' export options are now behind a
...
button, next to the regular options.
- Technical beer
- We now require exact versions of dependencies instead of just compatible ones.
This way we have more of a guarantee that what we released (and tested) will also work elsewhere. - In addition to the services mentioned in the spring release we decided to give codecov.io a spin for detailed code coverage. We're curious how that works out. On a related noted: the reported coverage is now about 92%.
- bugfix: opening an svg in a separate window now also works in chrome.
- bugfix: re-rendering an ast to a language that doesn't support a feature simply omits it instead of generating an error.
- We now require exact versions of dependencies instead of just compatible ones.
For an exhaustive list of everything that changed since the previously announced release: 0.9.78...0.9.95
Trying to remember
- Charts embedded in html can now (optionally) deep link to an interpreter instance. The embedding doc describes how you can enable it.
- In debug mode, when 'auto render' is checked - the interpreter updates the url as you type. The url can be used as a deep-link into the interpreter (thanks to Florent Fayolle for suggesting this feature).
- Also in debug mode the interpreter grew a save and a load button that interacts with local storage.
- For those doing their own builds: the build process changed a bit. Details in the wikum. This is also the first release which separates source (zip, tar.gz) and build archives.
This release also contains some refactoring, bug fixes and dependency updates. Check the commit history for details: 0.9.69...0.9.78
Spring cleaning
This release has targeted improving the maintainability of the mscgen_js code:
- We now use external services to monitor code quality and visibly run builds:
- code climate
- we also upload our coverage data to them so they can display it alongside the static code analysis.
- We'll keep using plato - both tools seem to have a slightly different approach and the combination gives us better insight.
- travis - runs our build, tests and coverage
- david-dm - to monitor dependencies
- node security project - our (local and travis) build now breaks when one of our dependencies (or dependency of a dependency ...) has a vulnerability.
- code climate
- refactoring:
- the render code got rearranged so modules have clearer responsibilities
- we hoped up the interpreter code (ui) module
- unused code and modules got the balefire treatment
- the design documentation got a little rework too - we split it up in bite-sized pieces of content and expanded it a bit.
- dependency updates
- we moved from from node.js to io.js
- this has no consequence for running either the interpreter or mscgen-inpage.js as these do their work entirely in the browser.
- Why? The unit tests for rendering and some of the command line tools depend on the jsdom library to work. jsdom stopped supporting node.js in favor of io.js. We decided to move with them, instead of staying on an older version of the library. As a consequence, when you use the command line tools to render svg's, you'll have to use io.js too.
- we moved from from node.js to io.js
- version updates of almost all libraries to latest stable.
Functionality slipped in, nonetheless:
- xù embelisher
when the editor contains features that are extensions w.r.t. vanilla mscgen, the interpreter embelishes the language switch with a little: - all pages now meet some accessilibity standards (wcag) - at least according to on line scans I have run. For the content pages this is probably true, for the interpreter there's bound to be some room for improvement.
If you're really into details: All commits since release 0.9.53 in one handy summary: 0.9.53...0.9.69
0.9.53
Animations!
- mscgen_js now animates sequence charts
- works on all mscgen compatible charts
- step through your chart in a distraction free screen
- autoplay and manual step control
- for xù and msgenny users: inline expression support will follow in a later release.
Hit this link to pre-load a sequence chart in mscgen_js, hit the 🎥 button and enjoy!
Of course this also works with your own charts.
- Other notes for this release:
- mscgen_js got a small UI refreshment
- For those who missed the arrow heads in png/jpeg raster graphics on the 21st and 22nd of january: sorry! On your behest the responsible code was chastised with a thorough fix.
- All commits since release 0.9.44: 0.9.44...0.9.53
0.9.44
Usability tweaks
- The interpreter now also doesn't use jQuery anymore. It should load even faster.
- The sample embedding html the generator shows now contains an encoding meta tag.
- Loading screen: when the interpreter takes a while to load, it'll show a waiting screen. If you don't see it you're on a fast (enough) connection.
- In both the interpreter and documentation: moved external links from the header to an about box.
- Updated look and feel.
- embedding: support for wikimedia style
<mscgen>
tags - see https://sverweij.github.io/mscgen_js/embed.html for a live sample
0.9.35
0.9.34
Lighten up: syntax highlighting and dog-fooding
Changes from 0.9.14 (2014-05-30) => 0.9.34 (2014-10-11):
- Interpreter
- syntax highlighting for mscgen, msgenny and xù.
- clicking on the error message navigates the cursor to the error in the editor
- IE9 (and below) users get the advice to use an other browser.
- Embedding
- no need to include require.js in embedding. This means there's just one
javascript file to reference (simpler, shorter load times) - bug fixes for some border cases
- no need to include require.js in embedding. This means there's just one
- Tutorial
- Since june the tutorial uses embedding in stead of fixed pictures
- More elaborate coverage of mscgen
- The tutorial (and embed.html) look better on printers now
- links are to https whenever possible
- Technical improvements
- expand documentation overview
- testing
- improve unit test coverage (check the lcov report here)
- move more tests to file based
- some refactoring to simplify the code while retaining functionality
- organize the javascript differently to improve maintenance navigability
- makefile: cleanup & added a tl;dr
- upgrade libraries
- codemirror 4.2 -> 4.4
- requirejs 2.1.11 -> 2.1.14
0.9.14
Embedding and language tweaks
- Embedding
- Embedding mscgen in html is now fully supported. For a samples and instructions see https://sverweij.github.io/mscgen_js/embed.html.
- Language tweaks in msgenny and xù
- watermarks
- comments preceding programs are now preserved between
translations/ transformations. Note: comments within programs
and after them are still ignored. - the labels/ attributes of an in line arcs now go before instead
of after the arcs. This dramatically improves readability. An example for msgenny:
/* old syntax */
a loop c {
a -> b: do stuff;
}: ad infinitum;
/* new syntax */
a loop c: ad infinitum {
a -> b: do stuff;
};
- Dot renditions of sequence charts with broadcast arcs now show
the broadcasts correctly in dot as well. - Online interpreter:
- Added embedding export & help.
- Layout tweaks for smaller screens.
- Upgrade editor component.
- Remove metrics transformations (debug mode only).
- Vanilla mscgen export (debug mode only).
- Solved issues: #83, #87, #89, #90, #47 (mscgen_js now works in Opera :-) )
- Layout tweaks for inline expressions.
- Technical:
- use istanbul for quantifying test coverage
- improve test coverage
- add file based unit tests
- refactoring for improved maintainability (and incidentally
less code) - move little code to attic
- upgrade libraries:
- jquery -> v2.1.1
- codemirror -> 4.1.0
- require -> 2.1.11
0.8.5-beta
refactoring release
- renderast.js:
- attacked some monster functions and cut them to pieces
- split off skeleton setup code
- added source code documentation for most of the rendering code
- solved a webkit specific issue #82
- no new features
v0.8.2-beta
- improvements for rendering inline expressions:
- boxes for nested inline expressions do not overlap (issue #70)
- implementation of arc* attributes on inline expressions (issue #74)
- correctly render inline expressions that only involve one entity
- perfect the order of auto declared entities involved in inline expressions (msgenny; issue #79)
- add a wiki page for inline expressions (issue #71)