0.3.0 - #23
Merged
Merged
Conversation
Caught during release prep. Three gaps, the first consumer-facing: * No Node requirement stated anywhere. engines.node moved from >=16.0.0 to >=20.0.0 in the toolchain upgrade, and the README's platform section covered browsers only — which is a conspicuous omission now that the package ships a /server entry point. Installation now states the requirement and that nothing below Node 22 is actually exercised, and the platform section covers Node explicitly. * The TypeScript Types list omitted every type added in this release: CaptureReport, UtmRejection, UtmRejectionReason, the sanitizer and PII-filter report types, and the two server types. It reads as an inventory of exported types, so an incomplete one is misleading. * captureUtmParametersWithReport had a prose section but no entry in the API Reference, which is where a reader looks for signatures. Added there, along with onMaxLength, valuePattern and lowercaseValues in the captureUtmParameters options example — the options were documented in the sanitization section but absent from the first place anyone reads. Installation also now lists the three entry points, since /server made the subpath exports worth stating rather than leaving to discovery. 🤖 Generated with [Nori](https://noriagentic.com) Co-Authored-By: Nori <contact@tilework.tech>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Release branch for 0.3.0, plus a README correction found during release prep.
Status: 0.3.0 is already on npm
The publish workflow ran on the
v0.3.0tag push and completed the npm publish (published 11:10:35). I attempted to cancel mid-run to hold it for the README check, but the cancellation only caught the later GitHub release job — the publish step had already succeeded.Two consequences:
v0.3.0— that job was cancelled. The 0.3.1 release will create its own;v0.3.0can be tagged retroactively on GitHub if you want the history complete.What 0.3.0 contains
@jackmisner/utm-toolkit/server— DOM-freenormalizeUtmParams/normalizeUtmUrlwith total output and a never-throws contract for untrusted request bodiescaptureUtmParametersWithReport— distinguishes "no campaign" from "campaign rejected", and both from an unparseable URLlowercaseValues,sanitize.onMaxLength,sanitize.valuePatternengines.node>=20.0.0The README fix in this branch
Three gaps, the first consumer-facing:
engines.nodemoved>=16.0.0→>=20.0.0, and the platform section covered browsers only — a conspicuous omission now the package ships a/serverentry. Installation now states the requirement, and that nothing below Node 22 is actually exercised.CaptureReport,UtmRejection,UtmRejectionReason, the sanitizer/PII report types, and both server types. It reads as an inventory, so an incomplete one misleads.captureUtmParametersWithReporthad no API Reference entry, only prose. Added, along withonMaxLength/valuePattern/lowercaseValuesin thecaptureUtmParametersoptions example.Test Plan
npm test— 635 passingnpm run build— succeedsnpm run format:check— clean#telling-no-campaign-apart-from-campaign-rejected,#server-side-usage)Merging this brings 0.3.0 and the README fix to
main, after whichnpm run release:patchcuts 0.3.1 with correct docs.