Skip to content

Latest commit

 

History

History
721 lines (416 loc) · 45.4 KB

CHANGELOG.md

File metadata and controls

721 lines (416 loc) · 45.4 KB

Changelog

All notable changes to this project will be documented in this file. See standard-version for commit guidelines.

7.1.0 (2023-08-27)

Features

Documentation Updates

  • Minor changes to story and examples. (d3fe139)
  • Incorporate changes to the vuepress2 config api in beta 47. (6a57fff)

7.0.0 (2023-03-26)

⚠ BREAKING CHANGES

  • End of support for NodeJS 14.x.

  • No longer supporting CommonJS module system, see using with vuepress 1.x

  • Bumped glob dependency from v7 to v9. This might affect you when using glob patterns in a glossarify-md config, e.g.:

    • glossaries with [{ "file": "./some/**/glob/**/pattern*.md" }]
    • includeFiles
    • excludeFiles
    • keepRawFiles

    Notable changes:

    • \ is now only used as an escape character, and never as a path separator in glob patterns, so that Windows users have a way to match against filenames containing literal glob pattern characters.
    • Glob pattern paths must use forward-slashes as path separators, since \ is an escape character to match literal glob pattern characters.
    • further changes see glob/changelog.md
  • bumped fs-extra from v10 to v11

Features

Bug Fixes

6.3.3 (2023-01-27)

Bug Fixes

  • Type Error: Cannot convert Symbol to string (#262) (6b4d984)

6.3.2 (2022-11-05)

Bug Fixes

  • Empty headings causing glossarify to exit with error (#257) (670cdcf)
  • New config refers to outdated config release version (#254) (4f2c377)

6.3.1 (2022-09-12)

Bug Fixes

6.3.0 (2022-09-12)

Features

Documentation Updates

6.2.1 (2022-07-12)

Bug Fixes

  • Identifier-based cross-linking doesn't provide glossary term preview for bottom page links (#242) (ff28d49)

Documentation Updates

  • Fix TOC. (888d01c)
  • Improve plug-ins doc. (2e9b5ca)
  • Separate Installing and Writing of Plug-ins (83c6889)

6.2.0 (2022-04-10)

Features

  • Path Rewrites. New option linking.pathRewrites (#238) (e43284d)

6.1.0 (2022-04-03)

Features

  • New option linking.limitByTermOrigin (#235) (fcc02ac)
  • indexFiles: New option generateFiles.indexFile(s).hideDeepLinks. (#233) (db58b9f)

Bug Fixes

  • Links in index files not sorted correctly (#232) (350b28c)

Documentation Updates

  • Improve explanations of SKOS interoperability. (1456456)

6.0.1 (2021-11-26)

Bug Fixes

  • Headings of imported glossaries not linked (#228) (677915e)
  • Only first alias from a list of aliases imported (#229) (cc59f3e)

Documentation Updates

6.0.0 (2021-11-20)

This is a summary of notable changes between v5.2.0 and v6.0.0. As a user of prerelease versions (alpha, beta, rc) or glossarify-md@next have a look at changes between pre-releases.

⚠ BREAKING CHANGES

  • Option linking.baseUrl now requires values to have a trailing slash.

  • glossarify-md@6.0.0 ends support for Node 12.x.

  • Dropping use of deprecated url.parse() NodeJS-API.

    Unfortunately, there is no replacement for the old API that is fully compatible. As a consequence you may observe that path encoding has changed. Previously all paths (relative or absolute) have been passed through url.parse(path).format() and thereby got URL-encoded. With this change (differently) encoded URLs are only created for option paths: "absolute" in combination with a baseUrl other than "/". Values for baseUrl (if present) now must be "/" or must be a URL which conforms to WHATWG URL specification and which can be passed as a base parameter to Node's URL implementation (see also https://docs.nodejs.org/api/url.html).

  • Making outDir current working directory (CWD):

    This might only affect you if you have used glossarify-md with third-party remark plug-ins which require file path configurations and assume paths relative to process.cwd().

  • chore(deps): Migrating to remark v14 and unified v10.

Features

  • Apply options like termHint and sort on glossaries selected with glob pattern. (1030b78)

Exporting & Importing

  • New config option glossaries[].export: Structured interoperable export. (6d68976)
  • Export and import RDF N-Quads (#209) (d5057c4)
  • Support multiple exports with different JSON-LD context mappings. (4cfcdc3)
  • Structured imports. (4447f72)
  • Import from remote (#205) (ebadc59)

Linking

  • New option linking.pathComponents (#173) (1a2fdd6)
  • New option value "none" for option linking.paths. (a0fc951)
  • New options linking.headingIdPandoc, linking.byReference, linking.headingAsLink. (447fc17)
    • Rename option linking.byReference to linking.byReferenceDefinition. (#174) (7950a17)
  • New option linking.headingIdAlgorithm for unique heading identifiers based on MD5 or SHA256. (ab61b6c)
  • New config option glossaries[].uri (699f01e)
  • New option glossaries[].showUris (48b5585)
  • New option glossaries.linkUris. (8d8f78b)

Others

  • New JSONish term attributes syntax (Aliases, etc.) (e6e9f45)
  • Install less dependencies by default (inquirer as a peer-dependency). (986bdec)
  • Make outdir current working dir (#196) (241d59d)
  • Migrate to ECMAScript Modules (ESM) (#164) (36e6289)
  • CommonJS interop. Package entry module with npm package archives for vuepress v1.x compatibility. (5898b5c)
  • Provide CommonJS export of getSlugger() for vuepress v1 compatibility (#189) (101b768)
  • Drop use of deprecated url.parse() NodeJS-API. (#178) (ed8ffc8)
  • New node support matrix (#210) (b83f73f)

Bug Fixes

  • --init --new wrongly assumes ./docs/glossary.md exists (#224) (d6bc34d)
  • Wrong linking of heading depths when term exists twice at different depths (#217) (3df4fe5)
  • perf: Unnecessary "unwrap" iterations. (2b0aa2f)
  • perf: Unnecessary duplicate writes. (f92db19)
  • Access error when processing all-empty files (aeaaf1d)
  • Not importing localized data correctly. (#220) (0327d87)
  • Add missing dependency vfile. (df8afc2)
  • Spaces causing many   being rendered in index files and lists (#195) (65d5290), closes #x20

Documentation Updates

5.2.0 (2021-06-04)

Features

Documentation Updates

  • Fix vuepress plugin requirements. (4cfef24)

5.1.3 (2021-05-27)

  • This is minor release which updates the list of dependencies to include new minor versions with security fixes. If you've installed glossarify-md for the first time, then you should already have got newer versions of dependencies due to version range specifiers used within glossarify's package.json. Otherwise you should have been able to install fixed dependencies yourself using npm audit fix.

5.1.2 (2021-04-17)

Bug Fixes

  • Option indexFiles: Incorrect path from index to section of occurrence. (#156) (41e59ad)

5.1.1 (2021-04-17)

Bug Fixes

  • Option indexFiles: Empty files generated on windows (#154) (0353f0e)

5.1.0 (2021-04-11)

Features

  • New option indexFiles. Generate an index document for terms of a particular glossary (#152) (62448e8)

5.0.1 (2021-02-20)

Bug Fixes

  • Clarify semantics of option 'linking.limitByAlternatives'. (6a1842e)
  • Escaping of link labels (particularly if link label is an URL). (e5074a8)
  • Linker sometimes adds '...' when there are no alternative definitions (Closes #148) (24f26c0)

Documentation Updates

  • New config docs in conf/v5/doc directly generated from JSON Schema. (06a629b)
  • fix schema opts (3d1d6fd)
  • Rename unified addendum into Conceptual Layers (444af60)

5.0.0 (2020-12-31)

⚠ BREAKING CHANGES

  • NodeJS 10.x will no longer be supported for glossarify-md versions >= 5.0.0. While v5.0.0-alpha.* and v5.0.0-beta.0 have been continuously tested on NodeJS 10.x beginning with the release of gossarify-md v5 tests will target NodeJS 12.x (LTS), 14.x (LTS) and 15.x (Current), only. Updates to glossarify-md >= 5.0.0 may break on NodeJS 10 without explictly notifying about a breaking change.
  • File extension "mkdown" no longer supported. Aligning with GitHub-supported file extensions.

Features

  • New node support matrix (#145) (07b95b0)
  • cli: New options --new and --more usable with --init. See README.md for details. (02240d3)
  • docs: Demonstrate glossarify-md in the docs by generating ./doc/ from ./demo (#143) (88a8b96)

Bug Fixes

  • Default Config Values: 'outDir' being in default 'baseDir' (ea0a144)
  • Wrong link to glossary definition in generated index file when glossaries[i].file config is a glob. (4ada56f), closes #133
  • Use GitHub set of supported Markdown file extensions. (745fd82)

5.0.0-beta.0 (2020-12-26)

⚠ BREAKING CHANGES

  • For unordered lists glossarify-md now writes the star marker "*". Previously it wrote dashes "-". For emphasis it now uses the star marker as well. Previously it used underscores.

    Since both is equally Markdown this is only a breaking change in terms of output similarity not in terms of Markdown rendering. We therefore do not provide any upgrade assistance to keep results the same. If you still care you can restore previous results by adding below snippet to your glossary-md.conf.json. However, we do not give any guarantees about identical outputs in the next major release, anyway.

    "unified": {
      "settings": {
        "bullet": "-",
        "emphasis": "_"
      }
    }
  • Renamed option linking.terms into linking.mentions. Affects users of v5.0.0-alpha.1 and v5.0.0-alpha.2. Please rename the option in your config file.

    • Due to a mistake we published v5.0.0-alpha-* releases too soon with the npm dist tag latest when we actually wanted to keep v4.0.1 tagged latest until 5.0 release. This should mostly have affected users who installed glossarify-md for the first time and got an alpha release. If you are affected by this breaking change we like to apologize. In case you are still on v4.0.1 we recommend to stay there and use the upgrade assistant once v5.0 is out. Beginning with this v5.0.0-beta.0 we do not have plans to add more breaking changes anymore.

Features

  • Markdown syntax extensions via plug-ins.
    • New option unified for extended markdown processing configuration (#140) (49a2dce). This opens up a whole lot of new possibilities and enables using glossarify-md on Markdown inputs not strictly adhering to [CommonMark]. Make sure to read the README.md.
  • Cross linking

Bug Fixes

  • fix(upgrade): Fix race condition which causes upgrade assistant to write new config to backup file. (f419aa7)
  • fix(upgrade): Make sure to only upgrade to versions compatible with default schema
  • Being more robust if no glossary file is available.

5.0.0-alpha.2 (2020-12-19)

Bug Fixes

  • Include 'conf' directory in npm package (280efef)

5.0.0-alpha.1 (2020-12-19)

⚠ BREAKING CHANGES

  • Option linking has become linking.paths. Option baseUrl has become linking.baseUrl.

    An upgrade assistant will help with the migration. From this version on configuration files must refer to a schema by means of a versioned path. This helps the upgrade assistant in future releases to find out what changes need to be applied to upgrade from an old schema.

  • Migrating to remark@13.0.0 with remark-parse@9.0.0 and new micromark parser (#132)

    With remark-parse having switched to a completely new yet CommonMark compatible markdown parser there's a (minor) risk that output produced by glossarify-md changed. Based on what we observed by comparing outputs with our previous baseline there were only marginal changes which make output even more compliant with CommonMark. These are the changes we accepted as part of our new test baseline:

    Indentation: Remark strips leading spaces on new lines either because there is no syntax construct which requires them or to correct indentation, e.g. of list items.

    Headings: Remark lifts headings at a depth > 6 into the valid range of 1-6 according to CommonMark Spec v0.29.

    Escapes: There may be a few changes to what is being escaped by a leading backslash. See remark for details.

    The remark changelog can be found here: https://github.com/remarkjs/remark/releases/tag/13.0.0

  • test: Upgrade test configurations to v5 schema.

  • test: New baseline.

  • Terms found in HTML markup won't be linkified any longer.

Features

  • New option linking.terms. Limiting the number of glossary links to once per paragraph (#118) (0310e93), closes #117 #127
  • cli: New parameter --init to generate a config file with all options and defaults (#126) (04894ce)
  • Allow lists from arbitrary identifiable HTML nodes (1342a69)
  • Anchors for direct navigation to images and tables and unified lists (2175d8b)
  • Improved performance (2e9f9dc)
  • Support pandoc-style custom heading ids (#112) (4ef0fe7)

Bug Fixes

  • Deeply merge configuration schema defaults (#124) (1583ff0)

  • Linkification in embedded HTML markup (#110) (5da4415)

  • Conf schema upgrade and upgrade assistant (#128) (1eb152f), closes #128

5.0.0-alpha.0 (2020-11-11)

⚠ BREAKING CHANGES

  • Terms found in HTML markup won't be linkified any longer.

Features

Bug Fixes

  • Linkification in embedded HTML markup (#110) (5da4415)

4.0.1 (2020-10-18)

Bug Fixes

4.0.0 (2020-09-26)

⚠ BREAKING CHANGES

  • outDirDropOld is now true by default. Previously false.
  • experimentalFootnotes is no longer required and no longer a valid configuration option. Please remove it.

Footnotes are still not official CommonMark. However they are also not really a feature of glossarify-md, thus the option doesn't provide any value and was removed.

  • indexFile option no longer supports a string value. Instead of

    "generateFiles": {
      "indexFile": "./book-index.md"
    }

    write:

    "generateFiles": {
      "indexFile": {
        "file": "./book-index.md",
        "title": "Book Index"
      }
    }
  • Command Line Interface (CLI) changed (#94).

From the old set of arguments only --config and --help remain supported. Any other configuration options are being replaced by two new options --shallow and --deep which take a JSON string that is expected to match the configuration schema. As you may recognise from their names you can use them to merge a command-line provided configuration with the configuration provided in the configuration file.

Use those two options if you need to override particular configuration keys in a configuration file on a particular program execution.

For example if you previously wrote

glossarify-md --config ./glossarify-md.conf.json --baseUrl "http://example.org"

you now write

glossarify-md --config ./glossarify-md.conf.json --shallow '{ "baseUrl": "http://example.org" }'

If you need to add another glossarify file write

glossarify-md --config ./glossarify-md.conf.json --deep '{ "glossaries": [{ "file": "./glossary2.md" }] }'

Bug Fixes

  • bump lodash from 4.17.15 to 4.17.19 (#102) (788379d)
  • Drop option 'experimentalFootnotes' (5785aba), closes #x3 #90
  • minimist-options 4.1.0 breaks glossarify-md (#93). (0c1d2dd), closes #94
  • Drop output directory by default. (0b9c2dc)
  • 59 config option generate files indexfile drop support for value range string (#95) (8449eda), closes #95 #59

3.6.5 (2020-05-23)

Same as 3.6.4 but replaces 2.1.2 hotfix release for v2 release branch on npm with another v3 release.

3.6.4 (2020-05-23)

Bug Fixes

  • Hotfix: Nail 'minimist-options' at v4.0.1 to mitigate breaking change in v4.1.0 (#93). (06db3cb)

3.6.3 (2020-05-01)

Bug Fixes

  • glossarify-md breaks VuePress [[toc]] markdown extension (#88) (539b685)

3.6.2 (2020-04-29)

Bug Fixes

  • 'Cannot find module remark-stringify' (#87). (de16967)

3.6.1 (2020-04-29)

Bug Fixes

  • Don't cut a term's short description on markdown formatting (#81) and Correctly link to formatted term headings (#82) (c0066f2)
  • Extract anchor labels with markdown formatting (#84) (3c85a96)
  • Headings with codespans cause error output (#75) (dfa42d4)

3.6.0 (2020-04-10)

Features

  • Minor performance improvements. Write outputs in parallel. (f7720e8)
  • Sort terms in a glossary (#66) (1846929)

3.5.0 (2020-03-01)

Features

  • Arbitrary Lists with HTML anchor tags (<a>), e.g. List of Listings, List of Formulas, ... . See also README.md. (#73) (4cee0ec)
  • New option outDirDropOld to remove prior outputs rather than overwrite/merge with new ones. Default: false (5c518b0)

3.4.1 (2020-02-15)

Documentation Updates

  • Fix opts for listOfTables (203c4f7)

3.4.0 (2020-02-15)

Features

  • Generate a list of tables. New option generateFiles.listOfTables. See also README.md. (#67) (ef91d9d)

  • Allow to configure heading depth for less cluttered index file (#71) (04ed7f8)

3.3.0 (2020-01-19)

Bug Fixes

  • Option --reportNotMentioned is ignored. With this fix please pass --reportNotMentioned explicitely via command line or config file to keep on being informed about unused terms. (#67) (dbbf4a4)

  • Index: term headings should be at depth 2 (#64) (792253e)

Features

  • Generate a List of Figures with option generateFiles.listOfFigures. More see README.md. (#61) (2c57ace)

3.2.0 (2019-12-29)

Bug Fixes

  • Errorneous file links with config option linking: "absolute" and generateFiles.indexFile. (293c7eb)

  • Only last occurrence of a shared term gets linked with all its definitions. (#55) (c891c87)

Features

  • Use superscript typesetting for ambiguously defined term links. (#57) (0b98e43)

3.1.0 (2019-12-24)

Bug Fixes

  • escape terms containing characters with special meaning in regExp (1815304)
  • v3.0.0 linkified headings don't play well with vuepress. Closes #48. (e9485f2)

Deprecation Notices

  • Value range 'string' of config option 'generateFiles.indexFile'. Use object instead (see README.md). (ceb7e0c)

Features

  • Custom page title for generated index file can now be set. (0b98e43)
  • link usage of (other) terms in a term's glossary definition. (671d1ee)

3.0.0 (2019-12-14)

⚠ BREAKING CHANGES

  • v3.0.0: End of support for nodejs 8.x (LTS). Versions of glossarify-md >= 3.0.0 may continue to work with nodejs 8.x but may also begin to use JS language features and APIs earliest available with nodejs 10.x LTS. Such changes may be introduced with any new version including bugfix versions and without notice or classification of being breaking changes to nodejs 8.x users.
  • With this change section headings will be automatically linkified. URL fragments of section headings may change thus affecting inter-document cross-links or bookmarks of already published documentation. Note: links and bookmarks will continue to point the same page yet not the correct section on that page. Prior section headings which have manually been wrapped into markdown link brackets may get wrapped twice. Review any output prior to publishing it.

Documentation Updates

  • CONTRIBUTING.md: Rework debug section (25a1288)

Features

  • Report on glossary terms never mentioned in text (#43) (96a7415)

  • 3 support backlinks from definition to usage (#46) (9d06dd6), closes #46 #3

  • v3.0.0: New node support matrix (#45) (#47) (c140016)

2.1.1 (2019-12-04)

Bug Fixes

  • In cases where the alias began with the term as a substring, then ocurrences of the alias were no longer linked. For example if the term is Cat and the alias is Cats, then occurrences of Cats were no longer linked to the glossary term Cat. (#41) (4ace562)

2.1.0 (2019-10-04)

Features


2.0.1 (2019-10-04)

Bug Fixes

  • Glossary-terms flanked by ( or ) wouldn't get linked (#37) (ee998e7)
  • remove Firefox remote debugging. Not for nodejs. (8d77ce2)

Documentation Updates

  • README.md: Fix document output example (replace inline link with reference) (d3d147e)
  • vuepress: Include a link to vuepress issue 1815. (62f19e7)

2.0.0 (2019-10-01)

⚠ BREAKING CHANGES

  • cli: No --baseDir and --outDir default values anymore. You will be asked for explicit values if none provided.
  • cli: Now stops if --baseDir and --outDir resolve to the same directory to prevent accidental overwriting of source files. Can be ignored with --force flag.
  • cli: CLI options now take precedence over config file options, if the same option exists in the config file loaded via --config and as a command line argument.

Bug Fixes

  • Short description not correctly extracted (#30) (eff54b4)
  • Runtime error path.absolute is not a function for configuration linking: absolute and baseUrl: "" (538c65d)
  • cli: CLI argument handling and defaults (c55cee0)
  • test: Make npm run commit-baseline run tests first. Reset git index before commit and include new test artifacts on commit. (19fd039)

Features

  • Option to let user define position of term hint (#10) (0569652)

1.1.3 (2019-09-26)

Bug Fixes

  • Aliases: Trailing comma causes infinite loop with out-of-memory failure (#26). (d5ddd5b)

Documentation Updates

  • CONTRIBUTING.md: Using glossarify-md debug config and experimental debugging (7c47169)
  • README.md: Update sample. Fix wrong default value for 'baseDir'. (7959d80)

1.1.2 (2019-09-25)

Bug Fixes

  • dangling anchor links with german umlauts (#27). See updates to doc/use-with-vuepress.md and slugify option. (475d692)
  • package.json declares wrong 'main' (0dc107d)
  • Security. Update package-lock.json for use of handlebars@^4.3.1 (f464ceb)
  • Terms with leading or trailing Umlauts/Non-ASCII chars not linked (#28). (0c7f1da)

Documentation Updates

  • vuepress: Add more info on implications of changing vuepress slugifier (065914b)
  • vuepress: npm start should serve from src for live-reloading (8930098)
  • vuepress: Use glossarify-md slugger with vuepress (c707566)

1.1.1 (2019-09-16)

1.1.0 (2019-09-15)

Features

1.0.0

Features:

  • Glossary Linking
  • Multiple Glossaries
  • Aliases
  • Case-insensitive linking (via option)
  • Term Hints
  • Ignored Files
  • Excluded Files
  • Supported Platforms: Linux, Windows, macOS