Skip to content

Release v0.3.0

Choose a tag to compare

@github-actions github-actions released this 23 Feb 04:50
· 184 commits to main since this release

πŸš€ KnotEngine v0.3.0

Added

  • Prettier Tailwind Plugin β€” Integrated prettier-plugin-tailwindcss for 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 ProviderPool that 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 WebhookEvent and Notification collections 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 Notification models 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 qodinger GitHub Organization for enhanced trust and scalability.

Fixed

  • ESM Import Compliance β€” Added .js extensions to all relative imports in API for Node.js ESM moduleResolution: "node16" compatibility.
  • TypeScript Type Safety β€” Replaced all any types with proper type definitions across balances components and hooks.
  • React Best Practices β€” Fixed unescaped apostrophes using ' entity and added Suspense boundary for useSearchParams in login flow.
  • Checkout Type Safety β€” Created proper Invoice interface to replace any types 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 qodinger scope (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.

View Full Changelog

Full Changelog: https://github.com/qodinger/knotengine/commits/v0.3.0