Releases: tyecode/knotengine
Releases · tyecode/knotengine
Release list
v0.5.0
KnotEngine v0.5.0
🚀 Features
- api: webhook delivery logs with tracking and dashboard UI
- dashboard: add analytics page with charts and sidebar integration
- sdk: v0.5.0 with 10 new methods, error classes, and constants
- add production docker-compose setup for self-hosting
- redesign marketing hero with animated terminal, fix button styles, unify CTAs to dashboard
- add marketing website, simplify auth to magic-link only, fix various bugs
🐛 Bug Fixes
- ci: escape quotes in terms page and build workspace packages before api tests
- docker: update lockfile and build workspace dependencies before api
- ci: resolve pnpm version conflict and docker build context
- docker: api build and production deployment fixes
📚 Documentation
- comprehensive documentation overhaul
🔧 Maintenance
- release: v0.5.0
- standardize self-hosting setup for one-command deploy
🔄 CI/CD
- add GitHub Actions workflows and automation
📦 Build
- monorepo env sharing and test infrastructure
Full Changelog: v0.4.0...v0.5.0
Full Changelog: v0.4.0...v0.5.0
Release v0.4.0
🚀 KnotEngine v0.4.0
Added
- Hybrid Email Service — Migrated to a hybrid email architecture:
- Production: Uses the
resendSDK for professional deliverability, bounce tracking, and future React Email templating. - Development: Uses
nodemailer+ Gmail SMTP for free, frictionless local testing without quota limits or DNS verification.
- Production: Uses the
- Backend Unit Testing — Implemented the first
vitesttesting suite with 24 passing tests covering:- Engine Math: Verifies correct platform fee deductions (1.0%, 0.5%, 0.25%) and partial payment thresholds.
- Rate Limiting: Mathematically proves starter tiers are capped at 1 req/sec.
- Security: Validates that Webhook HMAC-SHA256 signatures correctly reject tampered payloads.
- Email Test Scripts — Added
NODE_ENV=production pnpm test:emailto easily test both local and prod email providers. - Email Setup Documentation — Created comprehensive guides in
docs/GMAIL_SETUP.mdanddocs/EMAIL_QUICK_SETUP.md. - Checkout Header Alignment — Added left/center alignment option for merchant branding header in checkout page.
- Subscription Grace Period — Introduced automated grace periods and status UI to prevent immediate suspension when credit balance is low.
- Animated Sidebar Icons — Integrated
lucide-animatedwith high-performance hover triggers (via React refs) for the primary navigation. - Promo Code System — Launched a new redemption system allowing merchants to claim balance credits via codes. Includes a new
PromoCodeCardUI and secure backend validation. - Referral Rewards — Implemented 10% instant commission payouts for referrers when their referred merchants perform a top-up.
Fixed
- Email Service Initialization — Fixed lazy-loading of Gmail SMTP transporter to ensure environment variables are loaded before email sending.
- Checkout Footer Logic — Fixed "Remove Powered by KnotEngine" toggle to correctly respect merchant plan (Starter plans cannot remove, Pro+ can).
- Plan Validation — Added plan-based feature gating for white-label checkout (Pro+ only).
- Branding Toggle API — Added
brandingEnabledandremoveBrandingto merchant update schema (was preventing toggles from saving). - Login Hydration Mismatch — Refactored the login layout into specialized server and client components to resolve Next.js 16/React 19 hydration errors.
- CSS Import Types — Added CSS module declarations to resolve TypeScript errors for CSS imports in dashboard layout.
- Auth Polling Loop — Resolved a critical infinite API sync loop in NextAuth
jwtcallback occurring for new users with no merchants. - Service Worker Interception — Fixed "ERR_FAILED" browser errors by decommissioning the legacy Service Worker with a self-destruct script.
- React 19 Rendering — Fixed "component created during render" and "ref accessed during render" errors in animated UI primitives (
SlidingNumber,Slot). - Blockchain ID Collision — Patched a bug where
mid_prefixes were incorrectly being assigned to blockchain xPub fields in some edge cases. - Linting & Type Safety — Achieved zero-warning status across the dashboard package by resolving multiple unused variables and implicit
anytypes.
Changed
- Email Architecture — Swapped backend email transmission logic from simple SMTP to a dual-provider
EmailServiceclass (Resend|Gmail) depending onNODE_ENV. - Environment Templates — Updated
.env.exampleand.env.developmentto include merged configuration blocks forGMAIL_APP_PASSWORDalongsideRESEND_API_KEY. - Dynamic Versioning — Standardized version display to pull directly from
package.jsonbuild metadata.
Removed
- Redundant .env.template — Consolidated environment configuration to single
.env.examplefile.
Full Changelog: v0.3.1...v0.4.0
Release v0.3.1
🚀 KnotEngine v0.3.1
Added
- Hybrid Email Service — Migrated to a hybrid email architecture:
- Production: Uses the
resendSDK for professional deliverability, bounce tracking, and future React Email templating. - Development: Uses
nodemailer+ Gmail SMTP for free, frictionless local testing without quota limits or DNS verification.
- Production: Uses the
- Backend Unit Testing — Implemented the first
vitesttesting suite with 24 passing tests covering:- Engine Math: Verifies correct platform fee deductions (1.0%, 0.5%, 0.25%) and partial payment thresholds.
- Rate Limiting: Mathematically proves starter tiers are capped at 1 req/sec.
- Security: Validates that Webhook HMAC-SHA256 signatures correctly reject tampered payloads.
- Email Test Scripts — Added
NODE_ENV=production pnpm test:emailto easily test both local and prod email providers. - Email Setup Documentation — Created comprehensive guides in
docs/GMAIL_SETUP.mdanddocs/EMAIL_QUICK_SETUP.md. - Checkout Header Alignment — Added left/center alignment option for merchant branding header in checkout page.
- Subscription Grace Period — Introduced automated grace periods and status UI to prevent immediate suspension when credit balance is low.
- Animated Sidebar Icons — Integrated
lucide-animatedwith high-performance hover triggers (via React refs) for the primary navigation. - Promo Code System — Launched a new redemption system allowing merchants to claim balance credits via codes. Includes a new
PromoCodeCardUI and secure backend validation. - Referral Rewards — Implemented 10% instant commission payouts for referrers when their referred merchants perform a top-up.
Fixed
- Email Service Initialization — Fixed lazy-loading of Gmail SMTP transporter to ensure environment variables are loaded before email sending.
- Checkout Footer Logic — Fixed "Remove Powered by KnotEngine" toggle to correctly respect merchant plan (Starter plans cannot remove, Pro+ can).
- Plan Validation — Added plan-based feature gating for white-label checkout (Pro+ only).
- Branding Toggle API — Added
brandingEnabledandremoveBrandingto merchant update schema (was preventing toggles from saving). - Login Hydration Mismatch — Refactored the login layout into specialized server and client components to resolve Next.js 16/React 19 hydration errors.
- CSS Import Types — Added CSS module declarations to resolve TypeScript errors for CSS imports in dashboard layout.
- Auth Polling Loop — Resolved a critical infinite API sync loop in NextAuth
jwtcallback occurring for new users with no merchants. - Service Worker Interception — Fixed "ERR_FAILED" browser errors by decommissioning the legacy Service Worker with a self-destruct script.
- React 19 Rendering — Fixed "component created during render" and "ref accessed during render" errors in animated UI primitives (
SlidingNumber,Slot). - Blockchain ID Collision — Patched a bug where
mid_prefixes were incorrectly being assigned to blockchain xPub fields in some edge cases. - Linting & Type Safety — Achieved zero-warning status across the dashboard package by resolving multiple unused variables and implicit
anytypes.
Changed
- Email Architecture — Swapped backend email transmission logic from simple SMTP to a dual-provider
EmailServiceclass (Resend|Gmail) depending onNODE_ENV. - Environment Templates — Updated
.env.exampleand.env.developmentto include merged configuration blocks forGMAIL_APP_PASSWORDalongsideRESEND_API_KEY. - Dynamic Versioning — Standardized version display to pull directly from
package.jsonbuild metadata.
Removed
- Redundant .env.template — Consolidated environment configuration to single
.env.examplefile.
Full Changelog: v0.3.0...v0.3.1
Release v0.3.0
🚀 KnotEngine v0.3.0
Added
- Prettier Tailwind Plugin — Integrated
prettier-plugin-tailwindcssfor automatic class sorting following official Tailwind recommended order. - Two-Factor Authentication (2FA) — Implemented complete TOTP-based security flow with backup codes and middleware enforcement.
- Professional Merchant IDs — Introduced
mid_prefixed identity system with unique generation retry logic for enhanced API professionalism. - Blockchain Redundancy — Implemented dual-provider support (Tatum + Alchemy) for EVM chains to ensure zero-downtime payment monitoring.
- Failover Logic — Built a resilient
ProviderPoolthat automatically rotates between Tatum and Alchemy if a subscription fails. - Secure Webhooks — Specialized Alchemy signature verification with automated test ping handling.
- Automatic Cleanup — Implemented 30-day Retention (TTL) Policy for
WebhookEventandNotificationcollections to prevent database bloat. - Dashboard Real-time Alerts — Production-ready toasts for payments, expirations, and webhook failures via Socket.io.
- Deduplication Indexing — Implemented compound database indexing on
Notificationmodels to maintain high-performance lookups as history grows. - Manual Event Metadata — Enhanced manual resolution logs with consistent metadata linking for better traceability.
- AGPL-3.0 License — Adopted the GNU Affero General Public License for enhanced community cooperation and server-side source availability.
- Organization Migration — Relocated ecosystem to the
qodingerGitHub Organization for enhanced trust and scalability.
Fixed
- ESM Import Compliance — Added
.jsextensions to all relative imports in API for Node.js ESMmoduleResolution: "node16"compatibility. - TypeScript Type Safety — Replaced all
anytypes with proper type definitions across balances components and hooks. - React Best Practices — Fixed unescaped apostrophes using
'entity and added Suspense boundary foruseSearchParamsin login flow. - Checkout Type Safety — Created proper
Invoiceinterface to replaceanytypes in checkout components. - ESLint Configuration — Disabled non-critical warnings (Tailwind canonical classes, image optimization, React Compiler) for cleaner lint output.
- Notification Duplication — Fixed a bug where special regex characters in titles (like
[TEST]) caused duplicate alert entries. - Testnet Visibility — Resolved inconsistent filtering on the Payments page to correctly show or hide testnet invoices based on active tabs.
- Type Safety — Corrected multiple TypeScript compilation and lint errors across the API and Dashboard monorepo.
- Broken Imports — Fixed missing asset config imports in the Billing and Balances pages.
Removed
- Legacy Dashboard Pages — Cleaned up unused and deprecated directory structures in the Dashboard application to reduce bundle size.
- Hardcoded Configurations — Removed all hardcoded asset and network references, transitioning fully to dynamic shared types.
Changed
- Tailwind Class Ordering — Auto-sorted all Tailwind CSS classes across 63 files following official recommended order for consistency.
- Settings Architecture — Relocated technical Merchant IDs to the Developers tab and simplified business settings.
- Unified Branding — Consolidated all packages under the
qodingerscope (e.g.,@qodinger/knot-database,@qodinger/knot-types). - Sidebar UX — Reordered dashboard navigation to prioritize operations (Dashboard, Payments, Activity Log).
- Modular Dashboard Architecture — Completely refactored Balances, Billing, Payments, and Settings into a modern, hook-centric component system for better maintainability.
- Regex-Safe Notifications — Hardened the deduplication engine with regex escaping to support special characters and labels in log titles.
- Unified Testnet Experience — Synchronized
[TEST]branding across real-time toasts, activity history, and terminal logs for all payment types. - Asset-Agnostic Simulations — Enabled testnet support for all system-configured currencies, removing hardcoded testnet-only restrictions.
- Notification Logic — Refined signal-to-noise ratio by deduplicating alerts and optimizing event grouping.
- Improved Dev DX — Replaced ngrok with
cloudflared(Cloudflare Tunnel) for reliable local webhook testing. - Reset Utility — Added a safe database reset script for development with environment guards.
Full Changelog: https://github.com/qodinger/knotengine/commits/v0.3.0