Ghost, an open-source headless CMS for modern publishing, has seen a notable uptick in development activity over the past month, with significant efforts directed towards enhancing security features and improving user experience.
The project has been actively addressing issues related to user management and UI/UX inconsistencies. Recent development efforts have focused on implementing honeypot fields and integrity tokens to prevent bot signups, as well as refining the user interface based on feedback. The team has also been working on performance optimizations, particularly in analytics processing and query efficiency.
Recent issues and pull requests indicate a concerted effort to address both security concerns and user experience improvements. Issues such as #20771 and #20767 highlight ongoing challenges with user sign-up processes, while documentation gaps are being addressed through issues like #20753. The development team has been actively collaborating to resolve these issues, as evidenced by the reverse chronological list of recent commits:
Timespan | Opened | Closed | Comments | Labeled | Milestones |
---|---|---|---|---|---|
7 Days | 3 | 3 | 11 | 2 | 1 |
30 Days | 10 | 16 | 35 | 2 | 1 |
90 Days | 40 | 45 | 121 | 15 | 1 |
1 Year | 219 | 200 | 565 | 68 | 1 |
All Time | 6887 | 6861 | - | - | - |
Like all software activity quantification, these numbers are imperfect but sometimes useful. Comments, Labels, and Milestones refer to those issues opened in the timespan in question.
Developer | Avatar | Branches | PRs | Commits | Files | Changes |
---|---|---|---|---|---|---|
Fabien 'egg' O'Carroll | 2 | 5/5/0 | 5 | 303 | 39459 | |
renovate[bot] | 10 | 43/36/2 | 47 | 59 | 6514 | |
Steve Larson | 2 | 14/14/0 | 17 | 69 | 4812 | |
Hannah Wolfe | 1 | 0/0/0 | 23 | 35 | 3677 | |
Sodbileg Gansukh | 2 | 6/6/0 | 14 | 58 | 2342 | |
Ronald Langeveld | 3 | 13/12/1 | 18 | 78 | 1975 | |
Kevin Ansfield | 1 | 16/15/1 | 20 | 54 | 1679 | |
Princi Vershwal | 4 | 7/6/0 | 9 | 26 | 1296 | |
Sanne de Vries | 1 | 9/9/0 | 9 | 20 | 1223 | |
Peter Zimon | 2 | 3/3/0 | 5 | 30 | 1213 | |
Daniël van der Winden | 3 | 6/6/0 | 32 | 29 | 962 | |
Djordje Vlaisavljevic | 3 | 5/4/0 | 15 | 12 | 838 | |
Chris Raible | 3 | 8/6/0 | 15 | 22 | 801 | |
Sam Lord | 1 | 2/2/0 | 8 | 21 | 571 | |
Sag | 2 | 7/6/1 | 7 | 32 | 506 | |
Michael Barrett | 1 | 3/2/0 | 2 | 1 | 187 | |
Stanislav Traykov | 1 | 2/2/0 | 2 | 2 | 150 | |
Daniel Lockyer | 1 | 7/5/2 | 5 | 8 | 46 | |
Ghost CI | 1 | 0/0/0 | 9 | 2 | 36 | |
Steffo | 1 | 1/1/0 | 1 | 4 | 24 | |
Yovko Lambrev (yovko) | 0 | 1/0/0 | 0 | 0 | 0 | |
Amel Sućeska (amel-s) | 0 | 2/0/1 | 0 | 0 | 0 | |
Fernando Ochoa Olivares (fochoaog) | 0 | 2/0/0 | 0 | 0 | 0 | |
None (ayangizzat) | 0 | 1/0/0 | 0 | 0 | 0 | |
Ivan Hendrick Abedoza Felipe (IvanFelipe18) | 0 | 1/0/1 | 0 | 0 | 0 | |
Volodymyr Lavrynovych (vlavrynovych) | 0 | 1/0/0 | 0 | 0 | 0 |
PRs: created by that dev and opened/merged/closed-unmerged during the period
The Ghost project has seen a notable increase in activity, with 26 open issues currently being tracked. Recent discussions have highlighted various bugs and feature requests, indicating an engaged community actively participating in the platform's development. Noteworthy issues include problems with user sign-up processes, documentation gaps, and inconsistencies in the editor's functionality.
Several issues exhibit recurring themes, particularly around UI/UX inconsistencies in dark mode, problems with the editor when handling special characters, and challenges related to email configurations. The presence of multiple reports regarding broken functionalities after updates suggests potential regression issues that need addressing.
Issue #20771: Opening the recommendation popup only works with enabled subscription
Issue #20767: Multiple users signing up with name "adwdasddwa"
Issue #20753: [Docs] List out log levels in documentation
Issue #20381: mail.from not respected for send-magic-link endpoint
Issue #19254: Unusual paragraph and span in a figcaption
Issue #17514: Make this site private - not working in Chrome and Opera
This analysis reflects an active engagement from the community while also pointing out areas where improvements can be made to enhance user experience and functionality within the Ghost platform.
The dataset contains a comprehensive list of pull requests (PRs) from the Ghost project repository, highlighting both open and closed PRs. The current state of the repository shows a high level of activity, with numerous updates focusing on performance improvements, dependency updates, localization efforts, and bug fixes.
PR #20819: Added instrumentation for eventLoopUtilization using OpenTelemetry. This PR aims to monitor event loop constraints in production by re-enabling OpenTelemetry and adding Prometheus metrics.
PR #20816: Update dependency webpack to v5.94.0. A routine update to keep the project dependencies current.
PR #20778: Update dependency @radix-ui/react-form to ^0.1.0. Another routine update managed by Mend Renovate.
PR #20772: ActivityPub design updates, including static designs for Profile and Search pages, and refactoring of components for better usability.
PR #20768: Update dependency ember-svg-jar to v2.5.0, maintaining up-to-date packages.
PR #20754: Update dependency jwk-to-pem to v2.0.6, ensuring compatibility with the latest version.
PR #20746: Update tiptap monorepo to v2.6.1, improving text editing capabilities.
PR #20736: Update nest monorepo to v10.4.0, ensuring that NestJS dependencies are current.
PR #20735: Update dependency @tryghost/html-to-mobiledoc to v3.1.3, keeping HTML processing libraries up-to-date.
PR #20719: Added deliverytime parameter to the BatchSendingService to manage email sending loads better during peak times.
PR #20702: Added created_at index to the members_click_events table for improved database performance.
PR #20591: Cleaned up "New Email Addresses" GA feature flag, indicating ongoing work on feature flags and testing.
PR #20530: Postmark integration for email services, indicating an expansion of email service options available in Ghost.
PR #20587: Update jaegertracing/all-in-one Docker tag to v1.59, ensuring that containerized services are using the latest versions.
PR #20586: Added a few missing strings for Ukrainian i18n support, reflecting ongoing localization efforts.
PR #20585: Anonymised the name of edited images for privacy reasons in image handling processes.
PR #20584: Added locales for Swahili language support, enhancing accessibility for East African users.
PR #20485: Added locales for Swahili language support, furthering internationalization efforts in Ghost.
PR #20461: Update dependency @types/node to v20.14.9 as part of routine maintenance.
PR #20432: Added locale for Bengali Language (bn), expanding language support in Ghost's i18n system.
PR #20337: Fixed orphaned words in newsletter titles by adding a helper function for better text formatting in newsletters.
PR #20277: Added Greek Locale for portal, comments, ghost, and signup-form as part of localization efforts.
PR #20194: Updated copyright end year as 2024 in documentation files across the project.
PR #20096: Fix potential GitHub Actions smells by optimizing CI/CD workflows within the project repository.
PR #19818: Update dependency @html-next/vertical-collection to v3.1.0 as part of regular package maintenance.
26-50+ Additional PRs focused on various aspects like bug fixes, performance improvements, localization updates across multiple languages (including Urdu and Lithuanian), and enhancements to existing features or UI elements within Ghost's admin interface or public-facing components.
The analysis reveals several key themes and trends within the pull requests submitted to the Ghost project:
A significant number of recent PRs focus on updating dependencies (e.g., webpack, Radix UI components) and libraries (e.g., i18next). This indicates a commitment to keeping the codebase modern and secure while leveraging improvements from third-party libraries that can enhance performance or functionality—an essential practice in software development that ensures longevity and reliability of the application.
Several PRs specifically target performance enhancements—such as optimizing database queries (e.g., adding indexes) or improving how events are processed in email analytics jobs (#20800). These optimizations are crucial given that Ghost serves a large user base with varying traffic patterns; thus, ensuring responsiveness during peak loads is vital for user satisfaction and retention.
There is a strong emphasis on localization with multiple PRs aimed at adding or updating translations for various languages (e.g., Swahili, Bengali). This reflects an understanding of Ghost's diverse user base and a commitment to making the platform accessible globally—a strategic move that can significantly broaden its appeal and usability across different regions.
Many PRs address specific bugs or enhance existing features (e.g., fixing email sending logic or improving UI elements). For instance, PRs related to fixing issues with draft posts not saving correctly highlight an active approach to quality assurance and user experience improvement—both critical aspects when managing a content management system where data integrity is paramount.
The presence of comments from various contributors discussing potential improvements or clarifications suggests an engaged community around the project—an essential factor for open-source projects that rely on collaboration and feedback from users and developers alike.
While many recent PRs are being actively merged or closed quickly after submission, there are older PRs that remain open without significant activity (e.g., those related to major refactoring or new feature implementations). This could indicate challenges in reaching consensus on certain changes or simply prioritization issues within the development team—areas that may require attention to avoid stagnation in feature development or bug resolution processes.
Overall, the pull request activity within the Ghost repository demonstrates a robust development cycle characterized by active maintenance, performance optimization efforts, ongoing localization initiatives, community engagement, and responsiveness to user needs through bug fixes and feature enhancements—all crucial elements contributing to its success as a leading headless CMS platform.
Sam Lord (sam-lord)
Steve Larson (9larsons)
Daniël van der Winden (dvdwinden)
Ronald Langeveld (ronaldlangeveld)
Chris Raible (cmraible)
Kevin Ansfield (kevinansfield)
Princi Vershwal (vershwal)
Sodbileg Gansukh (minimaluminium)
Hannah Wolfe (ErisDS)
Peter Zimon (peterzimon)
Overall, the Ghost development team demonstrates a proactive approach to both user needs and technical challenges, ensuring that the platform remains robust and user-friendly.