docs: backfill changelog and add release verification

This commit is contained in:
Ivan Pereira
2026-07-14 12:06:42 +01:00
parent 838644734f
commit 5a3a1e82bf
4 changed files with 53 additions and 2 deletions
+28
View File
@@ -0,0 +1,28 @@
name: CI
on:
push:
branches:
- main
pull_request:
permissions:
contents: read
jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 24
- name: Install dependencies
run: npm ci
- name: Typecheck and test
run: npm run typecheck && npm test
+1 -1
View File
@@ -26,7 +26,7 @@ jobs:
run: node -e "const {version}=require('./package.json'); const tag=process.env.GITHUB_REF_NAME.replace(/^v/,''); if(version!==tag){console.error(\`Tag \${tag} does not match package.json version \${version}\`); process.exit(1);}" run: node -e "const {version}=require('./package.json'); const tag=process.env.GITHUB_REF_NAME.replace(/^v/,''); if(version!==tag){console.error(\`Tag \${tag} does not match package.json version \${version}\`); process.exit(1);}"
- name: Upgrade npm - name: Upgrade npm
run: npm install -g npm@latest run: npm install -g npm@11
- name: Install dependencies - name: Install dependencies
run: npm ci run: npm ci
+1 -1
View File
@@ -57,7 +57,7 @@ node --import @mariozechner/jiti/register --input-type=module -e "import('./src/
- Auth tries macOS app token first via `defaults read ai.perplexity.mac authToken`, unless `PI_AUTH_NO_BORROW=1`. - Auth tries macOS app token first via `defaults read ai.perplexity.mac authToken`, unless `PI_AUTH_NO_BORROW=1`.
- Email OTP fallback uses `ctx.ui.input()`. - Email OTP fallback uses `ctx.ui.input()`.
- Tokens are stored at `~/.config/pi-perplexity/auth.json` with mode `0600`. - Tokens are stored at `~/.config/pi-perplexity/auth.json` with mode `0600`.
- JWT expiry is `decoded.exp * 1000` with a 5 minute buffer; decode failures fall back to 1 hour. - Stored tokens have no expiry tracking; `loadToken()` returns any cached token and expiry surfaces as 401/403 at request time.
- AUTH errors preserve the cached token; users explicitly clear/re-auth with `/perplexity-login --force`. - AUTH errors preserve the cached token; users explicitly clear/re-auth with `/perplexity-login --force`.
## Boundaries ## Boundaries
+23
View File
@@ -9,6 +9,29 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Changed ### Changed
- Browser credential paste now runs exclusively through `/perplexity-login --browser`; `authenticate()` no longer prompts inline on Cloudflare challenges.
- URL deduplication of sources now lowercases only the scheme and host, keeping case-sensitive paths and queries distinct.
### Fixed
- Stop clearing the cached auth token automatically when Perplexity rejects authentication (transient 401/403); use `/perplexity-login --force` to re-auth explicitly.
- Import `randomUUID` from `node:crypto` instead of relying on the global WebCrypto object, restoring the documented Node 18.14.1 support.
- Report `sourceCount` consistently with the rendered source list when `limit` is fractional or out of range.
### CI
- Run typecheck and tests on push/PR and before npm publish.
## [0.2.4] - 2026-06-24
### Added
- Browser cookie login fallback: paste a Copy-as-cURL command or Cookie header via `/perplexity-login` when desktop/OTP auth is unavailable.
## [0.2.3] - 2026-06-24
### Changed
- Removed the Bun runtime dependency; Perplexity requests now use pi's Node runtime and development uses npm scripts. - Removed the Bun runtime dependency; Perplexity requests now use pi's Node runtime and development uses npm scripts.
### Fixed ### Fixed