Releases: ooaklee/ghatd
Release v0.3.0-alpha.3
Notes
This release introduces a significant refactor and new feature to ensure that subscriptions and billing events are correctly linked to a user, even when the purchase happens before registration (pre-registration purchases/support). It also provides much-needed, comprehensive support for Ko-fi flows.
Note:
⚠️ Lemon Squeezy and Stripe will need some TLC
Changelog
- Pre-Registration User Association:
- Implemented email-based association to link subscriptions and events to the user ID upon sign-up
- Updated Access Manager to utilise new billing service functionality for association checks
- Billing manager logic revised to create subscriptions only for confirmed subscription events
- Enhanced error handling for missing user information in webhook payloads
- Decoupled verification process to allow disabling of verification emails while centralising association checks
- Formalised requirement for an explicit email field in all billing resources through an Architecture Decision Record (ADR)
- Improved Ko-fi Support:
- Upgraded integration with Ko-fi for accurate subscription tracking
- Implemented granular event handling for specific webhook events (Monthly Donations, Tier purchases)
- Added workaround to estimate next billing and available until dates for Ko-fi subscriptions
- Refactored payment provider code for improved clarity
- Auditability and Maintenance:
- Implemented audit logging for subscription user ID updates to ensure traceability
- Added MongoDB index migrations for new fields in billing events and user collections
- Created and updated documentation for the billing package and user association capabilities
Resolved Issues
n/a
Contributed PRs
- #11: Add pre-registration billing support tracking, association on sign up, and improve Ko-Fi integration
Release v0.3.0-alpha.2
Notes
This release introduces the initial billing system, enabling GHATD applications to manage subscriptions via payment provider webhook integrations — a key feature for applications that process payments.
Changelog
- Added ADR for the billing manager
- Added a README that gives an overview of how it integrates with your system
- Added service, repository, request and response structure, etc. for v2 user
- Added potential next steps for email-manager
- Added components for giving users the ability to add a billing system to their GHATD applications. Billing system components include:
paymentprovider
- Abstract payment provider webhook verification and payload normalisation (Stripe, Lemon Squeezy, Ko-fi)billing
- Manage subscription and billing event data persistence with repository patternbillingmanager
- High-level orchestration with webhook processing and audit integration
Resolved Issues
n/a
Contributed PRs
- #10: introduce
billingmanager
and new user v2 methods
Release v0.3.0-alpha.1
Notes
Some changes to how GHATD handles its email management. These changes should add more flexibility, although they require more initial configuration. However, I believe the long-term benefits outweigh this trade-off. Small repository helper
bonus also included.
Changelog
- Removed the legacy
emailer
package - Added initial versions of the
emailmanager
,emailprovider
, andemailtemplater
packages - Updated access manager to utilise
emailmanager
instead of the legacyemailer
for user communications - Added a README to outline the email solution (
emailmanager
) and revised the main README to include this new "getting started" document. - Added support for Mongo repository monitoring with
repositoryhelpers.WithCustomOptions(...)
- For example, if using NewRelic,
...
can be substituted withoptions.Client().SetMonitor(nrmongo.NewCommandMonitor(nil))
- For example, if using NewRelic,
Resolved Issues
n/a
Contributed PRs
- #9: Remove legacy
emailer
package and introduceemailmanager
Release v0.2.0-alpha.1
Notes
I've been making numerous changes behind the scenes, so I wanted to merge them to set a clear boundary and progress with more manageable and focused improvements.
Changelog
- Started developing the command-line interface (CLI), which will be used to create, manage, and set up ghat(d) applications.
- The initial focus will be on the 'new' command.
- Updated the existing server:
- Removed the previously included API and web services.
- Added placeholders for future substitutions.
- Updated import paths.
- Separated some packages to be "ghat(d) supported":
- Packages that can be shared across ghat(d) details/apps have now been moved to an external directory.
- Added Architecture Decision Record (ADR) documentation, including the first ADR to explain the package separation.
- Updated the README to reflect changes, including the introduction of details.
- Added a package to support the Single Page Application (SPA) frameworks,
external/spa
. - Refactored the repository package to organise repository methods into their respective packages.
- Made a lot of other miscellaneous improvements.
Resolved Issues
n/a
Contributed PRs
- #2:
The following PRs were merged into the PR above
Release v0.1.0
Notes
A big thank you to everyone who contributed, rubber-ducked and helped me find and fix issues for GHAT(D)! If you spot anything else that needs improvement, please feel free to create a PR or an issue on the repository. To try out the latest version of GHAT(D), clone the main
branch and follow the instructions in the README to get started. If you spot any changes in this PR that address reported issues, please help to verify and close them. Your support, kindness, and valuable suggestions to enhance GHAT(D) are always appreciated!
Finally, I'd like to express my gratitude in advance to those who are willing to lend their time to help others and this project.
Changelog
- Implement working examples of
landing page
andweb app
implementation- Integrated tailadmin template to demo web app
- Enable caching
- Update documentation
- Implemented web partials to demonstrate how templating + partial loading can work with HTMX
- and many more
Resolved Issues
n/a
Contributed PRs
- #1: Initial commit