Skip to Content
  • Website
Codsen
  • Home
  • Open Source
  • Articles
  • About

backOpen Source→string-fix-broken-named-entities→Changelog

Changelog

All notable changes to this project will be documented in this file.
See Conventional Commits opens in a new tab for commit guidelines.

7.2.0

19 Aug 2026

🔧 Fixed

  • make validation diagnostics safe (7b01074)
  • resolve review findings REV-004 through REV-007 (b60e9ee)
  • retire direct publish aliases (f98e31e)
  • tighten entity match helper results (c06c071)

✨ Features

  • add codsen-glob and migrate glob consumers (5595a2b)
  • refresh the tooling and generate with the latest dependencies (781f802)

Performance Improvements

  • reduce allocations while matching broken entities (6d05cc9)
  • stop shipping a debug-only scan in string-fix-broken-named-entities (47996ea)

⏪ Reverts

  • Revert “Merge pull request #128 from codsen/release/npm-32198404552–1″ (5baeeaa), closes #128
  • Revert “Merge pull request #127 from codsen/release/npm-32194020886–1″ (5f1e94d), closes #127

7.0.0

1 Dec 2022

💥 BREAKING CHANGES

  • Minimum supported Node version is v14.18; we’re dropping v12 support

6.1.0

12 Aug 2022

✨ Features

  • export types (5172d54)
  • export types (11b5fb9)

6.0.15

4 May 2022

🔧 Fixed

  • improve types (ea1210f)

6.0.0

9 Sept 2021

✨ Features

  • migrate to ES Modules (8c9d95d)

💥 BREAKING CHANGES

  • programs now are in ES Modules and won’t work with Common JS require()

5.4.0

24 May 2021

✨ Features

  • config file based major bump blacklisting (e15f9bb)

5.3.0

11 Apr 2021

✨ Features

  • export the array of all possibly-reported rule names, allRules (7e16a96)

⏪ Reverts

  • Revert “chore: setup refresh” (23cf206)

5.2.0

25 Mar 2021

✨ Features

  • improve the matching algorithm when there are competing fixing choices (ce43906)

5.1.0

23 Mar 2021

🔧 Fixed

  • fix a case with entity without semi, reporting of raw amps in front (8e25561)
  • more fixes for opts.textAmpersandCatcherCb (1bbdf3a)
  • tend a falsy opts.cb (8626c30)
  • tweaks for opts.textAmpersandCatcherCb (18d4805)

✨ Features

  • opts.textAmpersandCatcherCb and tweak rule names to conform to emlint better (27f2518)

5.0.1

28 Jan 2021

🔧 Fixed

  • add testStats to npmignore (f3c84e9)

5.0.0

23 Jan 2021

✨ Features

  • rewrite in TS, start using named exports (13b81a3)

💥 BREAKING CHANGES

  • previously you’d consume like: import fixEnt from … — now import { fixEnt } from …

4.0.0

28 Nov 2020

Accidental version bump during migration to SourceHut. Sorry about that.

3.0.0

6 May 2020

🔧 Fixed

  • measure distance on more lenient Levenshtein l=2 by source entity which is present (afb99d6)

✨ Features

  • big refactor, levenshtein on all entities, more tests (671dd5e)

💥 BREAKING CHANGES

  • less of crazy nbsp cases will be covered, essentially nbsp’s from now on are like all other entities — treated the same

3.0.0

Rebase.

Previously, the   detection was more sophisticated than the rest of the entities’. We were using a home-brew analogue of Levenshtein’s distance but tuned to all the possible and impossible peculiarities of fat-finger cases.

It was impossible to scale the algorithm to all other entities.

We re-coded all the logic to use Levenshtein distance — for all entities, including nbsp — and removed all the DIY Levenshtein clauses of nbsp

API doesn’t change but we bump major because the code has been changed drastically and in theory that opens new opportunities to bugs.

But all existing unit tests pass and more have been added.

2.6.0

26 Apr 2020

✨ Features

  • add more eslint rules and make them pass, rebase a little as well (6e5e19f)

2.5.0

21 Nov 2019

✨ Features

  • release opts.entityCatcherCb — change it to ping only healthy entities + documentation (d7a76b2)

2.4.3

11 Sept 2019

🔧 Fixed

  • algorithm tweaks (fe71a2a)
  • treat clean nbsp sequences correctly (061de0d)

2.4.0

24 Aug 2019

🔧 Fixed

  • fix &prnsim to be recognised correctly (fd4df75)
  • further named entity recognition fixes (feef62b)
  • recognise false positive &nspar and also wire up false-positive array to be checked (c5d2d2d)

✨ Features

  • improved recognition of joined named html entities without semicolons (4aa96f7)

2.3.0

1 Jun 2019

✨ Features

  • Algorithm improvements and more unit tests (23d8596)
  • Avoid false positives when adding missing ampersand onto named HTML entities (5b48388)
  • Loosen amp fixes when ampersand is present (49238ff)
  • Make fixing algorithm more conservative, tap the list of uncertain entities (1806c12)
  • Move the known adhoc broken entity patterns above all-entity matching part (c9350fa)
  • opts.entityCatcherCb (cb77ae9)
  • Programmatic tests to cover entity letter case errors and making them pass (f3dc471)
  • Supports numeric entities, both decimal and hex (d07d5c4)
  • wrong case and whitespace recognition on all named HTML entities (942d2cf)

2.2.0

6 Apr 2019

🔧 Fixed

  • Align nbsp missing semicol error with other entities, use -malformed-nbsp (12420e5)
  • Before recoding missing semicolon check part (ad3394f)
  • Checks for all named HTML entities, missing ampersands or semicolon recognition (7762556)
  • Full support of all named HTML entities — missing semicolons or ampersands (c0b92c5)
  • Rebase to use all-named-html-entities instead of plain list array of entities (434945a)
  • Rudimentary protection against CSS false positive display:block (8c14b90)
  • Separate numeric entities for releases later (1942303)

2.1.0

17 Mar 2019

🔧 Fixed

  • Properly recognise false cases for double-encoded entity scenarios (0b3eed2)

✨ Features

  • Algorithm improvements (daa1149)
  • Improvements to recognise malformed entities and multiple encoding (1ef1698)

2.0.0

4 Mar 2019

✨ Features

  • Make opts.progressFn + opts.decode combo to be more precise (f599a29)
  • Add opts.cb (8f34d1c)
  • Add opts.progressFn (869e3f0)

1.6.0

27 Jan 2019
  • Add opts.decode (ae22fea)

1.4.0

20 Jan 2019
  • Various documentation and setup tweaks after we migrated to monorepo
  • Setup refresh: updated dependencies and all config files using automated tools

1.1.0

25 Oct 2018
  • Update all dependencies
  • Restore coveralls.io reporting
  • Restore unit test linting

1.0.0

29 Aug 2018
  • First public release
back 

Copyright

All rights reserved © Roy Revelt 2026
All our open source packages are under MIT licenceopens in a new tab

Activities

🐛 See a bug? Raise an issueopens in a new tab
💘 Check out the Indiewebopens in a new tab and Libera manifestoopens in a new tab