ghost 6.3.1 → 6.5.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 (45) hide show
  1. package/components/tryghost-i18n-6.5.0.tgz +0 -0
  2. package/core/built/admin/assets/activitypub/activitypub.js +6 -0
  3. package/core/built/admin/assets/{admin-x-activitypub/index-DsmVTjDw.mjs → activitypub/index-2Xkl6sDz.mjs} +2 -2
  4. package/core/built/admin/assets/{admin-x-activitypub/index-CdMLWVnk.mjs → activitypub/index-CKBuhv6F.mjs} +5865 -5820
  5. package/core/built/admin/assets/admin-x-settings/{CodeEditorView-CHa5Y-LX.mjs → CodeEditorView-opzyn619.mjs} +2 -2
  6. package/core/built/admin/assets/admin-x-settings/admin-x-settings.js +1 -1
  7. package/core/built/admin/assets/admin-x-settings/{index-Cg4zMcj4.mjs → index-Bl8-oPss.mjs} +2 -2
  8. package/core/built/admin/assets/admin-x-settings/{index-CGFCkAXn.mjs → index-DEKggYGh.mjs} +4 -12
  9. package/core/built/admin/assets/admin-x-settings/{modals-DH5H9Tgk.mjs → modals-Dfgf0rk6.mjs} +2 -2
  10. package/core/built/admin/assets/{chunk.524.5ac0aa6b2e0374d43fa1.js → chunk.524.38d01b4462f2c8fa0f0c.js} +8 -8
  11. package/core/built/admin/assets/{chunk.582.944f56b6e36ff0afdc80.js → chunk.582.a5f6607aa0d9d35698fb.js} +9 -9
  12. package/core/built/admin/assets/{ghost-1bfab97cb7f550726e894fae6650a808.js → ghost-5913e475046c53790a925867eac6cf71.js} +48 -70
  13. package/core/built/admin/assets/posts/posts.js +5519 -5510
  14. package/core/built/admin/assets/stats/stats.js +20 -20
  15. package/core/built/admin/index.html +3 -3
  16. package/core/frontend/helpers/ghost_head.js +1 -3
  17. package/core/frontend/helpers/reading_time.js +4 -4
  18. package/core/frontend/helpers/split.js +34 -0
  19. package/core/frontend/web/site.js +2 -2
  20. package/core/server/adapters/storage/LocalFilesStorage.js +2 -1
  21. package/core/server/adapters/storage/LocalMediaStorage.js +2 -1
  22. package/core/server/api/endpoints/utils/serializers/output/files.js +2 -1
  23. package/core/server/api/endpoints/utils/serializers/output/media.js +2 -1
  24. package/core/server/api/endpoints/utils/serializers/output/utils/extra-attrs.js +8 -3
  25. package/core/server/data/migrations/versions/6.4/2025-10-13-10-18-38-add-tokens-otc-used-count-column.js +8 -0
  26. package/core/server/data/schema/schema.js +3 -2
  27. package/core/server/models/single-use-token.js +1 -0
  28. package/core/server/services/email-service/email-templates/template.hbs +0 -2
  29. package/core/server/services/lib/MailgunClient.js +2 -1
  30. package/core/server/services/lib/magic-link/MagicLink.js +2 -3
  31. package/core/server/services/mail/GhostMailer.js +21 -0
  32. package/core/server/services/members/SingleUseTokenProvider.js +218 -62
  33. package/core/server/services/members/members-api/controllers/RouterController.js +2 -2
  34. package/core/shared/config/defaults.json +1 -1
  35. package/core/shared/config/helpers.js +0 -21
  36. package/core/shared/labs.js +0 -2
  37. package/core/shared/url-utils.js +2 -1
  38. package/package.json +6 -6
  39. package/tsconfig.tsbuildinfo +1 -1
  40. package/yarn.lock +279 -169
  41. package/components/tryghost-i18n-6.3.1.tgz +0 -0
  42. package/core/built/admin/assets/admin-x-activitypub/admin-x-activitypub.js +0 -6
  43. package/core/server/services/lib/magic-link/JWTTokenProvider.js +0 -52
  44. package/core/server/services/lib/magic-link/README.md +0 -60
  45. /package/core/built/admin/assets/{admin-x-activitypub → activitypub}/styles/reader.css +0 -0
@@ -64,25 +64,6 @@ const isPrivacyDisabled = function isPrivacyDisabled(privacyFlag) {
64
64
  return this.get('privacy')[privacyFlag] === false;
65
65
  };
66
66
 
67
- /**
68
- * @callback getStaticUrlPrefixFn
69
- * @param {'images'|'media'|'files'} type
70
- * @returns {string}
71
- */
72
- function getStaticUrlPrefix(type) {
73
- switch (type) {
74
- case 'images':
75
- return 'content/images';
76
- case 'media':
77
- return 'content/media';
78
- case 'files':
79
- return 'content/files';
80
- default:
81
- // eslint-disable-next-line ghost/ghost-custom/no-native-error
82
- throw new Error('getStaticUrlPrefix was called with: ' + type);
83
- }
84
- }
85
-
86
67
  /**
87
68
  * @callback getContentPathFn
88
69
  * @param {string} type - the type of context you want the path for
@@ -120,12 +101,10 @@ const getContentPath = function getContentPath(type) {
120
101
  * @typedef ConfigHelpers
121
102
  * @property {isPrivacyDisabledFn} isPrivacyDisabled
122
103
  * @property {getContentPathFn} getContentPath
123
- * @property {getStaticUrlPrefixFn} getStaticUrlPrefix
124
104
  */
125
105
  module.exports.bindAll = (nconf) => {
126
106
  nconf.isPrivacyDisabled = isPrivacyDisabled.bind(nconf);
127
107
  nconf.getContentPath = getContentPath.bind(nconf);
128
108
  nconf.getBackendMountPath = getBackendMountPath.bind(nconf);
129
109
  nconf.getFrontendMountPath = getFrontendMountPath.bind(nconf);
130
- nconf.getStaticUrlPrefix = getStaticUrlPrefix.bind(nconf);
131
110
  };
@@ -47,8 +47,6 @@ const PRIVATE_FEATURES = [
47
47
  'lexicalIndicators',
48
48
  'contentVisibilityAlpha',
49
49
  'emailCustomization',
50
- 'membersSigninOTC',
51
- 'membersSigninOTCAlpha',
52
50
  'tagsX',
53
51
  'utmTracking',
54
52
  'emailUniqueid'
@@ -2,7 +2,6 @@ const UrlUtils = require('@tryghost/url-utils');
2
2
  const config = require('./config');
3
3
 
4
4
  const BASE_API_PATH = '/ghost/api';
5
-
6
5
  const urlUtils = new UrlUtils({
7
6
  getSubdir: config.getSubdir,
8
7
  getSiteUrl: config.getSiteUrl,
@@ -14,3 +13,5 @@ const urlUtils = new UrlUtils({
14
13
 
15
14
  module.exports = urlUtils;
16
15
  module.exports.BASE_API_PATH = BASE_API_PATH;
16
+ module.exports.STATIC_MEDIA_URL_PREFIX = 'content/media';
17
+ module.exports.STATIC_FILES_URL_PREFIX = 'content/files';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ghost",
3
- "version": "6.3.1",
3
+ "version": "6.5.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-6.3.1.tgz",
89
+ "@tryghost/i18n": "file:components/tryghost-i18n-6.5.0.tgz",
90
90
  "@tryghost/image-transform": "1.4.6",
91
91
  "@tryghost/job-manager": "1.0.3",
92
92
  "@tryghost/kg-card-factory": "5.1.2",
@@ -144,7 +144,7 @@
144
144
  "csso": "5.0.5",
145
145
  "csv-writer": "1.6.0",
146
146
  "date-fns": "2.30.0",
147
- "dompurify": "3.2.7",
147
+ "dompurify": "3.3.0",
148
148
  "downsize": "0.0.8",
149
149
  "entities": "4.5.0",
150
150
  "express": "4.21.2",
@@ -166,7 +166,7 @@
166
166
  "heic-convert": "2.1.0",
167
167
  "html-to-text": "5.1.1",
168
168
  "html5parser": "2.0.2",
169
- "human-number": "2.0.6",
169
+ "human-number": "2.0.7",
170
170
  "iconv-lite": "0.6.3",
171
171
  "image-size": "1.2.1",
172
172
  "intl": "1.2.5",
@@ -232,7 +232,7 @@
232
232
  "@types/bookshelf": "1.2.9",
233
233
  "@types/common-tags": "1.8.4",
234
234
  "@types/jsonwebtoken": "9.0.10",
235
- "@types/node": "22.18.9",
235
+ "@types/node": "22.18.10",
236
236
  "@types/node-jose": "1.1.13",
237
237
  "@types/nodemailer": "6.4.20",
238
238
  "@types/sinon": "17.0.4",
@@ -273,7 +273,7 @@
273
273
  "jackspeak": "2.3.6",
274
274
  "moment": "2.24.0",
275
275
  "moment-timezone": "0.5.45",
276
- "@tryghost/i18n": "file:components/tryghost-i18n-6.3.1.tgz"
276
+ "@tryghost/i18n": "file:components/tryghost-i18n-6.5.0.tgz"
277
277
  },
278
278
  "nx": {
279
279
  "targets": {