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

backOpen Source→json-comb-core→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.

8.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)
  • trim production type dependencies (426e081)

✨ Features

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

⏪ 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

8.0.0

1 Dec 2022

💥 BREAKING CHANGES

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

7.1.0

12 Aug 2022

✨ Features

  • export types (11b5fb9)

7.0.16

25 Apr 2022

🔧 Fixed

  • improve types (b40fdb0)

7.0.15

18 Apr 2022

🔧 Fixed

  • tweak types (3691de9)

7.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()

6.9.0

24 May 2021

✨ Features

  • config file based major bump blacklisting (e15f9bb)

6.8.15

11 Apr 2021

⏪ Reverts

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

6.8.1

28 Jan 2021

🔧 Fixed

  • add testStats to npmignore (f3c84e9)

6.8.0

23 Jan 2021

✨ Features

  • rewrite in TS (fb3981e)

6.7.0

28 Nov 2020

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

6.6.1

2 Oct 2019

🔧 Fixed

  • fix the semver key comparison, regex was off (6335dc9)

6.6.0

23 Sept 2019

✨ Features

  • sort keys with semver values by comparing semver, not by alphabettical sort (a5896fa)

6.5.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

6.4.0

11 Jan 2019
  • Add one more tag before which there will be a line break (4f00871)

6.3.0

8 Jan 2019
  • Add one more tag before which there will be a line break (4f00871)

6.2.0

11 Jun 2018

GitHub sold us out. God bless their souls and the new billionaire. In the meantime, we:

  • Migrated to BitBucket (to host repo + perform CI) and Codacy (for code quality audit)
  • Dropped BitHound (RIP) and Travis
  • Remove package-lock

6.1.0

23 May 2018
  • Set up Prettier
  • Removed package.lock and .editorconfig
  • Wired Rollup to remove comments from non-dev builds. This means we can now leave the console.logs in the source code — Rollup will remove from production code.
  • Now pointing unit tests at ES Modules build, not CommonJS-one. This means, unit test coverage will be correct (higher) because there won’t be any missing rows that Babel added which are impossible to cover.

6.0.0

13 Mar 2018
  • Added opts.useNullAsExplicitFalse on all both sync and async getKeyset methods

Since it’s on by default (which is sensible), that’s technically a breaking change, which warrants a major semver bump.

5.1.0

27 Jan 2018
  • doNotFillThesePathsIfTheyContainPlaceholders on both enforceKeysetSync() and enforceKeyset
  • placeholder on both enforceKeysetSync() and enforceKeyset

5.0.0

28 Dec 2017

✨✨✨ ASYNC! ✨✨✨

  • All functions up until now were synchronous. Now all were renamed:

    getKeyset      => getKeysetSync
    enforceKeyset  => enforceKeysetSync
    sortAllObjects => sortAllObjectsSync
    noNewKeys      => noNewKeysSync
    findUnused     => findUnusedSync
    

    In their place, async-alternatives were placed. For starters, we have async getKeyset and enforceKeyset — both consume and return promises.

Please update your API’s appending “Sync” on the function names, or better, tap async-ones instead.

4.2.0

12 Dec 2017
  • Small rebasing, improvements to the setup and proper deps refresh.

4.1.0

11 Oct 2017
  • Tapped sort-keys on a deep setting, replacing the existing deep sort function.

4.0.0

9 Oct 2017
  • 🔧 method sortIfObject() renamed to sortAllObjects(). It now performs a deep sort of any objects within anything. If a non-array and non-object is given, same thing is returned bypassing the operations, so it’s safe to apply on any JS types. That’s thanks to ast-monkey which performs the deep traversal.

3.0.0

6 Oct 2017

API-wise, there are no changes, but since it’s rewrite in ES modules and the arrangement of files is different, I’ll bump semver major just in case. Cheers!

  • The main source now is in ES2015 modules with import/export.
  • Implemented Rollup to generate 3 flavours of this package: CommonJS, UMD and ESM module with import/export. As a bonus, the Babel setup does not ignore node_modules where all dependencies sit, what means no matter were they transpiled or not, this library will not cause problems in create-react-app and the likes.

2.5.0

6 Sept 2017
  • findUnused() new options key: opts.comments. It let’s you ignore and exclude the comment keys from reports.

2.4.0

29 Jul 2017
  • object-assign replaced with ES6 Object.assign

2.3.0

5 Jun 2017
  • Improved some error messages, now outputting both its type and value.

2.2.0

2 Jun 2017
  • Unit tests covering input arg mutation on all functions that accept objects as input args.
  • Essential improvements to findUnused() — when input is not normalised, that is some of the JSON’s have some fields missing and those fields happen to be placeholders on every single other JSON (or missing), now findUnused() will report those fields as unused. Previously it was necessary for a key to be present on all arrays to be admitted into a result list, now it’s not.

Last-one means a lot in practice. For example, mapping files are usually under unidirectional merges — they always overwrite everything lower in the “food chain” of data hierarchy. As a result, often PROD mapping data files are often incomplete, because we don’t want or need to overwrite everything in DEV data. Which in turn means, that if you tried to run findUnused() on both your data JSON files (normalised) AND mapping JSON files (not normalised) before this version, you’d rarely get a result at all. Now it’s fixed! 👨‍🔧✨

2.1.0

2 Jun 2017
  • findUnused()
  • Removed unused dependency from package.json

2.0.0

15 May 2017
  • Added noNewKeys()
  • 🔧 Tightened up the API, there were major changes within dependencies.

1.0.0

18 Mar 2017
  • First public release
  • Unit test coverage is solid 100%
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