Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: TryGhost/Ghost
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v6.23.0
Choose a base ref
...
head repository: TryGhost/Ghost
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v6.24.0
Choose a head ref
  • 16 commits
  • 64 files changed
  • 7 contributors

Commits on Mar 26, 2026

  1. Fixed members list layout on mobile (#26987)

    ref https://linear.app/ghost/issue/BER-3496/table-broken-on-mobile-sizes
    
    - The members list layout was broken on mobile. The table cells were
    collapsed because of a incorrect widths.
    peterzimon authored Mar 26, 2026
    Configuration menu
    Copy the full SHA
    6d6d34d View commit details
    Browse the repository at this point in the history
  2. Sped up email renderer (#26870)

    no ref
    
    This should be a performance-only change. This patch makes the following
    changes:
    
    1. Only read `.hbs` files once, and only compile the Handlebars template
    once.
    2. Read `.hbs` files in parallel, for performance.
    3. Small: don't re-convert a string unnecessarily. (We were reading it
    as a UTF-8 string, then converting it back to a buffer, then re-reading
    that buffer as a UTF-8 string.)
    4. Small: don't keep useless references around.
    EvanHahn authored Mar 26, 2026
    Configuration menu
    Copy the full SHA
    44111c7 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    ca33849 View commit details
    Browse the repository at this point in the history
  4. Require erasable TypeScript syntax (#26915)

    no ref
    
    **What?** This enables [TypeScript's `erasableSyntaxOnly` option][0]
    across the codebase. This means we can't use enums, namespaces, or a few
    other things. This change should have no user impact.
    
    **Why?** The big reason: [Node supports running TypeScript files
    directly][1], but only if all the syntax is erasable. This means we can
    remove build steps in many cases! It has a few other advantages, too:
    simplifying source maps, restricting some tricky parts of TypeScript,
    slightly accelerating TypeScript compilation,
    
    This doesn't enable some of the other options that are sometimes
    recommended in tandem, like `verbatimModuleSyntax`. Nor does it actually
    run `.ts` files with Node. Those are for another day.
    
    [0]: https://www.typescriptlang.org/tsconfig/#erasableSyntaxOnly
    [1]: https://nodejs.org/api/typescript.html#type-stripping
    EvanHahn authored Mar 26, 2026
    Configuration menu
    Copy the full SHA
    0d47e2e View commit details
    Browse the repository at this point in the history
  5. Improved database migration skill (#26971)

    no refs
    
    ## Summary
    
    - Expanded the `create-database-migration` skill description to improve
    triggering accuracy
    - Skill now activates for broader set of user requests: referencing
    schema.js, knex-migrator, migrations directory, "add a field/column", or
    Linear issues requiring schema changes
    - Also added a missing step to update the integration tests, which the
    agent missed the first time.
    - With this change, the agent was able to one-shot the addition of an
    add table migration, with all tests passing in CI on the first try.
    cmraible authored Mar 26, 2026
    Configuration menu
    Copy the full SHA
    25e1433 View commit details
    Browse the repository at this point in the history
  6. Refactored OffersService into OfferFactory (#26989)

    ref https://linear.app/ghost/issue/PLA-10/
    - adds an OfferFactory to the e2e data-factory layer
    - moves offer creation and update call sites off the old offer service
    - removes the old helpers/services/offers helper
    9larsons authored Mar 26, 2026
    Configuration menu
    Copy the full SHA
    0dfa0bb View commit details
    Browse the repository at this point in the history
  7. Updated welcome email rendering to prepare for custom options (#26966)

    closes https://linear.app/ghost/issue/NY-1163
    
    _I recommend reviewing this
    [commit-by-commit](https://github.com/TryGhost/Ghost/pull/26966/commits)
    rather than all at once._
    
    _This change should have no user impact._
    
    This lets the welcome email renderer match the newsletter email
    renderer's design settings. For example, it now fetches the background
    color the same way.
    
    It's currently hard-coded, but it should be easy to add real values on
    top of this.
    
    In addition to automated tests, I manually verified that welcome emails'
    HTML was unchanged.
    EvanHahn authored Mar 26, 2026
    Configuration menu
    Copy the full SHA
    f6e7cc8 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    a3494d4 View commit details
    Browse the repository at this point in the history
  9. Fixed underline bug in email bookmark cards (#26994)

    no ref
    
    - Fixes a regression of bookmark cards in emails having unnecessary
    underline.
    peterzimon authored Mar 26, 2026
    Configuration menu
    Copy the full SHA
    df3d23d View commit details
    Browse the repository at this point in the history
  10. Removed redundant Stripe checkout initiation smoke test (#26993)

    no ref
    - removes the thin Stripe checkout-initiation smoke spec from the
    top-level e2e suite
    
    This path is now covered more directly through product-facing e2e tests
    instead of a separate harness-oriented smoke test.
    
    Overlapping coverage already exists in:
    - e2e/tests/admin/settings/portal-settings.test.ts
    - e2e/tests/public/portal-tiers.test.ts
    - e2e/tests/public/portal-upgrade.test.ts
    9larsons authored Mar 26, 2026
    Configuration menu
    Copy the full SHA
    160900b View commit details
    Browse the repository at this point in the history
  11. Added email_design_settings table migration (#26973)

    closes
    https://linear.app/ghost/issue/NY-1137/create-email-design-settings-table-migration
    
    ## Summary
    
    Adds a new `email_design_settings` table to store email design/styling
    settings independently from newsletters. The table columns mirror the
    design-related columns from the `newsletters` table (background colors,
    fonts, button styles, image corners, etc.) with identical types,
    constraints, and defaults.
    
    `title_alignment` and `post_title_color` are intentionally omitted —
    this table initially supports automated emails which don't use those
    columns. They can be added later if/when we extend templates for
    newsletters.
    
    ## Changes
    
    - Added `email_design_settings` table definition in `schema.js` with
    `isIn` validations for enum fields
    - Added `addTable` migration for the new table
    - Added `email_design_settings` to the backup tables list in
    `table-lists.js`
    - Updated exporter test expectations and schema integrity hash
    
    ---------
    
    Co-authored-by: Troy Ciesco <tmciesco@gmail.com>
    cmraible and troyciesco authored Mar 26, 2026
    Configuration menu
    Copy the full SHA
    96f1c41 View commit details
    Browse the repository at this point in the history
  12. Added Cursor environment bootstrap configuration (#26998)

    ref e7737ce
    
    This tells Cursor how to initialize a worktree. See [the docs][0].
    
    [0]:
    https://cursor.com/docs/configuration/worktrees#initialization-script
    EvanHahn authored Mar 26, 2026
    Configuration menu
    Copy the full SHA
    d8fc9ac View commit details
    Browse the repository at this point in the history
  13. Improved types for email renderer (#26990)

    no ref
    
    There are a number of places we can add that are type checking in this
    file. This is a types only change that should have no user impact.
    EvanHahn authored Mar 26, 2026
    Configuration menu
    Copy the full SHA
    d5be59a View commit details
    Browse the repository at this point in the history

Commits on Mar 27, 2026

  1. Added Content API key to built-in integrations (#26772)

    ref
    https://linear.app/ghost/issue/BER-2416/starter-customers-cannot-obtain-a-content-api-key
    
    - Starter plan customers can't create custom integrations, which means
    they have no way to obtain their Content API key
    - Added a "Content API" card to the built-in integrations tab that opens
    a modal showing the Content API key and API URL
    - Follows the same modal pattern as Zapier and other built-in
    integrations
    minimaluminium authored Mar 27, 2026
    Configuration menu
    Copy the full SHA
    c0446b0 View commit details
    Browse the repository at this point in the history
  2. Disabled transistor.fm integration when limited by host (#27002)

    ref https://ghost.slack.com/archives/C0A0YQ2S53R/p1774572762467409
    - marked transistor integration as locked/disabled when limited by host;
    overrode related backend settings
    - updated sort behavior of integrations (disabled sorts to bottom)
    
    Host plans may limit custom integrations via blocking webhooks. This
    currently happens for Zapier and was not extended to Transistor, which
    needs different handling given it has both externally set up webhooks +
    native Ghost functionality.
    
    We now disable the Ghost-related functionality based on the host
    settings which is consistent with the webhook behavior.
    9larsons authored Mar 27, 2026
    Configuration menu
    Copy the full SHA
    d28725e View commit details
    Browse the repository at this point in the history
  3. v6.24.0

    github-actions[bot] committed Mar 27, 2026
    Configuration menu
    Copy the full SHA
    d5fca1c View commit details
    Browse the repository at this point in the history
Loading