Skip to content

Releases: xxczaki/cashify

v4.0.0

Choose a tag to compare

@xxczaki xxczaki released this 21 Mar 02:05
Immutable release. Only release title and notes can be modified.
b459a58

Breaking changes

  • Requires Node.js 24 or higher.

What's new

Tooling & infrastructure

  • Migrated from npm to pnpm
  • Replaced XO linter with Biome
  • Replaced AVA with the built-in Node.js test runner (node:test)
  • Replaced c8 with native Node.js test coverage
  • Replaced ts-node with native Node.js type stripping
  • Modern TypeScript config (nodenext, ES2024, strict, declaration maps)
  • Added Changesets for versioning
  • Added autonomous npm release workflow with provenance
  • Added Renovate for automated dependency updates
  • Removed Travis CI, editorconfig, and del-cli

Code

  • Replaced hasKey utility with Object.hasOwn() (#18)
  • Added proper validation for NaN and Infinity amounts – now throws a TypeError instead of producing misleading error messages (closes #18)
  • All errors now use TypeError where applicable
  • Extracted parser regex to a named constant
  • Removed parameter reassignment in convert()

Documentation

  • Replaced currency.js example with built-in Intl.NumberFormat
  • Updated floating point section to accurately describe the *100/100 trick and its limitations
  • Added AI disclosure section
  • Fixed incorrect link in big.js section (closes #25)
  • Updated badges (removed XO, Bundlephobia; added CI from GitHub Actions)
  • Switched funding from OpenCollective to GitHub Sponsors

Packaging

  • Modern exports field with types condition
  • Removed author field from package.json
  • Updated license year

Full diff: 3.0.1...v4.0.0

v3.0.1

Choose a tag to compare

@xxczaki xxczaki released this 10 Dec 19:15
e3cce81
  • Fix: move @types/big.js to dependencies (see #19).

v3.0.0

Choose a tag to compare

@xxczaki xxczaki released this 05 Dec 18:12
7c162fd
  • BREAKING: the package is now ESM-only and thus requires Node.js v14 or higher.
  • Added big.js integration (see #17).
  • Improved the test suite.
  • Minor size reduction.
  • Improved type safety.
  • Improve docs readability.
  • The error messages are now more succinct.

v2.5.0

Choose a tag to compare

@xxczaki xxczaki released this 23 Jan 23:45
  • Fix: the parser now handles the expression '0' correctly.
  • Better TypeScript types.
  • Update dependencies.

v2.4.4

Choose a tag to compare

@xxczaki xxczaki released this 25 Aug 21:09
  • Update JSDOC for better DX.
  • Update devDependencies.

v2.4.3

Choose a tag to compare

@xxczaki xxczaki released this 09 Jul 14:02
  • Update devDependencies
  • Lint
  • If from equals to, return 100% directly (#12)

v2.4.2

Choose a tag to compare

@xxczaki xxczaki released this 22 Mar 10:59
  • Update devDependencies
  • Optimize regex
  • Improve type safety
  • Test when amount equals 0

v2.4.1

Choose a tag to compare

@xxczaki xxczaki released this 10 Mar 21:28
  • Do not use named capture groups (they do not work in Firefox)
  • Update devDependencies
  • Lint test files

v2.4.0

Choose a tag to compare

@xxczaki xxczaki released this 22 Feb 14:11
  • Parsing: allow different expression separating keywords (in and as)
  • Update parsing docs
  • Add new parsing tests
  • Update devDependencies
  • Fix previous tests (ava >=3.0.0)

v2.3.1

Choose a tag to compare

@xxczaki xxczaki released this 20 Jan 20:21
  • Export a parse function
  • Document the new parse function