From e8558aa4710e4187a21a36e43e18a250f61b9cd3 Mon Sep 17 00:00:00 2001 From: Lilleman auf Larv Date: Mon, 14 Sep 2026 14:09:58 +0200 Subject: [PATCH] Release as 0.5.0, and file issues on the GitHub mirror --- AGENTS.md | 19 ++++++++++--------- MIGRATION.md | 2 +- package-lock.json | 4 ++-- package.json | 5 ++++- 4 files changed, 17 insertions(+), 13 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index c538d98..e6cdd3e 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -5,7 +5,7 @@ Guidance for LLM agents working in this repository. What each file in it is for ## What this is -A ground-up TypeScript rewrite of `larvitsmpp` 0.4.0, published as `@larvit/smpp` 1.0.0. The branch +A ground-up TypeScript rewrite of `larvitsmpp` 0.4.0, published as `@larvit/smpp` 0.5.0. The branch started from an orphan commit — no history from 0.4.0 is carried over. The 0.4.0 source is still readable on the `v0.4.0` branch of the same repository and is the reference for protocol behaviour, not for structure or style. @@ -338,14 +338,15 @@ Grouped by what each one constrains. What settles it here is the resolved text rather than the parameter, because `writeParams()` substitutes the field's own default: a peer that omits `message_id` and one that writes it empty build the same octets, leaving a raw-parameter test nothing to tell apart. Rejected: keeping `''` - and documenting it, which leaves the published type promising what the value does not keep — - goal 2, a wrong answer about what the peer named. Rejected: dropping the unnamed entries, which - breaks the positional correspondence with `pduObjs` that README promises and loses which segment a - PDU belongs to. Rejected: `{ id?: string; pduObj: PduObject }[]`, which makes that positional - promise structural where today the compiler cannot check it; deferred to the next major, the first - place two documented fields may become one. Accepted: every consumer reading `smsIds` narrows, - including the majority whose SMSC names every id; indexing narrows too, except for the consumer - who sets `noUncheckedIndexedAccess`, which typed `smsIds[0]` as `string | undefined` already. + and documenting it, which leaves the published type promising what the value does not keep — goal + 2, a wrong answer about what the peer named. Rejected: dropping the unnamed entries, which breaks + the positional correspondence with `pduObjs` that README promises and loses which segment a PDU + belongs to. Rejected: `{ id?: string; pduObj: PduObject }[]`, which makes that positional promise + structural where today the compiler cannot check it; deferred to the next breaking release, the + first place two documented fields may become one. Accepted: every consumer reading `smsIds` + narrows, including the majority whose SMSC names every id; indexing narrows too, except for the + consumer who sets `noUncheckedIndexedAccess`, which typed `smsIds[0]` as `string | undefined` + already. ### The wire diff --git a/MIGRATION.md b/MIGRATION.md index 57b6ea4..4eaf30d 100644 --- a/MIGRATION.md +++ b/MIGRATION.md @@ -1,6 +1,6 @@ # Migrating from larvitsmpp 0.4.0 -`@larvit/smpp` 1.0.0 succeeds [larvitsmpp](https://www.npmjs.com/package/larvitsmpp) 0.4.0. The +`@larvit/smpp` 0.5.0 succeeds [larvitsmpp](https://www.npmjs.com/package/larvitsmpp) 0.4.0. The shape is the same, connect, send, listen for delivery reports, with callbacks replaced by promises. ## API changes diff --git a/package-lock.json b/package-lock.json index e9702c9..f926ca2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@larvit/smpp", - "version": "1.0.0", + "version": "0.5.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@larvit/smpp", - "version": "1.0.0", + "version": "0.5.0", "license": "MIT", "devDependencies": { "@eslint/js": "10.0.1", diff --git a/package.json b/package.json index 98068ef..0ce41a7 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@larvit/smpp", - "version": "1.0.0", + "version": "0.5.0", "description": "SMPP 3.4 client and server for Node.js with the session layer built in: keepalive, reconnect, send window, long messages and delivery receipts", "keywords": [ "esm", @@ -10,6 +10,9 @@ "typescript" ], "homepage": "https://gitea.larvit.se/larvit/smpp-js", + "bugs": { + "url": "https://github.com/larvit/smpp-js/issues" + }, "repository": { "type": "git", "url": "git+https://gitea.larvit.se/larvit/smpp-js.git"