Skip to main content

4.0.0 (2026-08-17)

  • refactor!: delete the ./sets and ./interval modules (#229) (16fb33e), closes #224
  • refactor!: drop the exports that only wrapped a built-in (#230) (1e243ef)
  • refactor(mime-types)!: drop the unused compressible field (#228) (5b20c23), closes #222

Bug Fixes

  • ci: redeploy the docs from main after a release, not from the tag (#216) (cbfbf57), closes #213
  • release: stop failing the release over courtesy comments (#217) (c2e1a12), closes #215

BREAKING CHANGES

  • twenty-two exports are gone. Two are not drop-in swaps: Object.groupBy returns a null-prototype object whose values are optional (byTeam.red is T[] | undefined, and hasOwnProperty throws), and structuredClone preserves Dates and Maps where deepCloneJson's JSON round trip flattened them. Both are covered in the migration guide.

  • the ./sets and ./interval subpaths no longer exist.

    union(a, b) -> a.union(b) intersection(a, b) -> a.intersection(b) difference(a, b) -> a.difference(b) isSubset(a, b) -> a.isSubsetOf(b) isSuperset(a, b) -> a.isSupersetOf(b) setToArray(set) -> [...set] arrayToSet(arr) -> new Set(arr) runInterval(fn, ms) -> setInterval(fn, ms) clearIntervalById(id) -> clearInterval(id)

  • entries in the exported mimeTypes record no longer carry a compressible property, and it is gone from the MimeValue type. Code reading mimeTypes[type].compressible must source that flag elsewhere — the mime-db package still publishes it.

3.0.0 (2026-08-17)

Bug Fixes

Features

BREAKING CHANGES

  • sanitizeString is renamed to stripScriptish. It also strips unquoted on*= handlers, closes </script >, and no longer leaves a space where an attribute was removed. Renaming the import is not a security fix — use html.escapeHtml or DOMPurify for untrusted input.
  • ./formatting and ./math are removed. Where two modules exported the same name, only the owner keeps it: roundTo (numbers, gone from currency), randomString (random, gone from strings), sanitizeString (security, gone from strings), escapeHtml and unescapeHtml (html, gone from strings), pluralize (strings, gone from i18n), secondsBetween (time, gone from datetime), isBoolean (validation, gone from boolean), and getProcessUptime (process, gone from node). events.once is renamed onceEvent; numbers.getRandomInt and getRandomFloat are random.randomInt and randomFloat; strings.stripHtml is html.stripHtmlTags; formatting.formatPercent is now numbers.formatPercent. Note that formatting.formatDate was local time while date.formatDate is UTC.
  • types: debounce and throttle no longer claim to return the wrapped function's return type. Code reading a debounced or throttled call's return value now fails to compile — that code was already getting undefined at runtime. to()'s error slot is unknown instead of any, so call sites doing err.message directly must narrow first (err instanceof Error ? err.message : String(err)).

2.8.2 (2026-07-23)

Bug Fixes

  • release: upgrade npm for OIDC trusted publishing (#110) (93db8b5)

2.8.1 (2026-06-12)

Bug Fixes

2.8.0 (2026-06-12)

Features

2.7.0 (2026-06-12)

Features

  • docs: v3 redesign — wordmark, install tabs, hardened dark surfaces (#66) (d44e1aa), closes #0b101

2.6.0 (2026-06-11)

Features

2.5.0 (2026-06-11)

Features

  • docs: wordmark, icons, install tabs (#64) (2b01b58), closes #62

2.4.0 (2026-06-11)

Features

  • docs: v2 polish — favicon + button + slug (#63) (3b23a0b)

2.3.0 (2026-06-11)

Features

  • docs: apply dark + gold theme redesign (#62) (47b2aeb)

2.2.0 (2026-06-11)

Features

  • docs: search, changelog page, CI guardrail (fd95637)

2.1.0 (2026-06-11)

Features

  • docs: full API reference via TypeDoc (337eb2c)

2.0.1 (2026-06-10)

Bug Fixes

  • build: ship .d.ts files in published tarball (946cd8a)

2.0.0 (2026-06-01)

  • refactor!: maintenance sweep + rename errors.tryCatch (#47) (9bd28a6)

Bug Fixes

  • ci: env-var commit message in check-skip (#48) (1037b0c), closes #47

BREAKING CHANGES

  • tryCatch from @rtorcato/js-common/errors is renamed to tryWithFallback. For Result-pattern error handling, import tryCatch from @rtorcato/js-common/try instead.

1.8.1 (2026-05-29)

Bug Fixes

  • deps: move CLI deps to optionalDependencies (52d1e9f)
  • publishing bugs and dead-code cleanup (30b8d69)

1.8.0 (2026-05-29)

Features

  • docs: Astro Starlight site on GitHub Pages (5139f6d)

1.7.1 (2026-05-29)

Bug Fixes

  • deps: migrate to short-uuid v6 and inquirer v13 (#38) (cceae68)
  • resolve bugs, remove duplicates, and add missing utilities (43dfc85)

1.7.0 (2026-01-16)

Features

  • strings: add 12 new string utility functions (03df6fc)

1.6.0 (2026-01-16)

Bug Fixes

  • added dev branch to CI (751f124)
  • update packages and add fix for biome sorting (0ed384c)

Features

  • uuid: add v7, version detection, and short UUID conversion (d304168)

1.5.0 (2026-01-16)

Features

  • currency: add lazy loading and new features (e9369a8)

1.4.2 (2026-01-16)

Bug Fixes

  • update benchmark imports to use correct module paths (0713f23)

1.4.1 (2026-01-16)

Bug Fixes

  • add build step to performance benchmarks job (e3a9020)
  • add vitest coverage-istanbul dependency (498b6fb)

1.3.1 (2025-10-24)

Bug Fixes

  • Correct import paths in CLI for proper TypeScript compilation (24221d5)

1.3.0 (2025-10-24)

Features

  • Add modern interactive CLI with developer integration (8ffb144)

1.2.0 (2025-10-24)

Bug Fixes

  • remove commitlint dependency from release job (dbf2795)

Features

  • modernize CI/CD workflow with js-tooling structure (a46b6bf)

Every entry above is generated by semantic-release and published to GitHub Releases. Versions before v1.2.0 predate those releases and are recorded in CHANGELOG.md.