smartdown
Version:
A library for translating, rendering and interacting with Smartdown documents. Smartdown is an extension of Markdown that provides richer media support and reactive programming capability.
78 lines (77 loc) • 19.3 kB
HTML
<html><head></head><body><h2 id="release-history">Release History</h2>
<hr />
<ul>
<li><strong>1.0.0</strong> - First public open source release of Smartdown, after too many years and 118 private releases. Huzzah!</li>
<li><strong>1.0.1</strong> - Delete LICENSE in favor of LICENSE.md. Eliminate duplicate FAQ from README.md. Replace references to smartdown.site with smartdown.github.io/smartdown (deprecating smartdown.site). Replace references to doctorbud.com/smartdown/ with smartdown.github.io/smartdown (deprecating doctorbud.com/smartdown/). Use <a href="mailto:smartdown@quantumclay.com">smartdown@quantumclay.com</a> for email feedback. Eliminated duplicate of README that was in doc/index.md.</li>
<li><strong>1.0.2</strong> - Add support to starter.js for loading multicards and jumping to a specific card in a multicard document. Create a single-file example in SimpleSiteExample/index_unpkg.html, which refers to unpkg.com to satisfy smartdown and gallery resources. Fix starter.js so that it can handle Gists properly even when the card hash is an external URL.</li>
<li><strong>1.0.3</strong> - Updated deps. Add support for abcjs.net, which supports generation of sheet music and MIDI. Very preliminary, but cool.</li>
<li><strong>1.0.4</strong> - Updated deps. Extend abcjs integration to support the loading and playing of URLs with a .abc suffix. Increase media breakpoint width to 800px to determine when the font size and line-height changes from small to larger. Use SD Gallery 0.0.32. Add a custom style to SimpleSiteExample so that the smartdown-container expands to fit the window, as opposed to 'auto'.</li>
<li><strong>1.0.5</strong> - Fix XMLHttpRequest calls to use overrideMimeType() so that FireFox doesn't freak about non-XML content (such as .abc files). Deal with Chrome's new Autoplay policy by resuming the AudioContext that Chrome suspends until user interaction.</li>
<li><strong>1.0.6</strong> - Update dependencies. Add smartdown.importCssUrl() function. Adjust inline_helper.js so that it scrolls to top when a card is loaded.</li>
<li><strong>1.0.7</strong> - Updates Gallery to 0.0.36 (clearer jsPsych documentation and examples).</li>
<li><strong>1.0.8</strong> - Updates Gallery to 0.0.37 (improved jsPsych documentation and examples). Adds experimental center and inline playable mode, along with a non-breaking paragraph syntax to allow for playables to be inlined within text. Fixes a sequencing bug in some playable loaders, where playables would execute not in lexical page order. Update deps. Eliminate use of playable-bottom-spacer, until I remember why it is there.</li>
<li><strong>1.0.9</strong> - Remove LDF as a builtin extension. Adjust smartdown-outer-container to add horizontal margins in a responsive way.</li>
<li><strong>1.0.10</strong> Fix issue where setVariable() and calculations don't cause reactivity in output cells. Fix issue where setHome() fails to resetAllPlayables, leaving sounds playing and other resources unreleased. Eliminate DOMPurify prefix kludge in favor of FORCE_BODY=true; this eliminates the problem where a script was improperly clean from a text. Gallery 0.0.41.</li>
<li><strong>1.0.11</strong> - Fix DOMPurify config issue that disappears target=.</li>
<li><strong>1.0.12</strong> - Fix DOMPurify config issue that disappears videos. Basically, enable iframe. Get mocha unit tests working again. Added nightwatch test (very minimal) for existence of a youtube iframe on the Videos card.</li>
<li><strong>1.0.13</strong> - Improve inline playable experience with inline target div cells. Remove /debug option from autoplay playables that don't have /playable. Remove left margin from paragraphs; instead, use negative text-indent for headings to achieve the same effect.</li>
<li><strong>1.0.14</strong> - Fix Tooltip Disclosables so that they have rounded borders without extra whitespace. Adjust positioned disclosables so that there is some padding between the disclosable and the viewport. Adjust the default Disclosable style to have shadow/border/background. Add a /transparent option to elimate these defaults. Fix issue with youtube iframes not having required allow='autoplay; encrypted-media; picture-in-picture' parameter. Fix CSS for pre tag so that highlightjs-rendered code wraps and doesn't escape its enclosing pre tag. Delete config.json, which appears to have been accidentally committed. Delete unnecessary comunica-browser.js, since it is now included via CDN. Enable graphviz playables to use smartdown.import (this should be generalized to other non-JS languages). Eliminate default white border for smartdown-container. Convert more CSS to SCSS.</li>
<li><strong>1.0.15</strong> - Fix (again) the allow= option for iframes and Safari.</li>
<li><strong>1.0.16</strong> - Fix (again again) the allow= option for iframes and Safari.</li>
<li><strong>1.0.17</strong> - For autoplay playables, don't show source prior to autoplay. Fix bug where a code block with no language specified would cause a JS crash due to 't.lang' being undefined in 't.lang.indexOf()'. Add 'smartdown-playable-kiosk' CSS class to support Kiosk Mode. Gallery 0.0.45. Fix P5JS instantiation so that the 'p5.frameRate' is adjusted to a slow 16FPS if the author hasn't overridden the default 60FPS. This is to save energy, and is still a WIP spec. Add open/close/is-Fullscreen() functions.</li>
<li><strong>1.0.18</strong> - Gallery 0.0.46. Eliminated extraneous debug message about unlabelled compute cells. Adjusted CSS for disclosable-attach so that overflow:visible is replace with :auto. Eliminate need or support for container-fluid, which is really a BS4 class and shouldn't be in Smartdown. Fix horizontal centering problem with smartdown-outer-container. Improve dark theme's behavior for disclosables, MathJax, and xypic. toggleKiosk() now ensures kiosk div is scrolled into view.</li>
<li><strong>1.0.19</strong> - Gallery 0.0.47. Updates P5JS to v0.10.2, eliminating use of p5.dom.js. Hide Kiosk button when playable is paused. Improve look and position of Kiosk button. Invoke p5._onresize() when Kiosk mode is toggled. Show progress bar while waiting for smartdown.import() to complete. Use minified version of emoji-js. Generate source maps during 'npm run analyze' to eliminate warnings.</li>
<li><strong>1.0.20</strong> - Port some utility functions to TypeScript. Add support for TypeScript linting and Docma.</li>
<li><strong>1.0.21</strong> - TypeScript support. Gallery 0.0.49. Ensure that code spans are formatted with Highlightjs. Adjust Augmented code button and display to follow the playable progress bar and source. Add Java and Typescript to list of default highlightjs languages. Improve 'smartdown-theme-dark' behavior to deal with highlightjs better and to work better with output cells.</li>
<li><strong>1.0.22</strong> - Refactors many of the extension loaders to use the new extensions.ts mechanism. This is a work-in-progress towards reducing the base bundle size of Smartdown and porting to TypeScript. Updates ABCJS. Renames /extensions/ABCJS.js to /extensions/ABC.js.</li>
<li><strong>1.0.23</strong> - Use Gallery 0.0.50.</li>
<li><strong>1.0.24</strong> - Gallery 0.0.51. Adds vdom-to-html, for use by Stdlib and others. Refactor more dependent packages (e.g., Mermaid, Stdlib) to use the newly evolving plugin extension mechanism. Adds 'this.sizeChanged()' detection to a playable. Adds experimental /console option to playables to display per-playable errors and logging. Adds better reporting of TypeScript transpilation errors.</li>
<li><strong>1.0.25</strong> - Gallery 0.0.53. Eliminates experimental /console option in favor of auto-displaying console if it is used. Improves look of Augmented and Console displays. Adds per-playable 'this.log()' function to log to playable's console.</li>
<li><strong>1.0.26</strong> - Adds 'async' wrapper function for playables so that 'await' may be used more easily. DRYs up the way that playables are invoked, no matter the source language or augmentation. Add better error reporting. Adds smartdown.runFunction() to be the common point of playable invocation; it may be useful for other purposes, though, so we are exposing it (for now). Adjusts 'consoleWrite' so that it can take an Object or String as its parameter (multiple args are planned for a future version). Improves smartdown-theme-dark.</li>
<li><strong>1.0.27</strong> - Fixes VERSIONS.md to properly indicate v1.0.26. Fixes starter.js to remove themes only when an override theme is specified. Fixes unit tests to use correct version test.</li>
<li><strong>1.0.28</strong> - Gallery 0.0.55. For most extensions, replace the versioned CDN URL with a 'latest' URL. Adds /kioskable qualifer to playable. Fix issue where SVG image URLs don't work in Calc buttons. Fix calc_handlers to use ensureExtension() for loading d3. Extends smartdown.import= to allow CSS files to be loaded once per page, as opposed to the smartdown.importCssUrl() function which does not prevent duplicate stylesheets.</li>
<li><strong>1.0.29</strong> - Gallery 0.0.56. Improves consoleWrite so that it can take an arbitrary amount of arguments, and so that new output scrolls the div to the bottom. Adds @babel/plugin-transform-runtime to support async/await. Adds a new version of dependOn that allows an author to specify per-trigger depend functions. Improves theme-dark look for the playable console.</li>
<li><strong>1.0.30</strong> - Gallery 0.0.57. Use 40vh for max-height, rather than height, for output cells of type JSON. Fix bug where a dependent playable with a preset variable would not hide the blue progress bar.</li>
<li><strong>1.0.31</strong> - Add doneHandler to smartdown.initialize() to support deferred loading of the initial content. Improve starter.js so that it can handle tunnelling for multiple independent smartdown-output divs. Adjust smartdown.goToCard() so that it receives an outputDivId so that rendering of the tunnelled card occurs in the correct div. Add smartdownAdjustHash boolean to starter.js context so that tunnelling can optionally not adjust the window.location.hash.</li>
<li><strong>1.0.32</strong> - Fix importers.ts so that the special prefix smartdownBase: is replaced with smartdown.baseURL at load-time.</li>
<li><strong>1.0.33</strong> - Gallery 0.0.58. Improve starter.js to deal with Solid hashes and tunnels. Adds support for a React playable, which uses Babel to transpile JSX.</li>
<li><strong>1.0.34</strong> - Gallery 0.0.60. Refactor some extensions to use new plugin format. When declaring a Javascript playable such as a D3 or React playable, you can declare the more specific language as a playable qualifier and use 'javascript' as the primary language; this aids syntax highlighting in most editors.</li>
<li><strong>1.0.35</strong> - Gallery 0.0.61. Simplify how Gallery files are included in build.</li>
<li><strong>1.0.36</strong> - Gallery 0.0.62. Fixes bug in starter.js that crashed when hash location changed handler was called.</li>
<li><strong>1.0.37</strong> - Adds version number to unpkg.com/dc because the 4.0.0beta is incompatible and not working. Adds a Solid-specific hack to starter.js so that card names like 'Home.md' or 'Home' are interpreted as '/public/Home.md'.</li>
<li><strong>1.0.38</strong> - Gallery 0.0.63. Improves behavior of consoleWrite() so that the size adjusts to about 10 lines and then begins scrolling. Adds experimental (and not yet working) ability to import ES6 modules and to declare a playable as a type=module script. Updates Mermaid config to use new sequence diagram config. Removes unnecessary script element used to hold source code.</li>
<li><strong>1.0.39</strong> - Gallery 0.0.64. Improves .setVariables() syntax to allow an object to be used to set multiple variables. Adds .set() as a preferred alias for .setVariables() and .setVariable(). Adds Typescript playable support for ES6 modules. Adds preliminary idea of 'flavors', which are annotations that can be used to decorate cells (currently only output cells) with CSS classes; more to come on this front.</li>
<li><strong>1.0.40</strong> - Gallery 0.0.65. Fix bug where relative URLs without a prefixing slash are appended to window.location.origin, resulting in an invalid URL. Add id attributes to generated h1-h6 headings. Add hover links for headings.</li>
<li><strong>1.0.41</strong> - Gallery 0.0.66. Fix bug in relative links. Adjust smartdown-theme-blog to have better inter-paragraph spacing. Refactor renderLink to use linkRules via expandHrefViaLinkRules().</li>
<li><strong>1.0.42</strong> - Gallery 0.0.67. Update dependencies, including P5JS to 1.0. Make goToCard() more flexible by allowing the 'event' and 'outputDivId' to have defaults.</li>
<li><strong>1.0.43</strong> - Fix smartdown.version variable to reflect current version.</li>
<li><strong>1.0.44</strong> - Gallery 0.0.68. Adds ability to control whether a link opens in a new browser window or the current window. Adds smoothscroll-polyfill package to support cross-browser smooth-scrolling to anchors. Improves starter.js to more efficiently handle intra-page links by not re-loading content for the current page.</li>
<li><strong>1.0.45</strong> - Gallery 0.0.69. Fix issue where a page located in a subdirectory (e.g., /lib/) doesn't handle intra-page links properly. Fix issue with video sizing. Enable fullscreen capability for videos. Fix video link parsing so that user-supplied args are applied correctly. Fixed eslint config so that typescript rules are only applied to .ts files. Fix all eslint errors.</li>
<li><strong>1.0.46</strong> - Fix issues with centering of movable discloasables. Adding css styling to improve look of disclosables. Increased height of draggable disclosable header.</li>
<li><strong>1.0.47</strong> - Remove 'rendering graphviz' message prior to rendering graphviz. Update dependencies. Remove non-working Mocha unit tests. Improve disclosables so that they have an associated boolean smartdown variable that can be reacted with. Implement phantom disclosables to enable triggering dependent playables.</li>
<li><strong>1.0.48</strong> - Updates dependencies. Updates marked.js to 2.x. Fixes an e2e test to work with new README.md text.</li>
<li><strong>1.0.49</strong> - Update dependencies. Fix issue with Brython 3.9.2 and Safari with respect to very long library loading times. Upgrade Brython module to be conformant with latest Smartdown extension spec. Mystical change to the loading of external scripts to ensure that the onload event doesn't fire twice. Added preliminary support for Filament.</li>
<li><strong>1.0.50</strong> - Improved Filament plugin to support reactivity and better sizing of Canvas. Simplified and refactored how playables are invoked, possibly breaking something somewhere. Instead of passing D3, P5JS, and other 'legacy' playable types through the playable argument list, we just rely on them being globally scoped. Tried to improve the behavior of this.log() to ensure that the div was big enough for multiline messages. Fixed starter.js to better respect the URL query parameter '?theme=...' and preserve it even when scrolling to subhashes.</li>
<li><strong>1.0.51</strong> - Updates Filament extension. Update deps.</li>
<li><strong>1.0.52</strong> - Update .nvmrc to v16.8.0. Update version to 1.0.52. Eliminate use of d3v5. Update dc.js to latest version. Center Filament diagram backgrounds when translate() is used.</li>
<li><strong>1.0.53</strong> - Update deps. Update P5JS global translation names. Deleted local SSL certificates and added ssl/makeCert.sh script to generate SSL CA and certificates.</li>
<li><strong>1.0.54</strong> - Update deps. Improve Kiosk mode.</li>
<li><strong>1.0.55</strong> - Update deps. Replace usage of the now-deprecated 'jsyaml.safeLoad()' to use 'jsyaml.load()', which is safe by default now.</li>
<li><strong>1.0.56</strong> - Update deps. Fixed 'draggable-but-no-closeable' disclosable so that it has a drag bar of the same size as a 'closeable' disclosable. Use a bolder X icon for the close box. Ensure that 'swatch' cells can be inlined into paragraphs. Fix bug in reactivity involving async/await playables. Previously, 'await' would result in the playable returning prematurely, causing the reactivity data to be incorrect. Ensure that 'markdown' type cells can be inlined. Fix bug where unclosed 'decoration' caused cells to not be interactive. Hide a THEAD when all of its TH are empty. Remove padding from '<code>' elements so that they align properly in lists. Enhanced ESLint rules and tech to better detect issues and guide code modernization. Fixed bug in starter.js that mishandled multiple URL search arguments after a hash (e.g., '#Home?theme=dark?theme=dark') Improved 'publish.sh' to be more robust. Changed padding for '<code>' elements so that the font size matches adjacent text.</li>
<li><strong>1.0.57</strong> - Update deps. Updated the OpenJSCAD extension to OpenJSCAD V2.x, which required substantial changes, but mostly works, including async/await fetching of STL. Modernized the use of src/extension/OpenJSCAD.js to use generate*() functions. Deleted the custom build of OpenJSCAD from src/external/openjscad.reentrant.umd.js. ESLint fixes.</li>
<li><strong>1.0.58</strong> - Remove dead code from OpenJSCAD. Improve pinch-to-zoom detection for mobile devices.</li>
<li><strong>1.0.59</strong> - Update deps. Modernize JS code.</li>
<li><strong>1.0.60</strong> - Update deps. Fix documentation links.</li>
<li><strong>1.0.61</strong> - Update deps. smartdown/gallery 0.0.80. npm scripts 'test', 'test:e2e', and 'test:unit' have been re-enabled with latest Nightwatch and MochaJS versions.</li>
<li><strong>1.0.62</strong> - Update deps. Update all code to pass 'npm run lint'. Remove dead code. Add distdocts/ to .gitignore. </li>
<li><strong>1.0.63</strong> - Update deps.</li>
<li><strong>1.0.64</strong> - Update deps. Improve syntax highlighting for inline code rendering. Fix issue with 'bash' code blocks not being highlighted without a language identifier. </li>
<li><strong>1.0.65</strong> - Update deps. Add option to 'configure()' to allow overriding of the default 'xypicURL', to support at least the 'smartdown/editor' project.</li>
<li><strong>1.0.66</strong> - Update deps. Begin refactoring into a less-monolithic source code organization on the way to Full Typescript. Seal <a href="mailto:typescript@4.9.5">typescript@4.9.5</a> in package.json due to a problem compiling src/external/brython.js via Typescript (this will be fixed later).</li>
<li><strong>1.0.67</strong> - Continue refactoring into finer-grained source modules. Fixed 'eslint' arguments to fully capture all files in 'src/'. Update Gallery to 0.0.85.</li>
<li><strong>1.0.68</strong> - Update deps. Refactored global variables in index.js to be more isolated into globalState.js.</li>
<li><strong>1.0.69</strong> - Update deps. More refactoring into smaller files. Lock down ThreeJS version to 0.122 until Gallery examples are updated.</li>
<li><strong>1.0.70</strong> - Update deps. Fix Brython so that it can be included via CDN. Adjusted tsconfig.json to exclude /src/external.</li>
<li><strong>1.0.71</strong> - Update deps.</li>
</ul>
</body></html>