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

1 Dec 2022

💥 BREAKING CHANGES

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

6.2.0

12 Aug 2022

Features

6.1.0

11 Apr 2022

Features

  • export defaults and version (1107244)

6.0.0

9 Sept 2021

Features

💥 BREAKING CHANGES

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

5.1.0

24 May 2021

Features

  • config file based major bump blacklisting (e15f9bb)

5.0.15

11 Apr 2021

Reverts

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

5.0.3

7 Feb 2021

🔧 Fixed

  • passed ranges can be null (ed082b8)

5.0.1

28 Jan 2021

🔧 Fixed

  • add testStats to npmignore (f3c84e9)

5.0.0

23 Jan 2021

Features

  • rewrite in TS and start using named exports (202b763)

💥 BREAKING CHANGES

  • previously: import rApply from … — now import { rApply } from …

4.0.0

28 Nov 2020

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

3.2.0

7 Sept 2020

🔧 Fixed

Features

  • discard any nulls among ranges (2a09e88)

3.1.5

26 Apr 2020

🔧 Fixed

  • harden the eslint rules set and make all tests pass (3b593b4)

3.1.0

26 Jan 2020

Features

  • remove a dependency, speed up the program by 130% (b787194)

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

2.9.0

26 Dec 2018
  • Add 3rd input arg — progressFn (f6735e2)
  • Accept null as second input argument, instead of ranges (0c59484)
  • ranges-merge (sort + merge) is applied by default now to prevent errors on unsorted ranges (35e3c4b)

2.8.0

29 Nov 2018
  • Added third argument, progressFn — it reports progress, feeding natural numbers meaning percentage done to any function that is in the third input argument.

  • Pinned all the throws on all unit tests. “Pinning unit test throws” means we not just assert the fact that function threw, but match the throw’s error message too. This gives more assurance:

    1. When there are many cases when an algorithm can throw and generic “function threw” assertion is used, a unit test can anticipate one throw to be thrown but another was thrown. Generic “function threw” assertions would still pass, throw is throw after all. But not pinned throws:
    2. It’s easier to sort unit tests this way (order by throw ID) in a test file
    3. It’s easier to perfect the unit test coverage when throws can be easier identified.
    4. It’s faster to comprehend a number compared to a sentence. “THROW_ID_01″ is faster to comprehend than a full title (which can differ from other title by a single word). At the end of the day, being less tired means achieving more.
    const error1 = t.throws(() => {
      repl();
    });
    t.match(error1.message, /THROW_ID_01/);
    

2.7.0

25 Oct 2018
  • Updated all dependencies
  • Restored coveralls.io reporting
  • Restored unit test linting

2.6.0

29 Aug 2018
  • Now second argument, ranges array, can be null. This means, output of ranges-push classes method.current() can be fed directly into this library without even checking. If it’s null, original string will be returned.

2.5.0

16 Aug 2018
  • Now we merge all input ranges using ranges-merge because it’s necessary for algorithm and we can’t rely on user to always provide merged ranges only.

2.4.0

11 Aug 2018
  • Updated error labels
  • Updated all dependencies
  • Removed AVA ES linting rules and nyc code coverage build steps because we migrated to Babel v.7 and nyc breaks

2.3.0

18 Jun 2018
  • Renamed to ranges-apply and migrated to Bitbucket.

2.2.0

11 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.
  • Unit tests are pointing at ES modules build, which means that code coverage is correct now, without Babel functions being missed

2.1.0

13 Feb 2018
  • Now accepts a single range as well, not only array of ranges.

2.0.0

2 Nov 2017
  • 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.

1.4.0

19 Sept 2017
  • 🔧 Switching to ESLint on airbnb-base preset with semicolons-off override. JS Standard is rubbish because it’s too relaxed and it’s been using half-year-old ESLint. Actually it’s even flagged as insecure by BitHound at the moment because of shell.js dependency two levels deep. ESLint itself is fine however.
  • 💥 Removed options, the third input argument. It did nothing and I was expecting to add options, but now I don’t want any. I removed the unused code related to options.

1.3.0

30 Aug 2017
  • 🔧 OK, so after replacing ES6 template strings, the lets stopped minification of emailcomb. I came up with idea to transpile the source to /es5/index.js, after publishing it should be available for consumption via require(‘string-replace-slices-array/es5′). Let’s see how it goes.
  • 🔧 I restored all template strings as they were in v1.1.0.
  • 🔧 Tweaked the npm scripts, so ES5 version is generated as a pre-commit step.

1.2.0

29 Aug 2017
  • 🔧 Guys, strange stuff. I was generating a production build of emailcomb and it refused to minify this library because of the first backtick in the ES6 template strings. So, I replaced them with ES5 code. Let’s see how it will go.

1.1.0

16 Aug 2017
  • 🔧 Now allowing zeros as values in ranges too. Sorry about that, the integer-checking library was not accepting zeros. Fixed now.

1.0.0

25 Jul 2017
  • First public release