Skip to content

[pull] main from TryGhost:main#1208

Merged
pull[bot] merged 9 commits into
code:mainfrom
TryGhost:main
Jun 4, 2026
Merged

[pull] main from TryGhost:main#1208
pull[bot] merged 9 commits into
code:mainfrom
TryGhost:main

Conversation

@pull
Copy link
Copy Markdown

@pull pull Bot commented Jun 4, 2026

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

9larsons and others added 9 commits June 3, 2026 22:21
ref https://linear.app/ghost/issue/PLA-56

`lodash.template` is deprecated and flagged in the Renovate dashboard,
but Renovate can't remediate it: its only published release is `4.5.0`
(2019) and the advisory's "4.18.0 [SECURITY]" fixed version doesn't
exist.

It's also **transitive-only** — Ghost never calls `_.template`. It
reaches the tree solely via frozen Ember build tooling
(`broccoli-templater`, `sourcemap-validator`) and old `@tryghost/*`
packages, so it can't be removed from the lockfile here.

The override pinning it to `4.5.0` was therefore a **no-op** (4.5.0 is
the only version). This PR:

- Drops the `lodash.template` override from `pnpm-workspace.yaml` and
the redundant `overrides` block in `ghost/core/package.json`
- Regenerates the lockfile (one line removed; `lodash.template@4.5.0`
still resolves transitively, as expected)
- Adds `lodash.template` to Renovate `ignoreDeps` so the unactionable
dashboard entry stops resurfacing
no ref

Aligns donation checkout session creation with the site's donation settings so the API path enforces the same enabled/disabled state already reflected in public settings and Portal.

- routes donation checkout creation through the existing donations-enabled check
- adds unit coverage for the disabled-donations path

Co-authored-by: Kevin Ansfield <kevin@lookingsideways.co.uk>
no ref

Tightens how donation checkout metadata is assembled so Ghost-owned
metadata stays authoritative and webhook routing keys off trusted
values.

- normalizes caller-supplied checkout metadata before it's used
- keeps Ghost's own donation metadata as the source of truth
- adds unit coverage for the metadata handling and webhook routing paths

Co-authored-by: Kevin Ansfield <kevin@lookingsideways.co.uk>
## Summary

Member identity and entitlement tokens are issued by the same service
with the same signature, issuer, and audience, and were only
differentiated by a descriptive `scope` claim that nothing enforced.

This makes `scope` the source of truth for a token's purpose:

- identity tokens now declare `scope: members:identity`
- the identity decode path (`decodeToken`) requires that scope and
rejects anything else

The change is additive to the entitlement token payload, so anything
verifying it via the JWKS is unaffected. This feels like a more correct
pattern than assuming tokens can act as members, which was the prior
behavior.
no ref

While searching something related with Signup flow, I noticed that typo (by making same typo in my search).
@pull pull Bot locked and limited conversation to collaborators Jun 4, 2026
@pull pull Bot added the ⤵️ pull label Jun 4, 2026
@pull pull Bot merged commit f283e8e into code:main Jun 4, 2026
1 check passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants