Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
228 commits
Select commit Hold shift + click to select a range
c2c9663
Removed notification-group feature flag and fixed chronological group…
minimaluminium Nov 6, 2025
c540abb
Added CSD email count to email model
sam-lord Nov 3, 2025
faca41a
Added fallback sending domain option for email batches
sam-lord Nov 3, 2025
1f9dbe9
Fixed tests
sam-lord Nov 4, 2025
0116267
Added typecheck script and TypeScript configuration improvements (#25…
rob-ghost Nov 6, 2025
617bb94
Added ESLint rule to enforce path aliases over relative imports (#25355)
rob-ghost Nov 6, 2025
c7a46d1
Added outbox table (#25286)
troyciesco Nov 6, 2025
625800f
Removed inactive topics in ActivityPub (#25371)
minimaluminium Nov 6, 2025
0f17010
Improved export button copy in Settings (#25373)
peterzimon Nov 6, 2025
0d0821f
Added user preferences hook with test infrastructure (#25356)
rob-ghost Nov 6, 2025
ae66ff7
Updated the split helper to not produce empty strings (#25283)
cathysarisky Nov 6, 2025
1304b61
Added the ability to concat an array with the concat helper (#25282)
cathysarisky Nov 6, 2025
f47e3f5
fix broken test caused by split fix. (#25380)
cathysarisky Nov 6, 2025
32ef66c
Added domains to blocked outbound refs (#25379)
9larsons Nov 6, 2025
3cc7562
Reorganized docker files (#25363)
cmraible Nov 6, 2025
d8509ec
v6.7.0
github-actions[bot] Nov 7, 2025
e6af50e
Enable react-query dev tool usage (#25374)
jonatansberg Nov 10, 2025
26dedc4
Added support for uploading GIFs to Notes (#25370)
sagzy Nov 10, 2025
71d57df
Fixed member count display in React admin sidebar
jonatansberg Nov 6, 2025
11b56ab
Fixed event delegation from modals and dropdowns
kevinansfield Nov 10, 2025
094dd10
Added changelog fetching hook (#25357)
rob-ghost Nov 10, 2025
9ef644b
Refactored StateBridge polling
kevinansfield Nov 10, 2025
bab0c61
Fixed sidebar not showing on React routes (#25395)
kevinansfield Nov 10, 2025
e70bebc
React sidebar mobile version (#25341)
peterzimon Nov 10, 2025
8f8fb9f
Refined screen heights for React app (#25396)
peterzimon Nov 10, 2025
6b337c4
Ensured authenticated routes redirect rather than transition
kevinansfield Nov 10, 2025
8e34ad1
Added write to outbox on member creation, processing of outbox with l…
troyciesco Nov 10, 2025
78ef904
Added role-based permission checks to React admin sidebar
jonatansberg Nov 10, 2025
8a07896
Fixed external link href in React sidebar (#25407)
peterzimon Nov 11, 2025
e50c7b5
Replaced path-based `useEmberAuthSync` with event-based approach (#25…
kevinansfield Nov 11, 2025
709585a
Added fallback sending domain
sam-lord Nov 4, 2025
6bc96c7
Simplified test files for fallback sending domain
sam-lord Nov 11, 2025
8b8682e
✨ Moved members flow to new E2E framework (#25339)
ibalosh Nov 11, 2025
ce7196b
Moved member exports and member filtering flow (#25381)
ibalosh Nov 11, 2025
2deedc0
Wired up dark mode toggle (#25383)
kevinansfield Nov 11, 2025
bcaa3b5
Fixed wait timeout warning on login page (#25412)
ibalosh Nov 11, 2025
9824636
Fixed z-index issues for Ember pages in React app (#25415)
peterzimon Nov 11, 2025
80343ab
Enabled verbatimModuleSyntax and erasableSyntaxOnly for settings
jonatansberg Nov 11, 2025
36463b4
Fixed race condition in member export download handling (#25418)
ibalosh Nov 11, 2025
7e34838
🐛 Fixed links to comments in emails not scrolling to comments section…
kevinansfield Nov 11, 2025
192f50d
Added utm filters to analytics (Tinybird) endpoints (#25400)
9larsons Nov 11, 2025
1052634
Added filters component to Shade (#25416)
peterzimon Nov 11, 2025
83a9739
Fixed email preview limiter to use a single limit site-wide (#25401)
cmraible Nov 11, 2025
b2fb67d
Added number formatting to follow count in inline feed suggestion (#2…
minimaluminium Nov 12, 2025
e3dd618
Added profile preview card to reposter name in ActivityPub (#25185)
minimaluminium Nov 12, 2025
4e0039f
Refined ui details for filter component (#25426)
peterzimon Nov 12, 2025
c51a1ce
Added What's New orchestration hook (#25358)
rob-ghost Nov 12, 2025
3f65806
Moved new e2e to kebab case (#25419)
ibalosh Nov 12, 2025
469af00
Update dependency zod to v4
renovate[bot] Nov 11, 2025
81ea62c
Fixed portal unit tests failing after zod update
kevinansfield Nov 11, 2025
4abdf50
Refined more details of filter comp. in Shade (#25427)
peterzimon Nov 12, 2025
efee4df
Added Tinybird event ingestion monitoring endpoints (#25430)
9larsons Nov 12, 2025
1dfcef5
Fixed Analytics > Newsletters percent change calculation (#25241)
cmraible Nov 12, 2025
875ede2
Upgraded @eslint/js to 9.37.0 in e2e package (#25433)
cmraible Nov 13, 2025
54bcc1c
Move SVG icons to the design system
jonatansberg Nov 5, 2025
705185e
Integrate settings app
jonatansberg Sep 30, 2025
2a1c13b
Global query invalidation
jonatansberg Nov 5, 2025
5e79aba
Supported adapters written in TypeScript
allouis Nov 10, 2025
42dae57
Added missing types for ghost-storage-base
allouis Nov 10, 2025
2b3aa51
Added Indicator component to Shade design system
rob-ghost Nov 12, 2025
9f0c353
Added S3 compatible storage adapter
allouis Nov 10, 2025
286a3e5
Added handling for apple-app-site-association files (#25432)
ErisDS Nov 13, 2025
385b32e
Added domain warming service (#25394)
sam-lord Nov 13, 2025
ca573c5
Added What's New banner and dialog components
rob-ghost Nov 11, 2025
0fe08d1
Added axis read token to Tinybird pipes (#25442)
9larsons Nov 13, 2025
53687fc
Fixed monitoring endpoint date parsing (#25443)
9larsons Nov 13, 2025
45cbac2
Fixed dark mode specificity conflicts in React admin shell (#25444)
jonatansberg Nov 13, 2025
6778645
🐛 Fixed growth table loading state showing empty instead of skeleton …
troyciesco Nov 13, 2025
ccc421d
Wired up navigation state to user preferences (#25414)
kevinansfield Nov 13, 2025
ff3b1cc
Added upgrade banner to React sidebar (#25408)
peterzimon Nov 13, 2025
5fca703
Fixed tags permissions
jonatansberg Nov 13, 2025
1d4162b
Added email analytics for the fallback domain (#25437)
sam-lord Nov 13, 2025
ab74796
Fixed incorrect link for Ghost(Pro) in navbar
jonatansberg Nov 13, 2025
52eaf29
Added link to "Your profile" in user menu
peterzimon Nov 13, 2025
eeb8ea4
Added Tinybird datasources to axis readonly token (#25448)
9larsons Nov 13, 2025
9733812
Applied dark mode fixes to React app (#25447)
peterzimon Nov 13, 2025
098795b
Moved to kebab-case formatting stats app (#25439)
ibalosh Nov 13, 2025
2b8fdd2
🐛 Fixed missing member attribution stats on pages list view (#25451)
cmraible Nov 13, 2025
3c1550e
Updated yarn lock (#25452)
9larsons Nov 13, 2025
ed562d8
Added email sending to welcome email job (#25342)
troyciesco Nov 14, 2025
1819ec9
🐛 Fixed false positive gscan errors for unused custom theme settings …
cmraible Nov 14, 2025
f918ac4
Trigger bridge change event when updating settings
jonatansberg Nov 14, 2025
9556236
Add custom views to the sidebar
jonatansberg Nov 14, 2025
d49fcef
v6.8.0
github-actions[bot] Nov 14, 2025
e9ec6c8
Changed logging to support custom filenames for file based logging
jloh Nov 11, 2025
1340962
v6.8.1
github-actions[bot] Nov 17, 2025
98a4101
Wired up local development for S3 adapter (#25436)
allouis Nov 17, 2025
e9ac001
Fixed profile preview card visibility in modals (#25458)
minimaluminium Nov 17, 2025
08db726
Moved to kebab-case formatting comments-ui app (#25428)
ibalosh Nov 17, 2025
ad19ae7
renamed sodo-search files to use kebab-case convention for filenames …
ibalosh Nov 17, 2025
9ff68f5
🎨 Added Analytics APIs to robots.txt
jloh Nov 12, 2025
a2debd3
Hide sidebar in editor
jonatansberg Nov 17, 2025
c5dfdef
Removed sidebar transition animations
jonatansberg Nov 17, 2025
b589cb6
Updated typescript config with import aliases (#25459)
ibalosh Nov 18, 2025
462f98e
Moved `favicon` out of the middleware
rmgpinto Nov 11, 2025
3f75655
Added topic filtering to Explore view with feature flag (#25438)
minimaluminium Nov 18, 2025
2463fd7
Moved to kebab-case formatting signup-form (#25463)
ibalosh Nov 18, 2025
1633eab
Removed unused tinybird pipes and filters (#25474)
9larsons Nov 18, 2025
d32c1b6
Added utm data to generator script (#25475)
9larsons Nov 18, 2025
a6adad1
Fixed locations endpoint (#25476)
9larsons Nov 18, 2025
36fa7fc
Removed unused tinybird filters (#25477)
9larsons Nov 18, 2025
d831441
Changed member welcome email job to run based on config (#25465)
troyciesco Nov 18, 2025
7c7465d
Improved topic filter UX in ActivityPub (#25483)
minimaluminium Nov 19, 2025
e8f26f0
Fixed fallback from name & reply-to (#25449)
sam-lord Nov 19, 2025
74433b9
Fixed loading indicator spacing in Explore (#25488)
minimaluminium Nov 19, 2025
9db1d2b
Updated error page design (#25487)
peterzimon Nov 19, 2025
a339186
Fixed incorrect `Technology` topic slug in ap (#25489)
mike182uk Nov 19, 2025
904532d
Added USE_REACT_SHELL support for e2e tests
rob-ghost Nov 18, 2025
9022209
Added React/Ember matrix for E2E tests in CI
rob-ghost Nov 18, 2025
fcd4034
Added dual-mode email analytics processing to allow batch processing …
9larsons Nov 19, 2025
f445b3c
Supported CDN urls for media & files (#25256)
allouis Nov 20, 2025
4bbf9ab
Updated HTML stripping to convert block tags to line breaks in Activi…
minimaluminium Nov 20, 2025
cf933a2
Fixed tsc -b
jonatansberg Nov 19, 2025
25d5b98
Fixed What's New changelog entry format and tests
rob-ghost Nov 19, 2025
c8d3caa
✨ Added Explore by topic to the Network tab (#25500)
sagzy Nov 20, 2025
ac366a3
Upgraded NX to v22 (#25473)
jonatansberg Nov 20, 2025
da54cce
Serve Ember admin assets rather than proxy
jonatansberg Nov 18, 2025
fea64ef
Updated activitypub Bluesky sharing enablement flow (#25189)
mike182uk Nov 20, 2025
f1904b9
Suppress auto-responders from Microsoft email servers for bulk email
sam-lord Nov 19, 2025
9b4ca2e
🌐 Added new Finnish translations for Comments, Ghost, Portal, and Sea…
minna-xD Nov 23, 2025
0ac37e9
Fixed email notifications when Stripe is disabled (#25506)
peterzimon Nov 24, 2025
4efb081
Updated testimonial submission properties (#25512)
JohnONolan Nov 24, 2025
42132c3
Moved to kebab-case formatting portal (#25471)
ibalosh Nov 24, 2025
c91e003
Fixed race conditions in E2E tests with React shell
rob-ghost Nov 20, 2025
1682346
Fixed yarn.lock diff after local install (#25513)
kevinansfield Nov 24, 2025
b684210
v6.9.0
github-actions[bot] Nov 24, 2025
969ae7e
Improved E2E settings page with better waits and locators (#25514)
ibalosh Nov 24, 2025
43ed23f
Moved theme and zapier data to settings app
jonatansberg Nov 20, 2025
113f6b5
🐛 Fixed email analytics aggregation (#25519)
9larsons Nov 24, 2025
7b6a673
🐛 Fixed email analytics aggregation (#25519)
9larsons Nov 24, 2025
44a1832
🐛 Fixed email analytics job timestamp not updating on recurrence (#25…
9larsons Nov 24, 2025
d59d993
🐛 Fixed email analytics job timestamp not updating on recurrence (#25…
9larsons Nov 24, 2025
5c89e25
v6.9.1
github-actions[bot] Nov 24, 2025
cb84ad0
Added static components of welcome email settings (#25503)
peterzimon Nov 25, 2025
7bd7f9f
Moved to kebab-case formatting posts (#25516)
ibalosh Nov 25, 2025
d620b3e
Added welcome email notification flow (#25490)
ibalosh Nov 25, 2025
c3bc795
Made domain warming optional based on config values being set
sam-lord Nov 18, 2025
7522845
Improved search modal UX in ActivityPub (#25527)
minimaluminium Nov 25, 2025
56ea3ff
Auto-submit OTC code for member login (#25524)
peterzimon Nov 25, 2025
f885a25
Established Tinybird filter architecture (#25480)
9larsons Nov 25, 2025
4c4a8cc
Fixed loading orb not displaying on React admin startup
jonatansberg Nov 25, 2025
ba16052
New admin local dev setup (#25485)
jonatansberg Nov 25, 2025
7d3f52d
Fixed Ember live reload
jonatansberg Nov 25, 2025
b5ba120
Fixed theme error banner bottom margin (#25537)
minimaluminium Nov 26, 2025
881411a
Fixed react admin sidebar active state
jonatansberg Nov 24, 2025
36cd1c9
Fixed unfollow action failing in ActivityPub (#25538)
minimaluminium Nov 26, 2025
9fa0ed6
Improved portal page waiting to remove linting warning (#25531)
ibalosh Nov 26, 2025
ff152c2
Moved to kebab-case formatting shade (#25525)
ibalosh Nov 26, 2025
1195573
Fixed state bridge promise cleanup when unmounting hooks (#25505)
kevinansfield Nov 26, 2025
8f9e35a
🐛 Fixed Admin visual regressions with hidden text being visible (#25528)
kevinansfield Nov 26, 2025
4d407ef
Fixed flaky E2E tests by improving page navigation reliability (#25541)
ibalosh Nov 26, 2025
59f8623
Replaced `esm` patch with compatibility check in Ember build (#25532)
kevinansfield Nov 26, 2025
9af3f27
Added ingestion monitoring fields to tinybird materialized view (#25522)
cmraible Nov 26, 2025
175aba6
Improved preview modal flow check (#25542)
ibalosh Nov 27, 2025
f809e55
Moved to kebab case formatting announcement bar (#25546)
ibalosh Nov 27, 2025
8abcfb5
Added `--ignore-scripts` to yarn install in CI and Docker containers …
kevinansfield Nov 27, 2025
db19cc5
Revert "Added `--ignore-scripts` to yarn install in CI and Docker con…
kevinansfield Nov 27, 2025
6ada401
Added E2E tests for Sidebar and Custom Views
rob-ghost Nov 27, 2025
ae974e0
Added `--ignore-scripts` to yarn install in CI and Docker containers …
kevinansfield Nov 27, 2025
f73f419
Added direnv config files to git ignore list (#25555)
ibalosh Nov 27, 2025
dc7b6c7
🌐 Added Russian translations for OTC strings (#25509)
hide-me Nov 30, 2025
4426a77
Updated Tailwind config to include adminx-design-system
jonatansberg Dec 1, 2025
d6e905a
Dial down default worker count
jonatansberg Nov 27, 2025
e8ad3d6
Updated the scaling factors for domain warmup
sam-lord Nov 25, 2025
23eaa08
Merged v6.9.1 into main
sam-lord Dec 1, 2025
92e273e
Fixed search bar opening when using Cmd+K inside editor (#25564)
kevinansfield Dec 1, 2025
0ed552b
Allowed args to be passed to `install-deps.sh` script (#25566)
kevinansfield Dec 1, 2025
c56c608
Implement floating contributor profile menu (#25468)
jonatansberg Dec 1, 2025
109f779
v6.9.2
github-actions[bot] Dec 1, 2025
872e66b
v6.9.3
github-actions[bot] Dec 1, 2025
cc4eee9
Added filter dropdown for UTM fields (#25422)
9larsons Dec 1, 2025
077ed63
Updated e2e entrypoint script to retry Tinybird (#25569)
9larsons Dec 1, 2025
060900f
Skipped utm tracking tests (#25570)
9larsons Dec 2, 2025
24b1b4b
Fixed S3Storage uploads to Google Cloud Storage
allouis Dec 2, 2025
3504b93
Moved to kebab case formatting admin-x-settings (#25554)
ibalosh Dec 2, 2025
95fa622
Added "[Optional]" prefix to continue-on-error CI jobs (#25567)
kevinansfield Dec 2, 2025
0dcbe13
Renamed folders to kebab-case (#25575)
ibalosh Dec 2, 2025
64606e4
Released @tryghost/portal v2.56.2 (#25576)
kevinansfield Dec 2, 2025
38213cf
Skipped tests with convention that alings better with playwright (#25…
ibalosh Dec 2, 2025
c4b0111
Analytics filter refinements (#25574)
peterzimon Dec 2, 2025
9e43a2e
Fixed yarn dev:analytics
jonatansberg Nov 26, 2025
681fa0d
Cleaned up analytics test data scripts (#25582)
9larsons Dec 2, 2025
eaf6761
Wired up Koenig editor to welcome emails modal (#25584)
9larsons Dec 2, 2025
5e5020c
Added `automated_emails` table (#25494)
cmraible Dec 2, 2025
427fbb2
Added `automated_email` bookshelf model (#25495)
cmraible Dec 2, 2025
0e08ace
Updated member welcome emails job to emit event instead of processing…
troyciesco Dec 2, 2025
8f5a150
Added multipart upload in S3 storage adapter (#25563)
vershwal Dec 3, 2025
1dbcfa5
🌐 Added French translations for Portal, Ghost (#25510)
lujuldotcom Dec 3, 2025
97e6301
🌐 Added German translations for Ghost, Portal (#25338)
TomSchildhauer Dec 3, 2025
b2b1f2c
Reduced e2e worker count on CI to 1 (#25593)
rob-ghost Dec 3, 2025
269e00d
🐛 Fixed query params being stripped on private site login (#25596)
9larsons Dec 3, 2025
98832ca
🌐 Added Swedish translations for Ghost, Portal (#25278)
julianhessel Dec 3, 2025
8b3c1aa
🐛 Fixed monthly summaries not including high volume days (#25600)
9larsons Dec 3, 2025
ee803e3
Added `/` at the end of each path
rmgpinto Dec 3, 2025
ffd2afd
🐛 Fixed very large post count formatting in post publish dialog (#25601)
9larsons Dec 3, 2025
1082474
Fixed broken member signup test (#25604)
ibalosh Dec 3, 2025
937ab97
Added network notification badge to new admin sidebar (#25565)
jonatansberg Dec 3, 2025
73dc23c
Added trailing slash to avoid unnecessary redirect in Pro (#25599)
sagzy Dec 3, 2025
569c9eb
🐛 Fixed inconsistent 'member sources disabled' copy in analytics apps…
9larsons Dec 3, 2025
d24cf46
Released @tryghost/portal v2.56.3 (#25606)
cathysarisky Dec 3, 2025
fbaba51
Updated member welcome emails job to randomize job run (#25534)
troyciesco Dec 3, 2025
2b521a5
Added permissions for `automated_emails` (#25608)
cmraible Dec 3, 2025
3c00b66
Updated Analytics Web structure (#25583)
peterzimon Dec 3, 2025
163bacf
Added CRUD endpoints for automated_emails (#25497)
cmraible Dec 3, 2025
b16b987
Updated welcome emails to run on member creation, periodic job for cl…
troyciesco Dec 3, 2025
3b7a4c0
Removed E2E test for Analytics > Locations tab (#25616)
cmraible Dec 4, 2025
9504e8d
Improved search UX in ActivityPub (#25558)
minimaluminium Dec 4, 2025
88f40de
Merge React test reports on test failures (#25592)
ibalosh Dec 4, 2025
135a68f
Set highWaterMark on createReadStream for multipart uploads (#25621)
vershwal Dec 4, 2025
236f908
Update dependency eslint-plugin-playwright to v2.4.0 (#25587)
renovate[bot] Dec 4, 2025
019cba2
Decoupled outbox processing from welcome emails (#25610)
troyciesco Dec 4, 2025
bac5d80
🐛 Disabled ActivityPub federation for private sites (#25598)
mike182uk Dec 4, 2025
e83c60f
🐛 Fixed stale tier data setting members to comped status (#25611)
mike182uk Dec 4, 2025
9be945a
Made admin forward feature flag work for self-hosting (#25623)
jonatansberg Dec 4, 2025
d561b2f
Improved details for analytics filtering (#25627)
peterzimon Dec 4, 2025
eb5ef8e
Added E2E tests for new Analytics Web filters (#25628)
9larsons Dec 4, 2025
5e09965
Fixed web filters e2e tests (#25639)
9larsons Dec 4, 2025
295cfd0
Updated member welcome email with automated_email content (#25626)
troyciesco Dec 4, 2025
a30c49d
Added device endpoint and filter to analytics endpoints (#25634)
9larsons Dec 5, 2025
fb77969
Refactored `HtmlEditor` component used in settings (#25638)
cmraible Dec 5, 2025
6931a9d
Added devices filter to Analytics > Web (#25635)
9larsons Dec 5, 2025
c86f5e0
Added ability to toggle welcome emails on/off in settings (#25614)
cmraible Dec 5, 2025
b1d2a9f
Added ability to edit welcome email content (#25618)
cmraible Dec 5, 2025
d62ad79
v6.10.0
github-actions[bot] Dec 5, 2025
9479272
Added formatting to Analytics percentage values (#25642)
peterzimon Dec 5, 2025
7e11e37
🌐 Added missing i18n in member emails footer (#25640)
SebastianSchroeder Dec 5, 2025
ff7601c
Ported stats filter component and behavior to Post Analytics (#25641)
9larsons Dec 5, 2025
f30256f
Add Nix development environment and Docker builds
onethirtyfive Nov 7, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
17 changes: 17 additions & 0 deletions .claude/skills/add-admin-api-endpoint/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
name: Add Admin API Endpoint
description: Add a new endpoint or endpoints to Ghost's Admin API at `ghost/api/admin/**`.
---

# Create Admin API Endpoint

## Instructions

1. If creating an endpoint for an entirely new resource, create a new endpoint file in `ghost/core/core/server/api/endpoints/`. Otherwise, locate the existing endpoint file in the same directory.
2. The endpoint file should create a controller object using the JSDoc type from (@tryghost/api-framework).Controller, including at minimum a `docName` and a single endpoint definition, i.e. `browse`.
3. Add routes for each endpoint to `ghost/core/core/server/web/api/endpoints/admin/routes.js`.
4. Add basic `e2e-api` tests for the endpoint in `ghost/core/test/e2e-api/admin` to ensure the new endpoints function as expected.
5. Run the tests and iterate until they pass: `cd ghost/core && yarn test:single test/e2e-api/admin/{test-file-name}`.

## Reference
For a detailed reference on Ghost's API framework and how to create API controllers, see [reference.md](reference.md).
Loading
Loading