Skip to content

Releases: NodeByteHosting/website

Panel Integrations and More

27 Dec 12:23
0cc598f

Choose a tag to compare

Added

  • GitHub Token Management: Move GitHub personal access token from environment variables to secure database storage
    • GitHub token section in admin settings with show/hide toggle
    • Token is hidden with asterisks and cannot be viewed once set
    • Warning alert about token protection and immutability
    • Fallback to GITHUB_TOKEN environment variable for backward compatibility
  • SystemSettings Database Table: Extended Prisma model for storing system-wide configuration including credentials and notification settings
  • Admin Settings API: Complete GET/POST endpoints for retrieving and updating all system settings with database fallback support
  • Pterodactyl Configuration Management: Editable Pterodactyl URL, API Key, and API endpoint in admin settings panel
  • Crowdin Integration Settings: Project ID and Personal Token configuration for translation management
  • Email Notifications System: Resend API integration with database-backed credential storage
    • Conditional API key input that appears only when email notifications are enabled
    • Helper functions for common notification templates
  • Discord Webhook Management: Support for multiple Discord webhooks with add/remove functionality
    • Manage webhook names and URLs directly from admin panel
    • Conditional section that displays only when Discord notifications are enabled
    • Separate webhook entries with individual delete buttons
  • Notification Library: Comprehensive notifications module (packages/core/lib/notifications.ts)
    • sendEmailNotification() - Send emails via Resend API
    • sendDiscordNotification() - Send to configured Discord webhooks with embed support
    • sendNotification() - Combined email and Discord notification sender
    • Helper functions for common notification types (server status, sync updates, maintenance, user registration)
  • Maintenance Mode Page: Beautiful /maintenance page with animated UI for when site is under maintenance
    • Accessible by all users; admins can bypass maintenance mode
    • Contact support button with styling
  • Sync Service Database Credentials: Updated sync library to fetch Pterodactyl credentials from database
    • Fallback to environment variables for backward compatibility
    • Respects syncInterval setting from database
  • Middleware Authentication & Access Control:
    • Maintenance mode: Redirects all non-admin users to /maintenance when enabled
    • Registration disabled: Prevents access to /auth/register when registration is disabled
    • All checks performed via database settings with proper fallback
  • System Features Toggle: Enable/disable registration, maintenance mode, and auto-sync from database
  • Notification Settings: Database-backed email and Discord webhook notification configuration with credential storage
  • Advanced Settings: Cache timeout and sync interval configuration with persistent database storage
  • Admin Users Table Responsive Design: Mobile-optimized table layout with email displayed under username on small screens
  • Connection Testing: Updated test endpoint to use database credentials with validation before sending requests
  • Webhook Dispatcher Service: Comprehensive Discord webhook notification system (packages/core/dispatchers/webhooks.ts)
    • Event-specific dispatch functions: dispatchSettingsUpdate(), dispatchServerStateChange(), dispatchSyncCompletion(), dispatchSystemAlert(), dispatchSupportTicket(), dispatchNodeAlert(), dispatchBillingEvent()
    • Non-blocking asynchronous webhook delivery with parallel execution
    • Type-safe webhook routing by event type (GAME_SERVER, VPS, SYSTEM, BILLING, SECURITY, SUPPORT, CUSTOM)
    • Webhook delivery tracking with testSuccessAt timestamp updates
    • Rich Discord embeds with color-coding by event type
    • Automatic webhook selection based on event type and scope (ADMIN, USER, PUBLIC)
    • Per-webhook error reporting and detailed delivery statistics
  • Webhook Integration: Automatic webhook triggers for system events
    • Settings updates automatically send SYSTEM webhooks with changed field names
    • Sync operations automatically send SYSTEM webhooks with sync summary and duration
    • Admin panel webhook management with test functionality
    • Webhook creation, editing, deletion via REST API (/api/admin/settings/webhooks)
  • Webhook Documentation: Complete guides and examples (docs/ folder)
    • WEBHOOK_DISPATCHER_README.md - Architecture and feature overview
    • WEBHOOK_INTEGRATION_GUIDE.md - Integration examples for all event types
    • WEBHOOK_QUICK_REFERENCE.ts - Copy-paste code samples
  • Incremental Sync Progress Logging: Sync functions now emit progress updates to database during operation
    • Real-time item counts: itemsTotal, itemsSynced, itemsFailed updated after each batch
    • Last message updates in metadata.lastMessage for live progress display
    • Implemented for locations, nodes, allocations, nests/eggs, servers, and database syncs
  • Allocation Sync Batching: Prevent long blocking operations by batching allocation processing
    • Configurable batch size via SYNC_ALLOCATION_BATCH_SIZE env variable (default: 100)
    • Progress updates after each batch for real-time feedback
    • Significantly improves sync responsiveness for large node allocations
  • Sync Cancellation Support: Allow admins to cancel running sync operations
    • Sync functions check metadata.cancelRequested flag and abort gracefully
    • New /api/admin/sync/cancel endpoint sets cancellation flag on running sync log
    • Cancelled syncs marked as FAILED with "Cancelled by user" message
  • Sync Logs Endpoint: New /api/admin/sync/logs API endpoint for fetching sync audit history
    • Cursor-based pagination support for efficient browsing of large log histories
    • Returns nextCursor for client-side pagination
    • Configurable limit parameter (max 100 entries)
    • Admin-only access with authentication check
  • Auto-Sync Scheduler: Background scheduler for automatic periodic sync operations
    • Reads auto_sync_enabled and sync_interval from system config
    • Idempotent scheduler prevents duplicate runs if already executing
    • Configurable via admin UI without code changes
    • Scheduler started automatically on server render in app/layout.tsx
  • Sync Logs Admin Page: New dedicated admin page at /admin/sync/logs for sync operation audit
    • Displays recent sync runs with status badges (Running, Completed, Failed, Pending)
    • Real-time scheduler status indicator with last run timestamp
    • Full-text search across sync messages and operation types
    • Configurable result limit (1-100 entries per page)
    • Cursor-based pagination with "Load More" button
    • Mobile-responsive card-based layout
  • Sync Logs Pagination: Server-side cursor-based pagination for sync logs endpoint
    • Efficient pagination using cursor (lastId) approach
    • Next cursor included in response for seamless client-side browsing
    • Prevents N+1 queries and improves performance with large datasets
  • Scheduler Settings API: New /api/admin/sync/settings endpoint for managing auto-sync configuration
    • GET endpoint returns current auto_sync_enabled and sync_interval settings
    • POST endpoint allows updating scheduler configuration with validation
    • Admin-only access with system admin role check
  • Scheduler Controls in Admin UI: Admin users can now configure auto-sync directly from Sync Logs page
    • Toggle switch for enabling/disabling automatic sync
    • Numeric input for configuring sync interval in seconds
    • Save button to persist configuration to database
    • Loading states and error handling with toast notifications
  • Sync Logs Sidebar Navigation: Added "Sync Logs" link to admin panel navigation
    • Appears as separate menu item from main Sync page
    • Accessible to all admin users
  • Sync Logs Translation Keys: Complete internationalization for Sync Logs page
    • Added admin.syncLogs translation section with all UI strings
    • Includes status labels, button text, field labels, and descriptions
    • Supports multiple languages via translation system
  • Servers Admin Panel Schema Fix: Updated servers API and UI to use Prisma schema correctly
    • Changed from non-existent direct fields (memory, disk, cpu) to ServerProperty key-value pairs
    • Servers API now fetches properties array instead of individual fields
    • Server page displays resource info by extracting values from properties
    • Graceful handling of missing properties (shows nothing if not available)

Changed

  • GitHub Release API: Updated to fetch GitHub token from database first, then fallback to environment variable
  • Admin Users Table: Restructured table with fixed layout to prevent content overflow on mobile
  • Admin Users Status Badges: Full badge text now displays on mobile with vertical stacking when multiple badges present
  • Admin Settings Page: Completely redesigned with four tabs (Connections, Features, Notifications, Advanced)
    • Pterodactyl section now includes editable URL and API fields with external link button
    • New Crowdin section for translation management configuration
    • New GitHub section for token management with security warnings
    • Features tab with all toggles (Registration, Maintenance Mode, Auto-sync)
    • Notifications tab with conditional email and Discord sections with proper styling
    • Advanced tab with cache timeout and sync interval selectors
  • Pterodactyl Sync Service: Now reads credentials from database first, then falls back to environment variables
  • API Route Authentication: Settings test endpoint changed from GET to POST to support credential testing with user-provided values
  • Settings Persistence: All configuration now properly persists to database across page ...
Read more

v3.1.0

22 Dec 11:01
fcc8054

Choose a tag to compare

Added

  • Authentication System: NextAuth v5 integration with credentials provider
  • User Registration: Registration form with email, username, password fields
  • User Login: Login form with email/password authentication
  • User Menu: Dropdown menu showing user info, panel link, admin link, and logout
  • Session Management: Server-side and client-side session handling
  • Admin Dashboard: Complete admin panel with Pterodactyl sync statistics
  • Admin Sync Page: Detailed sync management with live terminal-style logging
  • Admin Users Page: User management with search, filters, sorting, and pagination
  • Admin Servers Page: Server listing with status indicators, resource display, and owner info
  • Admin Settings Page: System configuration with connection testing (WIP alert for other features)
  • Admin Route Protection: Middleware-based admin authentication checking database directly
  • Admin Panel Responsive: Mobile-first design with slide-out drawer navigation
  • Admin User Controls: Language selector, theme toggle, user menu, and back-to-site button in admin panel
  • Admin API Endpoints: REST endpoints for users, servers, and settings management
  • Pterodactyl Sync Service: Background sync of users, servers, nodes, locations, allocations, nests, eggs
  • Database Schema: Prisma models for Users, Servers, Nodes, Locations, Allocations, Nests, Eggs, and more
  • Sync API Endpoints: GET for stats, POST for triggering syncs with target selection
  • Layout Chrome Component: Client-side component for conditional nav/footer visibility
  • Language Selector Improvements: Search functionality, region grouping, ScrollArea for 30 languages
  • Currency Selector Improvements: Country flag icons using country-flag-icons library
  • Knowledge Base System: Complete documentation system with markdown support
  • KB Markdown Processing: Uses remark/rehype pipeline with GFM, syntax highlighting, auto-linking headings
  • KB Categories: Organized articles by category with metadata and icons
  • KB Article Cards: Article previews with reading time, tags, and author info
  • KB Search: Full-text search across all KB articles with relevance scoring
  • KB Table of Contents: Sticky sidebar TOC with scroll spy highlighting
  • KB Sidebar Navigation: Collapsible category navigation with article links
  • KB Breadcrumbs: Navigation breadcrumbs for category and article pages
  • KB Previous/Next Navigation: Article-to-article navigation within categories
  • KB Navigation Link: Added Knowledge Base link to desktop and mobile navigation
  • Tailwind Typography: Added @tailwindcss/typography plugin for prose styling
  • Getting Started Articles: Introduction, Quick Start Guide, Game Panel Tutorial
  • Minecraft Guides: Server Software selection guide, Installing Plugins guide
  • Rust Guides: Getting Started with Rust, Oxide/uMod Installation guide
  • Billing Guides: WHMCS Client Portal overview and account management
  • Syntax Highlighting: Code block styling for documentation with hljs classes
  • Theme Toggle: Categorized theme selector with Base, Cool Tones, Warm Tones, and Nature categories
  • Theme Swatches: Color preview swatches for each theme option
  • Navigation Dropdowns: Services and Resources dropdown menus with hover-to-open functionality
  • Animated Chevrons: Chevron icons rotate based on dropdown open/closed state
  • Hero Stats: Animated statistics cards displaying uptime, latency, and support availability
  • SLA Counter: Animated number counter displaying 99.6% SLA guarantee
  • Features Highlights: Feature cards now include detailed highlight lists with checkmark icons
  • About Stats Grid: Statistics section showing SLA, latency, support hours, and server count
  • FAQ Search: Search input for filtering FAQ questions
  • FAQ CTA Section: "Still have questions?" section with contact and Discord buttons
  • Games Section Icons: Dedicated icons for each game server type (Minecraft, Rust, Hytale, Coming Soon)
  • Games Feature Lists: Each game card now displays key features with checkmark icons
  • Games Banner Images: Minecraft and Rust cards now use banner images from public directory
  • Hytale Hosting: Added Hytale game server hosting card to the games section
  • Footer Status Indicator: Live status indicator linking to status page
  • Footer Link Categories: Organized footer links with category icons
  • Contact Page Redesign: Complete redesign with support channels, email grid, and social links
  • Contact Social Links: Follow us section with X, GitHub, Discord, and Trustpilot links
  • Contact Discord Notice: Important notice about Discord support limitations moved to prominent position
  • Dynamic Logo Component: SVG logo that respects theme accent colors and light/dark mode
  • Currency System: Multi-currency support with GBP as base currency (USD, EUR, CAD, AUD)
  • Currency Selector: Global currency dropdown in navigation (desktop and mobile)
  • Price Component: Auto-converting price display component using selected currency
  • Internationalization: Added next-intl for multi-language support
  • Language Selector: Global language dropdown with flag icons in navigation
  • Translation Files: English, German, French, and Spanish translations
  • External Translations: Support for loading translations from external GitHub repo
  • Crowdin Integration: Configuration for community translation contributions
  • Dedicated Game Pages: Individual pages for Minecraft, Rust, and Hytale hosting
  • Game Hero Component: Reusable hero section for game pages with banners and features
  • Game Features Component: Reusable features grid with icon mapping for server components
  • Game Pricing Component: Reusable pricing cards with currency conversion
  • Game FAQ Component: Reusable FAQ accordion for game-specific questions

Changed

  • Packages: Updated next.js to version 16.0.10 to address the latest CVE
  • Project Structure: Reorganized codebase into packages/ directory for better modularity
    • packages/core/ - Shared hooks (use-currency, use-locale, use-mobile, use-toast) and utilities (currency, translations, utils)
    • packages/i18n/ - Internationalization configuration and request handling
    • packages/ui/ - All UI components, layouts, and shadcn/ui primitives
  • Navigation: Replaced NavigationMenu with DropdownMenu components for improved reliability
  • Navigation Mobile: Redesigned with accordion-style dropdowns (only one open at a time)
  • Navigation Settings: Added Language, Currency, and Theme selectors to mobile menu
  • Layout Structure: Moved Navigation and Footer to root layout for site-wide consistency
  • Layout Providers: Added CurrencyProvider, LocaleProvider, and NextIntlClientProvider
  • Layout Chrome: Nav/footer visibility now handled by client component using usePathname() for proper client-side navigation support
  • Translation Loading: Changed from dynamic imports to static imports for all 30 locale files (bundler compatibility)
  • Admin Panel Layout: Redesigned with responsive sidebar that becomes a drawer on mobile
  • Admin Dashboard: Responsive stat cards with 2-column grid on mobile
  • Theme Toggle Layout: Themes now displayed in organized grid layouts by category
  • Hero Section: Complete redesign with gradient text, glassmorphism cards, and Trustpilot integration
  • Features Section: Redesigned with badge header, gradient text, and enhanced card styling
  • About Section: Redesigned with stats grid, value proposition cards, and gradient headers
  • FAQ Section: Redesigned with animated accordions, search functionality, and cleaner single-column layout
  • Games Section: Redesigned with banner images, feature lists, and consistent card heights
  • Contact Page: Redesigned with gradient background, animated orbs, and organized support channels
  • Footer: Complete redesign with two-section layout, categorized links, and dynamic Logo component
  • Footer Logo: Now uses dynamic Logo component that respects theme colors
  • Card Styling: Unified glassmorphism effect (bg-card/30 backdrop-blur-sm border-border/50) across all components
  • Button Styling: Consistent rounded button styles with proper hover states
  • Section Spacing: Standardized padding (py-24 sm:py-32) across all homepage sections
  • Pricing Display: All prices now stored in GBP and auto-convert based on user's currency preference

Fixed

  • Hydration Error: Resolved React hydration mismatch in layout.tsx caused by colorScheme style attribute
  • Navigation Dropdowns: Fixed dropdown content not loading and alignment issues
  • Theme Persistence: Themes now properly persist across page reloads
  • Mobile Menu Bleed-through: Fixed Discord button bleeding through mobile navigation overlay
  • Server Component Serialization: Fixed icon props passing between Server and Client components using string-based icon mapping
  • i18n Client/Server Split: Separated shared locale config from server-only request handling to prevent build errors
  • Translation System: Fixed translations not switching languages due to wrong import path and dynamic import issues
  • Admin Nav/Footer Visibility: Fixed nav/footer sometimes showing on admin pages or staying hidden after leaving admin

Removed

  • HeroGraphic Sidebar: Removed from FAQ section for cleaner layout
  • colorScheme Logic: Removed from layout.tsx to prevent hydration errors
  • Inline Pricing Currency: Removed currency selector from individual pricing sections (now global in nav)

v2.4.0

27 Nov 00:56

Choose a tag to compare

Changes Summary — 2025-11-26

A concise summary of code changes made today, grouped by area with the rationale.

High level

  • Deferred heavy client visuals (globe) and improved client-only handling to avoid SSR/prerender issues.
  • Improved developer/debug UX on error/global-error pages.
  • Small UI, accessibility, and typing improvements across MDX, footer, and monitoring components.
  • Added a small in-memory CacheHandler and safer Trustpilot widget init.
  • Upgraded core frameworks and removed several large/unused subsystems to simplify the build:
    • Removed Contentlayer.
    • Upgraded Next.js and React to the latest stable releases.
    • Removed docs and blog pages temporarily (will be reintroduced later).
    • Removed Tawk.to chat integration and its API endpoints.
    • Pruned multiple unused modules and cleaned up imports.

Files changed & intent

  • src/components/PageHero/index.tsx

    • Lazy-load globe (next/dynamic, no SSR), framer-motion entrance animations, keep canvas client-only.
    • Why: reduce server rendering errors and initial paint impact.
  • src/components/UI/Earth/Globe.tsx

    • Cobe globe initialization + cleanup; kept devicePixelRatio and sample settings adjustable.
    • Why: encapsulate globe setup and avoid leaking resources.
  • src/utils/errorLinks.ts

    • Centralized link metadata (icons + urls) for error pages.
    • Why: reuse and avoid string-icon lookups.
  • src/app/not-found.tsx

    • Dynamic imports for PageHero and ErrorLayout; improved metadata.
    • Why: avoid prerender client-only components during static generation.
  • src/components/UI/MDX/Pre.tsx, src/components/UI/MDX/Content.tsx

    • Pre: forwardRef, clipboard copy button. Content: permissive MDX components map, accessible anchors.
    • Why: robust MDX renders and nicer copy UX for code blocks.
  • src/components/UI/AdvantageCard/index.tsx

    • MovingBorder animation using framer-motion, refined layout and props.
    • Why: visual polish and correct ref typing.
  • next.config.mjs

    • Images remotePatterns, security headers, experimental flags.
    • Why: image handling and basic security headers.
  • src/components/Static/ErrorLayout.tsx & src/app/global-error.tsx

    • ErrorLayout uses ERROR_PAGE_LINKS; GlobalError adds DebugPanel capturing console logs, copy/download.
    • Why: faster debugging in dev and safer rendering in prod (client-only debug UI).
  • src/lib/cache.js

    • CacheHandler: TTL, LRU eviction, revalidateTag, defensive logging.
    • Why: small resilient in-memory cache for server helpers.
  • src/components/Footer/*

    • BASE_LINKS, TrustpilotWidget (robust init), footer layout and SCSS updates.
    • Why: consistent footer links, fail-safe third-party widget handling.
  • src/components/Layouts/Status/MonitorLayout and src/components/Layouts/Monitor

    • Responsive charts, expand/collapse monitors, response-time stats and detail page.
    • Why: clearer monitoring UX and reusable stats helpers.

Removals & upgrades (summary)

  • Removed Contentlayer from the project and all contentlayer-driven pages/components.
  • Upgraded Next.js and React to the latest stable releases; code adjustments performed where necessary.
  • Temporarily removed docs/ and blog/ pages to simplify the migration; they will be re-added in a later PR once content is migrated.
  • Removed Tawk.to chat integration and its API endpoints to remove a flaky third-party dependency.
  • Pruned unused modules and cleaned residual imports to reduce bundle size and surface area.

Fix metadata

17 Nov 19:19

Choose a tag to compare

What's Changed

Full Changelog: v2.3.0...v2.3.1

Rust Page

30 Jul 17:40
34c9430

Choose a tag to compare

What's Changed

Full Changelog: v2.2.2...v2.3.0

Add Rust Images

27 Jul 00:51
cdb291a

Choose a tag to compare

Remove the VPS Plan

20 Jun 17:37
9c057d5

Choose a tag to compare

v2.2.1

Update Services.tsx

v2.2.0-dev.1

16 Feb 10:24

Choose a tag to compare

Changes List

Updates & Fixes

  • Updated Next.js config and fixed globe bug
  • Improved legal pages fetch logic
  • Updated FUNDING.yml
  • Removed KB API and migrated KB to custom SWR provider
  • Multiple UI fixes and changes
  • Finished file layout changes and updates
  • Fixed compatibility issues
  • Updated build workflow and fixed build command
  • Updated workflows and added advantages section
  • Improved status page and API migration

Additions

  • Added build status badge for prod and dev builds
  • Added missing dependency
  • Added new UI components
  • Added LICENSE
  • Added environment details to README
  • Added files supporting open-source move
  • Added contributing guide

Removals

  • Removed unused announcements
  • Removed unused NextAuth dependencies
  • Removed unnecessary headers

Enhancements

  • Improved reviews section and added fallback data
  • Implemented custom caching logic for KB
  • Improved logger usage in cache
  • Bumped TypeScript config target to latest
  • Implemented custom logger

v2.2.0

16 Feb 12:43
2519c41

Choose a tag to compare

What's Changed

  • v2.2.0 by @TheRealToxicDev in #2

Full Changelog: v2.2.0-dev.1...v2.2.0

v2.1.0

12 Feb 12:07

Choose a tag to compare