ghost 5.128.0 → 5.129.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/components/tryghost-i18n-5.129.0.tgz +0 -0
  2. package/core/built/admin/assets/admin-x-activitypub/admin-x-activitypub.js +2 -2
  3. package/core/built/admin/assets/admin-x-activitypub/{index-CAyELgjK.mjs → index-Ou5BZ-qx.mjs} +7 -6
  4. package/core/built/admin/assets/admin-x-activitypub/{index-Dw9BlNtX.mjs → index-q-fcRpYq.mjs} +2 -2
  5. package/core/built/admin/assets/admin-x-settings/{CodeEditorView-D-2S3E5-.mjs → CodeEditorView-BdOUrhjH.mjs} +2 -2
  6. package/core/built/admin/assets/admin-x-settings/admin-x-settings.js +2 -2
  7. package/core/built/admin/assets/admin-x-settings/{index-3ewKySD9.mjs → index-BIcU5l8u.mjs} +105 -105
  8. package/core/built/admin/assets/admin-x-settings/{index-0OLkY3Hc.mjs → index-CyYRbOBi.mjs} +5485 -5307
  9. package/core/built/admin/assets/admin-x-settings/{modals-viB8Wk3n.mjs → modals-r5LXiWii.mjs} +8221 -8196
  10. package/core/built/admin/assets/{chunk.524.293f624425ff9f9e45d1.js → chunk.524.59a57ec279b535711b3f.js} +5 -5
  11. package/core/built/admin/assets/{chunk.582.20f1821e20aec8197bfc.js → chunk.582.324905279ae25a297c8e.js} +9 -9
  12. package/core/built/admin/assets/{ghost-edcc476760aeb9eaddd24341ec19f261.js → ghost-29e715d82674921e3f545fd4778b09ac.js} +375 -345
  13. package/core/built/admin/assets/{ghost-673f1a892cb83c3441c2ad448d4b634d.css → ghost-415f8e3c36dbe0e09f87608628da382d.css} +1 -1
  14. package/core/built/admin/assets/{ghost-dark-1e5d92b26a08ecf6f98999c53102f221.css → ghost-dark-2043bca95512f1fa2ff0bea2f8a632b0.css} +1 -1
  15. package/core/built/admin/assets/posts/posts.js +63002 -62842
  16. package/core/built/admin/assets/stats/stats.js +32122 -31899
  17. package/core/built/admin/assets/{vendor-9631e49a9ba32620e8fdc561f1380348.js → vendor-c89102f24c3d9502e9db741509767580.js} +20 -18
  18. package/core/built/admin/index.html +5 -5
  19. package/core/frontend/helpers/ghost_head.js +4 -2
  20. package/core/frontend/public/ghost-stats.min.js +1 -1
  21. package/core/frontend/src/ghost-stats/ghost-stats.js +9 -5
  22. package/core/server/api/endpoints/comments.js +86 -0
  23. package/core/server/api/endpoints/index.js +5 -1
  24. package/core/server/api/endpoints/search-index-public.js +26 -4
  25. package/core/server/api/endpoints/search-index.js +84 -0
  26. package/core/server/api/endpoints/utils/serializers/output/search-index.js +79 -18
  27. package/core/server/data/schema/schema.js +1 -1
  28. package/core/server/data/seeders/importers/TagsImporter.js +2 -2
  29. package/core/server/services/comments/CommentsService.js +21 -7
  30. package/core/server/services/email-service/email-templates/partials/styles.hbs +1 -0
  31. package/core/server/services/media-inliner/ExternalMediaInliner.js +21 -2
  32. package/core/server/services/permissions/can-this.js +10 -3
  33. package/core/server/services/stats/PostsStatsService.js +52 -0
  34. package/core/server/web/api/endpoints/admin/middleware.js +5 -3
  35. package/core/server/web/api/endpoints/admin/routes.js +7 -0
  36. package/core/server/web/api/endpoints/content/routes.js +3 -3
  37. package/core/shared/labs.js +1 -2
  38. package/core/shared/settings-cache/CacheManager.js +1 -0
  39. package/package.json +6 -5
  40. package/tsconfig.tsbuildinfo +1 -1
  41. package/yarn.lock +121 -90
  42. package/components/tryghost-i18n-5.128.0.tgz +0 -0
  43. package/core/server/services/search-index/SearchIndexService.js +0 -43
  44. package/core/server/services/search-index/index.js +0 -8
@@ -64,12 +64,14 @@ const notImplemented = function notImplemented(req, res, next) {
64
64
  schedules: ['PUT'],
65
65
  files: ['POST'],
66
66
  media: ['POST'],
67
- db: ['POST'],
67
+ db: ['GET', 'POST'],
68
68
  settings: ['GET'],
69
- oembed: ['GET']
69
+ comments: ['GET', 'POST', 'PUT'],
70
+ oembed: ['GET'],
71
+ 'search-index': ['GET']
70
72
  };
71
73
 
72
- const match = req.url.match(/^\/(\w+)\/?/);
74
+ const match = req.url.match(/^\/([^/?]+)\/?/);
73
75
 
74
76
  if (match) {
75
77
  const entity = match[1];
@@ -45,6 +45,7 @@ module.exports = function apiRoutes() {
45
45
  router.get('/comments/:id', mw.authAdminApi, http(api.commentReplies.read));
46
46
  router.get('/comments/:id/replies', mw.authAdminApi, http(api.commentReplies.browse));
47
47
  router.get('/comments/post/:post_id', mw.authAdminApi, http(api.comments.browse));
48
+ router.post('/comments', mw.authAdminApi, http(api.comments.add));
48
49
  router.put('/comments/:id', mw.authAdminApi, http(api.comments.edit));
49
50
 
50
51
  // ## Pages
@@ -378,5 +379,11 @@ module.exports = function apiRoutes() {
378
379
  // Feedback
379
380
  router.get('/feedback/:id', mw.authAdminApi, http(api.feedbackMembers.browse));
380
381
 
382
+ // Search index
383
+ router.get('/search-index/posts', mw.authAdminApi, http(api.searchIndex.fetchPosts));
384
+ router.get('/search-index/pages', mw.authAdminApi, http(api.searchIndex.fetchPages));
385
+ router.get('/search-index/tags', mw.authAdminApi, http(api.searchIndex.fetchTags));
386
+ router.get('/search-index/users', mw.authAdminApi, http(api.searchIndex.fetchUsers));
387
+
381
388
  return router;
382
389
  };
@@ -45,9 +45,9 @@ module.exports = function apiRoutes() {
45
45
  router.get('/recommendations', mw.authenticatePublic, http(api.recommendationsPublic.browse));
46
46
 
47
47
  // ## Search index
48
- router.get('/search-index/posts', mw.authenticatePublic, http(api.searchIndex.fetchPosts));
49
- router.get('/search-index/authors', mw.authenticatePublic, http(api.searchIndex.fetchAuthors));
50
- router.get('/search-index/tags', mw.authenticatePublic, http(api.searchIndex.fetchTags));
48
+ router.get('/search-index/posts', mw.authenticatePublic, http(api.searchIndexPublic.fetchPosts));
49
+ router.get('/search-index/authors', mw.authenticatePublic, http(api.searchIndexPublic.fetchAuthors));
50
+ router.get('/search-index/tags', mw.authenticatePublic, http(api.searchIndexPublic.fetchTags));
51
51
 
52
52
  return router;
53
53
  };
@@ -43,13 +43,12 @@ const PRIVATE_FEATURES = [
43
43
  'stripeAutomaticTax',
44
44
  'webmentions',
45
45
  'trafficAnalytics',
46
- 'trafficAnalyticsTracking',
47
46
  'importMemberTier',
48
47
  'urlCache',
49
48
  'mailEvents',
50
49
  'lexicalIndicators',
51
50
  'trafficAnalyticsAlpha',
52
- 'updatedMainNav',
51
+ 'ui60',
53
52
  'contentVisibilityAlpha',
54
53
  'explore',
55
54
  'emailCustomization'
@@ -14,6 +14,7 @@ const _ = require('lodash');
14
14
 
15
15
  /**
16
16
  * @typedef {Object} PublicSettingsCache
17
+ * @property {string|null} site_uuid - The blog's site UUID
17
18
  * @property {string|null} title - The blog's title
18
19
  * @property {string|null} description - The blog's description
19
20
  * @property {string|null} logo - URL to the blog's logo
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ghost",
3
- "version": "5.128.0",
3
+ "version": "5.129.0",
4
4
  "description": "The professional publishing platform",
5
5
  "author": "Ghost Foundation",
6
6
  "homepage": "https://ghost.org",
@@ -86,7 +86,7 @@
86
86
  "@tryghost/helpers": "1.1.97",
87
87
  "@tryghost/html-to-plaintext": "1.0.4",
88
88
  "@tryghost/http-cache-utils": "0.1.20",
89
- "@tryghost/i18n": "file:components/tryghost-i18n-5.128.0.tgz",
89
+ "@tryghost/i18n": "file:components/tryghost-i18n-5.129.0.tgz",
90
90
  "@tryghost/image-transform": "1.4.6",
91
91
  "@tryghost/job-manager": "1.0.2",
92
92
  "@tryghost/kg-card-factory": "5.1.2",
@@ -164,6 +164,7 @@
164
164
  "got": "11.8.6",
165
165
  "gscan": "4.49.7",
166
166
  "handlebars": "4.7.8",
167
+ "heic-convert": "2.1.0",
167
168
  "html-to-text": "5.1.1",
168
169
  "html5parser": "2.0.2",
169
170
  "human-number": "2.0.4",
@@ -225,14 +226,14 @@
225
226
  },
226
227
  "devDependencies": {
227
228
  "@actions/core": "1.11.1",
228
- "@playwright/test": "1.53.1",
229
+ "@playwright/test": "1.53.2",
229
230
  "@prettier/sync": "0.6.1",
230
231
  "@tryghost/express-test": "0.15.0",
231
232
  "@tryghost/webhook-mock-receiver": "0.2.17",
232
233
  "@types/bookshelf": "1.2.9",
233
234
  "@types/common-tags": "1.8.4",
234
235
  "@types/jsonwebtoken": "9.0.10",
235
- "@types/node": "22.15.34",
236
+ "@types/node": "22.16.0",
236
237
  "@types/node-jose": "1.1.13",
237
238
  "@types/nodemailer": "6.4.17",
238
239
  "@types/sinon": "17.0.4",
@@ -273,7 +274,7 @@
273
274
  "jackspeak": "2.3.6",
274
275
  "moment": "2.24.0",
275
276
  "moment-timezone": "0.5.45",
276
- "@tryghost/i18n": "file:components/tryghost-i18n-5.128.0.tgz"
277
+ "@tryghost/i18n": "file:components/tryghost-i18n-5.129.0.tgz"
277
278
  },
278
279
  "nx": {
279
280
  "targets": {