Skip to content

release: toolbelt v0.11.1, CSV, JSON to XML and invoice fixes - #469

Merged
anurag629 merged 15 commits into
productionfrom
develop
Nov 6, 2026
Merged

anurag629 merged 15 commits into
productionfrom
develop

Conversation

@anurag629

Copy link
Copy Markdown
Member

What's in it

Fixes

Project

Test plan

  • CI verify passed on every PR above.
  • After deploy: curl https://tools.codercops.com/.well-known/funding-manifest-urls returns both manifest URLs.

Saifjafri212213 and others added 15 commits November 1, 2026 00:25
…osing digits (#445) (#448)

nextInvoiceNumber() read the trailing digits with parseInt and wrote value + 1
back as a JS number, so a number of more than 15 digits lost precision (a
17-digit number came back one lower) and one of 22 digits or more was printed
as 1e+22. It now uses BigInt, and keeps the prefix and the zero-padding.

Co-authored-by: Saif Ullah jafri <saifullahjafri@Saifs-MacBook-Air.local>
…capes (#446) (#449)

yamlString() only escaped backslash, double quote, newline and carriage
return, so every other control character went into the double-quoted scalar
raw, and js-yaml refused to load the output. It now escapes tab, the C0 and C1
control characters, U+2028, U+2029, U+FFFE and U+FFFF the way the JSON
formatter's YAML conversion does (#234).

Co-authored-by: Saif Ullah jafri <saifullahjafri@Saifs-MacBook-Air.local>
… word (#447) (#451)

csvToTypeScript() fell back to Row for a name that is not an identifier, but a
reserved word passes the identifier check, so a Type name of class, default or
enum gave an interface TypeScript rejects. The words TypeScript will not take as
an interface name (the reserved words, those reserved in strict mode, await and
the built-in type names) now fall back to Row too.

Co-authored-by: Saif Ullah jafri <saifullahjafri@Saifs-MacBook-Air.local>
…Braille pattern as invisible (#452) (#453)

The control check stopped at 0x1f and started again at 0x80, so DELETE
(U+007F) got no label, and U+3164 and U+2800, which are letters and symbols and
not spaces or format characters, were in no table. DELETE is now a control, and
U+3164 (intentional, like the other Hangul fillers) and U+2800 are listed.

Co-authored-by: Saif Ullah jafri <saifullahjafri@Saifs-MacBook-Air.local>
Bumps [marked](https://github.com/markedjs/marked) from 18.1.1 to 18.1.2.
- [Release notes](https://github.com/markedjs/marked/releases)
- [Commits](markedjs/marked@v18.1.1...v18.1.2)

---
updated-dependencies:
- dependency-name: marked
  dependency-version: 18.1.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [@cfworker/json-schema](https://github.com/cfworker/cfworker) from 4.1.1 to 4.1.4.
- [Release notes](https://github.com/cfworker/cfworker/releases)
- [Commits](https://github.com/cfworker/cfworker/compare/@cfworker/json-schema@4.1.1...@cfworker/json-schema@4.1.4)

---
updated-dependencies:
- dependency-name: "@cfworker/json-schema"
  dependency-version: 4.1.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps the dev-dependencies group with 2 updates: [postcss](https://github.com/postcss/postcss) and [wrangler](https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler).


Updates `postcss` from 8.5.31 to 8.5.32
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](postcss/postcss@8.5.31...8.5.32)

Updates `wrangler` from 4.152.0 to 4.156.0
- [Release notes](https://github.com/cloudflare/workers-sdk/releases)
- [Commits](https://github.com/cloudflare/workers-sdk/commits/wrangler@4.156.0/packages/wrangler)

---
updated-dependencies:
- dependency-name: postcss
  dependency-version: 8.5.32
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: wrangler
  dependency-version: 4.156.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps the next group with 1 update in the / directory: [@opennextjs/cloudflare](https://github.com/opennextjs/opennextjs-cloudflare/tree/HEAD/packages/cloudflare).


Updates `@opennextjs/cloudflare` from 1.20.13 to 1.20.15
- [Release notes](https://github.com/opennextjs/opennextjs-cloudflare/releases)
- [Changelog](https://github.com/opennextjs/opennextjs-cloudflare/blob/main/packages/cloudflare/CHANGELOG.md)
- [Commits](https://github.com/opennextjs/opennextjs-cloudflare/commits/@opennextjs/cloudflare@1.20.15/packages/cloudflare)

---
updated-dependencies:
- dependency-name: "@opennextjs/cloudflare"
  dependency-version: 1.20.15
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: next
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…in xml and typescript (#467)

* fix(json-formatter): singularize sibilant and ambiguous -ses plurals in XML and TypeScript (#462)

singularize() handled -ies and generic -ses but mis-singularized
sibilant plurals (matches → matche, boxes → boxe, quizzes → quizz)
and ambiguous -ses words (cases → cas). Add rules for -ches, -shes,
-xes, -zes and doubled-consonant -zzes, and make the -ses case strip
"es" only when the stem is long enough to be a real singular ending
in s (addresses → address, statuses → status), otherwise strip just
"s" (cases → case). Preserves categories → category, users → user,
boss → bossItem, root → rootItem.

* fix(json-formatter): refine singularization for -zes and ambiguous -ses plurals (#462)

- Only strip "es" on -zzes (e.g. quizzes -> quiz), keeping sizes -> size, prizes -> prize, mazes -> maze intact
- For ambiguous -ses, remove "es" only when the resulting stem ends in ss, tus, rus, nus, pus, or bus; otherwise strip only trailing "s"
- Keep -ches, -shes, and -xes rules (caches -> cach)
- Add regression tests covering direct singularize(), toXML(), and toTypeScript() conversions
@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Updated (UTC)
✅ Deployment successful!
View logs
toolbelt-dev 998dcba Nov 06 2026, 08:53 AM

@anurag629
anurag629 merged commit 9dd359e into production Nov 6, 2026
3 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants