Skip to content

Changelog

All notable changes to dployr are documented in this file.

This changelog intelligently merges updates from all dployr components:

  • dployr - Main CLI and daemon
  • dployr-base - Control plane
  • dployr-web - Web dashboard

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

TIP

For detailed commit history, visit the respective repositories: dployrdployr-basedployr-web


Last Updated

March 11, 2026 at 02:09 PM UTC

🎉 Version 0.5.x

Stable Release • 2026-01-18

Component Versions

🚀 Features

  • [dployrd] (terminal) Add interactive terminal support via bi-directional websocket relay from base to client

🚜 Refactor

  • [dployrd] (goreleaser) Fix GitHub raw content URLs
  • [dployrd] (install) Create Caddy logs directory during installation
  • [dployrd] (docs) Remove old store docs
  • [dployrd] (syncer) Move auth and WebSocket utilities to shared packages
  • [dployrd] (syncer) Trigger send sync update before executing deploy/proxy tasks instead of after completion
  • [dployrd] (proxy) Remove HTTPS listener from reverse proxy template to use HTTP only
  • [dployrd] (install) Start Caddy service after systemd configuration reload
  • [dployrd] (proxy) Disable automatic HTTPS in Caddy and explicitly configure HTTP/HTTPS listeners
  • [dployrd] (install) Configure Caddy to run as dployrd user with privileged port binding
  • [dployrd] (proxy) Migrate Caddy management from process to systemd service
  • [dployrd] (proxy) Change Caddy default ports from 8080/8443 to 80/443
  • [dployrd] (system) Send sync message after deploy task completion
  • [dployrd] (system) Expand sync trigger to include deployment and proxy tasks
  • [dployrd] (system) Add Caddy restart to system restart and reboot operations
  • [dployrd] (system) Fix workload conversions in update builder
  • [dployrd] (release) Update installation script URLs to use correct path
  • [dployrd] (system) Add error handling to syncer
  • [dployrd] (api) Make services a mandatory field in services struct
  • [dployrd] (system) Stable schema contract for update v1.1
  • [dployrd] (release) Update CDN for installation script
  • [dployrd] (system) Cleanups and improvement
  • [dployrd] (install) Fix path to Caddyfile in sudoers permissions
  • [dployrd] (proxy) Updated unstructured remove-route request
  • [dployrd] (api) Implement v1.1 update schema

🚧 Version 0.4.x

Beta Series • Latest: 0.4.13-beta.26 (2026-01-02)

Component Versions

🚀 Features

  • [dployrd] (install) Add automatic git installation to installer
  • [dployrd] (ci) Add automated changelog generation with git-cliff
  • [dployrd] (filesystem) Add real-time directory watching with fsnotify and WebSocket events
  • [dployrd] (service) Add systemd service and proxy cleanup on service deletion
  • [dployrd] (config) Add custom instance ID support to installation scripts and agent configuration
  • [dployrd] (filesystem) Add filesystem browsing and file operations API
  • [dployrd] (system) Add endpoint for gopsutil-based resource monitoring
  • [dployrd] (system) Extend service counts with full deployment, service, and proxy app lists in system status
  • [dployrd] (logger) Add log rotation with 300MB size and 24-hour age limits, keeping 5 backups
  • [dployrd] (deploy) Add custom JSON unmarshaler for DeployRequest runtime field
  • [dployrd] (db) Enable WAL mode and set 5s busy timeout to prevent SQLITE_BUSY errors
  • [dployrd] (system) Split restart into daemon restart and OS reboot endpoints, enhance install script with auth and task exclusion
  • [dployrd] (system) Add token validation for log streaming, include worker count in system updates
  • [dployrd] (system) Add system restart with systemctl
  • [dployrd] (install) Add automated installation script with graceful daemon upgrade handling
  • [dployrd] (executor) Pass context to log stream handler and suppress context cancellation errors
  • [dployrd] (ci) Enhance Discord release notification with richer embed formatting
  • [dployrd] (install) Add configurable base URL option with --base flag
  • [dployrd] (install) Update registration API endpoint to use versioned daemon URL and enhance error handling
  • [dployrd] (logs) Implement adaptive batching for log streaming with 250ms window and 50-line threshold
  • [dployrd] (logs) Add size-based chunking to prevent WebSocket message size limits
  • [dployrd] (logs) Replace SSE log streaming with WebSocket-based implementation
  • [dployrd] (logs) Add log streaming functionality with WebSocket support
  • [dployrd] (system) Add comprehensive system resource metrics and enhanced status reporting
  • [dployrd] (metrics) Add Prometheus metrics endpoint with task execution and system health tracking
  • [dployrd] (agent) Add WebSocket-based task syncing with mTLS client authentication
  • [dployrd] (system) Add bootstrap token rotation and registration status endpoints
  • [dployrd] (system) Add task syncing and daemon mode management

🐛 Bug Fixes

  • [dployrd] (install) Fix registration response structure
  • [dployrd] (store) Parse timestamp columns as strings to handle SQLite TEXT storage
  • [dployrd] (install) Add fallback to static jq binary download when apt install fails
  • [dployrd] (syncer) Change default client cert directory from /etc/dployr to /var/lib/dployrd on Linux
  • [dployrd] (tests) Fixed race detection and add thread-safety to mock deployment store
  • [dployrd] (store) Handle db NULL values for bootstrap_token and access_token
  • [dployrd] (version) Add bounds checking for commit hash truncation

🚜 Refactor

  • [dployrd] (proxy) Enhance proxy status response with detailed Caddy configuration
  • [dployrd] (api) Update docs
  • [dployrd] (proxy) Updated remaining unstructured logs to structured logs in Caddy handler
  • [dployrd] (proxy) Update proxy creation to detailed payload
  • [dployrd] (proxy) Updated to structured logs in Caddy handler
  • [dployrd] (system) Add more system metrics
  • [dployrd] (service) Remove status field and populate blueprint data from deployment
  • [dployrd] (deploy) Change env vars & secrets to accept any type
  • [dployrd] (api) Simplify list endpoints to return flat array data
  • [dployrd] (deploy) Remove timestamp prefix from deployment log messages to prevent duplicates
  • [dployrd] (deploy) Capture and display service runtime logs on startup failure
  • [dployrd] (logs) Skip partial line in log stream
  • [dployrd] (logger) Update deployment log format to write raw messages
  • [dployrd] (syncer) Disable task deduplication for log streaming tasks
  • [dployrd] (deploy) Stream deployment script output to log file instead of stdout/stderr
  • [dployrd] (logs) Improve stream positioning logic with explicit mode handling and fallback behavior
  • [dployrd] (executor) Stream entire deployment log instead of defaulting to live mode
  • [dployrd] (syncer) Change ws endpoint parameter from instanceId to instanceName
  • [dployrd] (syncer) Change agent cert endpoint parameter from instanceId to instanceName
  • [dployrd] (syncer) Change WebSocket and certificate endpoints to use query parameters instead of path parameters
  • [dployrd] (api) Remove unused agent certificate endpoints from OpenAPI specification
  • [dployrd] (service) Change service lookup from ID to name across API, CLI, and handlers
  • [dployrd] (logger) Change default output from stdout to stderr when rotating writer is unavailable
  • [dployrd] (logs) Normalize log file paths to lowercase before processing
  • [dployrd] (worker) Improve semaphore test with proper goroutine synchronization and timeouts
  • [dployrd] (executor) Remove unused request and trace context setup from task execution
  • [dployrd] (syncer) Sanitize secrets in agent updates by replacing values with empty strings
  • [dployrd] (deploy) Add duplicate key detection to service env
  • [dployrd] (service) Add secrets support and config.toml-based environment management
  • [dployrd] (auth) Add fallback to RegisteredClaims.Subject when claims.Subject is empty
  • [dployrd] (store) Add description field to services table and use sql.NullString for nullable columns
  • [dployrd] (logs) Add time-based filtering, file rotation detection, and rate limiting to log streaming
  • [dployrd] (filesystem) Impove file system implementation and real-time ws response for real-time requests
  • [dployrd] (logs) Separate deployment and service log paths, write deployment logs directly to file
  • [dployrd] (deploy) Simplify CloneRepo by removing workDir parameter and cleaning destDir before clone
  • [dployrd] (shell) Capture stderr to buffer and include error messages for better debugging
  • [dployrd] (service) Update domain request to base from /v1/domains to /v1/domains/register to register quick domain
  • [dployrd] (deploy) Simplify limit capping logic using min function
  • [dployrd] (deploy) Remove unused DNSProvider field from DeployRequest
  • [dployrd] (deploy) Remove dns-provider flag from CLI deploy command
  • [dployrd] (db) Set single connection limit and move WAL/busy_timeout to DSN to prevent SQLITE_BUSY errors
  • [dployrd] (deploy) Add version field to DeployRequest unmarshaler and validate RuntimeObj type before assignment
  • [dployrd] (deploy) Simplify DeployRequest by flattening Runtime field to string from object
  • [dployrd] (logs) Replace logType with path for flexible log file routing
  • [dployrd] (logs) Consolidate WebSocket log streaming functionality with existing open connections
  • [dployrd] (license) Change license from MIT to Apache-2.0 and add copyright headers to all files
  • [dployrd] (system) Remove WebSocket message ID from logger context
  • [dployrd] (system) Add bootstrap token to auth debug info and simplify WebSocket schema names
  • [dployrd] (system) Remove Go version from platform info and fix component name in build flags
  • [dployrd] (system) Update version entry to buildinfo on agent update
  • [dployrd] (utils) Fix free memory to show correct values
  • [dployrd] (ci) Configure Go proxy settings for module publishing
  • [dployrd] (system) Move WebSocket message schemas to pkg/core/system
  • [dployrd] (ci) Simplify release workflow conditions
  • [dployrd] (release) Improve tag handling and beta-to-stable promotion
  • [dployrd] (syncer) Add periodic agent status updates and improve WebSocket message handling
  • [dployrd] (system) Bug fixes on version lookup, and improve WebSocket error handling
  • [dployrd] (executor) Add AccessTokenProvider interface and inject token authentication into task execution
  • [dployrd] (db) Reorder instance table columns to group token fields together
  • [dployrd] (module) Migrate from local to GitHub module path github.com/dployr-io/dployr
  • [dployrd] (logging) Replace slog.Logger with shared.Logger and add structured logging to syncer and executor
  • [dployrd] (store) Split token into bootstrap_token and access_token fields

📚 Documentation

  • [dployrd] (readme) Update documentation URLs from docs.dployr.dev to dployr.io/docs
  • [dployrd] (readme) Update overview section and deployment examples
  • [dployrd] (contributing) Clarify documentation requirement
  • [dployrd] (readme) Add comprehensive documentation with badges, quickstart guide, and troubleshooting

🎨 Styling

  • [dployrd] Fix whitespace and add missing newlines at end of files

⚙️ Miscellaneous Tasks

  • [dployrd] Intoduced local ci parity of ci handlers for quick local development

💼 Other

  • [dployrd] (system) Update WebSocket message field names to use snake_case and make timestamp required
  • [dployrd] (system) Fix missing requestId field in WebSocket messages
  • [dployrd] (system) Add per-message and per-task context tracing with unique IDs

🚧 Version 0.3.x

Beta Series • Latest: 0.3.1-beta.24 (2025-11-23)

Component Versions

🚀 Features

  • [dployrd] (store) Add fallback for SetToken store method for fresh installs
  • [dployrd] (logging) Add structured logging to handlers
  • [dployrd] (install) Display registered domain in installation summary
  • [dployrd] (install) Separate structured logs from user output using dedicated file descriptors
  • [dployrd] (install) Improve domain registration error handling
  • [dployrd] (install) Add specific error handling for used tokens during registration
  • [dployrd] (install) Enhance error messages with detailed error information during registration
  • [dployrd] (api) Add response schema for domain registration endpoint
  • [dployrd] (install) Refactor installer with structured logging and improved error handling. Implemented quiet install for system updates
  • [dployrd] (install) Improve error handling and output for installer
  • [dployrd] (install) Update domain registration payload key from 'claim' to 'token'
  • [dployrd] (system) Update store instance assignment from install
  • [dployrd] (system) Add public IP support and domain registration endpoint
  • [dployrd] (install) Add error log output to stderr for better debugging
  • [dployrd] (install) Add real-time log output to installer
  • [dployrd] (http) Handle errors conversion properly
  • [dployrd] (system) Update domain registration endpoint path to match base API
  • [dployrd] (install) Add required install token parameter for instance registration at installation
  • [dployrd] (system) Improved token comparison to use constant-time for base64-encoded tokens in instance registration
  • [dployrd] (system) Add instance registration and domain management with base integration
  • [dployrd] (system) Add system doctor and install endpoints with enhanced system info for dependency checks (vfox, caddy, data directory)
  • [dployrd] (install) Add installation logging and update config for base authentication
  • [dployrd] (api) Standardize error handling and improve response formats across handlers
  • [dployrd] (docs) Simplify authentication flow documentation in OpenAPI spec
  • [dployrd] (auth) Remove authentication endpoints

🐛 Bug Fixes

  • [dployrd] (install) Add apt lock handling and allow initial instance registration updates
  • [dployrd] (system) Remove unused address field from domain registration request
  • [dployrd] (install) Update domain extraction path from registration response
  • [dployrd] (system) Add nil check for instance before accessing InstanceID
  • [dployrd] (store) Rename database table from 'instances' to 'instance'

🚜 Refactor

  • [dployrd] (db) Bug fix on instance table immutability constraints and simplify trigger logic
  • [dployrd] (auth) Update JWKS endpoint path and remove redundant config field
  • [dployrd] (logging) Simplify context value extraction in LogWithContext
  • [dployrd] (auth) Initialize Auth service with InstanceStore dependency
  • [dployrd] (api) Standardize error codes
  • [dployrd] (system) Extract InstallRequest into reusable schema

📚 Documentation

  • [dployrd] (install) Update installation documentation
  • [dployrd] (install) Update help examples and remove duplicate help flag handling
  • [dployrd] (api) Simplify authentication documentation in OpenAPI spec
  • [dployrd] (api) Add authentication documentation link to OpenAPI spec

🧪 Testing

  • [dployrd] (deploy) Remove unused buildAuthUrl test cases

🚧 Version 0.2.x

Beta Series • Latest: 0.2.2-beta.5 (2025-11-18)

Component Versions

🚀 Features

  • [dployrd] (auth) Migrate from HMAC to RSA-256 JWT signing with bootstrap tokens
  • [dployrd] (api) Update log streaming endpoint to use Server-Sent Events (SSE)
  • [dployrd] (install) Enhance system configuration and environment setup
  • [dployrd] (runtime) Enhance cross-platform runtime setup with vfox scripts
  • [dployrd] (deploy) Implement unified deployment script and runtime setup
  • [dployrd] (install) Add vfox plugin setup for multiple runtimes
  • [dployrd] (install) Add role-based system groups for dployrd
  • [dployrd] (auth) Implement role-based user management and access control
  • [dployrd] (auth) Enhance authentication and authorization system

🐛 Bug Fixes

  • [dployrd] (install) Improve Caddy installation process and apt lock handling
  • [dployrd] (deploy) Improve systemd service deployment and runtime environment handling
  • [dployrd] (install) Improve binary installation error handling
  • [dployrd] (release) Improve version retrieval in release script
  • [dployrd] (auth) Improve unauthorized token error handling
  • [dployrd] (install) Reload shell after installing vfox plugins
  • [dployrd] (deploy) Improve runtime and dependency installation process
  • [dployrd] (deploy) Simplify runtime installation process
  • [dployrd] (auth) Improve token management and error handling

🚜 Refactor

  • [dployrd] (deploy) Simplify runtime and dependency setup process

📚 Documentation

  • [dployrd] (api) Update OpenAPI log streaming documentation

🧪 Testing

  • [dployrd] (unit) Add test suite

⚙️ Miscellaneous Tasks

  • [dployrd] (openapi) Repostitory dispatch to autogenerate SDK from openapi spec using Kiota
  • [dployrd] (docs) Update description
  • [dployrd] (docs) Update description
  • [dployrd] (release) Add Discord notification on release publication
  • [dployrd] Update installer to handle steps one at a time
  • [dployrd] Gofmt
  • [dployrd] Cleanup
  • [dployrd] (goreleaser) Update version component naming for CLI and daemon

🎉 Version 0.1.x

Stable Release • 2026-01-17

Component Versions

🚀 Features

  • [base] (terminal) Add interactive terminal session support via WebSocket relay to dployrd
  • [web] (proxy) Update service selector to use dropdown
  • [web] (deps) Add js-yaml and smol-toml for configuration parsing
  • [web] (hooks) Add standardized WebSocket operation hook with request/response handling
  • [web] (proxy) Implement graph page with visualizer components
  • [web] (settings) Update footer links
  • [web] (ci) Move Cloudflare Pages deployment before Discord notification and add job dependency
  • [web] (config) Move public directory configuration from wrangler.toml to vite.config.ts
  • [web] (assets) Add public directory with static assets and configuration files
  • [web] (config) Add assets directory configuration for Cloudflare Pages
  • [web] (navigation) Update footer and sidebar links to point to actual documentation and legal pages
  • [web] (ci) Add automated changelog generation using git-cliff
  • [web] (ci) Move build-time environment variables from deployment to build step
  • [base] (install) Add conditional installation of KV store dependencies
  • [web] (ci) Add wrangler dependency for Cloudflare deployment tooling
  • [base] (types) Add module declarations for optional runtime dependencies
  • [web] (ci) Change deployment from Cloudflare Workers to Cloudflare Pages
  • [web] (deployments) Add URL state management for deployment creation flow
  • [web] (services) Add blueprint tab to service page
  • [web] (ci) Add Cloudflare Workers deployment to release workflow
  • [web] (websocket) Add request IDs to all WebSocket messages and centralize error handling
  • [web] (editor) Replace custom text editor with CodeMirror-based editor with syntax highlighting and validation
  • [web] (deployments) Add deployment list query with WebSocket protocol and display created timestamp
  • [web] (instance-operations) Migrate system operations to WebSocket-based hook with request-response protocol
  • [web] (logs) Add deployment logs hook and refactor shared log utilities
  • [web] (deps) Add Radix UI components and recharts for enhanced UI capabilities
  • [web] (file-system) Migrate file operations to WebSocket-based hook with task management
  • [base] (docker) Add better-sqlite3 rebuild step to ensure native bindings compatibility
  • [web] (ci) Add automated changelog generation to release workflow
  • [web] (vite) Add app.dployr.dev to allowed hosts for development environment
  • [web] (ui) Enhance logs window with expandable metadata and improve version selector with compatibility warnings
  • [web] (ui) Service creation form and blueprint text editor
  • [web] (ui) Add connection status indicator, log time range selector, and remote integration improvements
  • [web] (docker) Add runtime API base URL injection via DPLOYR_BASE_URL environment variable
  • [web] (ci) Add Discord webhook notification to release workflow
  • [base] (build) Add better-sqlite3 to external dependencies in build script
  • [web] (docker) Inline Caddyfile configuration in Dockerfile
  • [dployrd] (install) Add vfox version manager to installation process
  • [dployrd] (cli) Add logs command for viewing deployment logs
  • [dployrd] (db) Improve database path handling for cross-platform compatibility
  • [dployrd] (install) Improve daemon management during installation
  • [dployrd] (install) Improve service management and user isolation for dployrd
  • [dployrd] (cli) Enhance dployr CLI description and documentation
  • [dployrd] (runtime) Standardize runtime type from "node-js" to "nodejs"
  • [dployrd] (install) Improve installation and service management for dployr
  • [dployrd] (install) Add version selection and help options for installers
  • [dployrd] (config) Update system-wide configuration location and handling
  • [dployrd] (install) Add default configuration generation for dployr
  • [dployrd] Add initial website structure with HTML, CSS, and JavaScript for dployr.io
  • [dployrd] Update on client application with new features and UI improvements
  • [base] (routes) Add GitHub route and update CORS configuration for PATCH requests
  • [base] (dependencies) Add GitHub and deployment SDK dependencies
  • [base] (dependencies) Add GitHub and deployment SDK dependencies
  • [base] (auth,users) Enhance user authentication and profile management
  • [base] (routes,database) Enhance application routing and database migration
  • [base] (auth,database) Enhance role-based access control and cluster metadata
  • [base] (error_codes) Restructure error codes and add event logging system
  • [base] (events) Add cluster-based event filtering and pagination support
  • [base] (api) Add OpenAPI specification and migrate to Durable Objects for instance provisioning
  • [base] (api) Add OpenAPI tags and role annotations to all endpoints
  • [base] (auth,docs) Update session cookie SameSite policy and enable API credentials in docs
  • [base] (instances) Change instances listing to list instances by clusterId
  • [base] (instances) Add conflict detection for instance creation with unique constraint handling
  • [base] (instances) Add event logging for instance and domain operations, and implement instance deletion endpoint
  • [base] (durable) Refactor InstanceObject to use WebSocket-based task distribution with handshake protocol and status streaming
  • [base] (notifications) Add typed event subscriptions and management API
  • [base] (runtime) Add filtering and sorting capabilities to events endpoint
  • [base] (logs) Add real-time log streaming over WebSocket with live and historical modes
  • [base] (ci) Add automated release workflow with GitHub Actions
  • [web] (auth) Refactor authentication flow and user management to orginate from dployr base
  • [web] (ui) Refactor app header, sidebar, and theme management
  • [web] (integrations) Add integrations management with two-factor authentication
  • [web] (ui) Add activity modal with user activity tracking and management
  • [web] (ui) Add invite user dialog and refactor URL state management
  • [web] (ui) Implement comprehensive user invitation system with received/sent invites split
  • [web] (ui) Implement comprehensive user invitation system with received/sent invites split
  • [web] (ui) Add integration connection dialogs system for domain, email, and remote providers
  • [web] (ui) Add instances management page and rename resources to graph
  • [web] (ui) Add instance details page with real-time status streaming and metrics visualization
  • [web] (ui) Enhance logs-window with dynamic filters, scroll tracking, and DEBUG level support
  • [web] (ui) Implement virtual scrolling and log batching for improved performance in logs-window
  • [web] (ci) Add GitHub Actions release workflow with Docker image publishing and static bundle artifacts

🐛 Bug Fixes

  • [web] (resource-viewer) Add null safety for CPU and memory percentages in process display
  • [web] (ui) Add type safety to nav-footer href and migrate TextLink to TanStack Router Link component
  • [web] (ui) Add null safety checks and improve error handling across multiple components
  • [web] (instances) Add timestamp validation and conversion for instance creation date display
  • [dployrd] (deploy) Improve runtime setup with correct working directory
  • [dployrd] (auth) Remove default token expiry fallback in CLI
  • [dployrd] (auth) Improve token generation with better error handling and default lifespan
  • [dployrd] (version) Improve version string formatting for git commit hash
  • [base] (api) Update instance creation status code and add clusterId query parameter to instance logs endpoint

🚜 Refactor

  • [base] (websocket) Fix instance lookup and requestId validation in client handler
  • [base] (constants) Add UNPROCESSABLE_ENTITY error constant with 422 status code
  • [base] (domains) Update manual DNS guides to use official docs
  • [base] (websocket) Replay only last unacked message instead of all messages
  • [base] (websocket) Simplify agent handler and update broadcast signature
  • [base] (websocket) Remove debug logging and obsolete comment
  • [base] (agent) Add support for v1.1 agent update schema
  • [base] (websocket) Add process history retrieval handler with time-range filtering
  • [base] (kv) Reduce process snapshot TTL from 24 hours to 2 hours
  • [base] (websocket) Add template parameter to proxy add request
  • [base] (websocket) Add proxy management operations with status, restart, add, and remove handlers
  • [base] (auth) Replace dynamic redirect URL with APP_URL constant in OAuth callback handler
  • [web] (links) Update Discord invite URL
  • [web] (services) Improve code formatting and consistency
  • [web] (dashboard) Add comprehensive overview with service cards, stats, and empty state
  • [web] (deployments) Auto-select new instances
  • [base] (auth) Fix redirect URL handling and metadata merge in user upsert
  • [web] (graph) Consolidate instance actions into dropdown menu and improve dialog styling
  • [web] (instances) Add sudo to Linux installation command for elevated privileges
  • [web] (instances) Reduce dialog sizing and improve visual consistency
  • [base] (install) Replace xargs with sed for whitespace trimming in TOML parser to improve POSIX compatibility
  • [base] (install) Improve TOML parser to handle sections, comments, and multi-value lines with proper line-by-line processing
  • [base] (config) Add Microsoft OAuth configuration support with client ID and secret in auth config schema and bootstrap middleware
  • [web] (metrics) Add interactive chart with process snapshot tooltips and timestamp locking
  • [web] (console) Update connection status labels and rephrase description
  • [base] (proxy) Add traffic routing API with hostname resolution, cache management, and service discovery endpoints
  • [base] (install) Add proxy configuration options with CLI flags and config file support for enabling proxy, port, host, base domain, timeout, and cache TTL settings
  • [base] (ci) Add automated changelog generation workflow with git-cliff configuration
  • [web] (settings) Remove configuration page and clean up integrations sections
  • [web] (services) Add branch selector in create domain form
  • [web] (console) Add terminal session management with instance selection and fullscreen mode
  • [web] (deployments) Extract specific deployment blueprint from config
  • [base] (agent) Add UpdateProcessor for agent state synchronization with process snapshots and service sync
  • [web] (dns) Consolidate domain queries and remove provider display for unknown providers
  • [web] (create-service) Add domain configuration info dialog
  • [web] (dns) Replace polling with manual verification and add cooldown mechanism
  • [base] (runtime) Add semantic version sorting for dployrd version list
  • [base] (websocket) Add deployment list handler and improve task error handling with structured error codes
  • [web] (hooks) Add comprehensive debug logging for WebSocket instance update flow
  • [base] (websocket) Pass service name to createServiceRemoveTask for service removal operations
  • [base] (websocket) Replace instanceId with instanceName in system operation handlers for token rotation, install, reboot, and restart
  • [base] (instances) Add KV cache layer to InstanceStore for improved lookup performance
  • [base] (agent) Replace instanceId with instanceName in agent authentication
  • [base] (websocket) Move unacked message storage before client send loop to ensure message is stored even if send fails
  • [base] (websocket) Add instance system operation handlers for token rotation, install, reboot, and restart
  • [base] (websocket) Add file watch handlers for real-time filesystem change notifications
  • [base] (types) Replace generic IDBAdapter interface with concrete PostgresAdapter type
  • [base] (services) Add service store with migration, and ws handlers for service deployment, removal
  • [base] (websocket) Add log stream message handler for deployment and service logs
  • [base] (domains,config) Reorganize domain endpoints, add GitHub token support, and improve DNS verification flow
  • [base] (config) Add cross-env for development mode and use separate dev config file
  • [base] (websocket) Add file operation handlers, replace log stream mode with duration parameter for time-based log stream filtering
  • [base] (websocket) Add connection manager with request tracking, timeout handling, and statistics endpoint
  • [web] (proxy-graph) Update service node to use consolidated proxy routes
  • [base] (db) Change timestamp defaults to milliseconds and rename custom_domains table to domains
  • [base] (websocket) Rename instance connections to cluster connections and standardize TTL parameter
  • [base] (config,websocket) Add integrations config section, implement deployment WebSocket handler, and improve auth middleware
  • [base] (websocket) Add user role to session clusters and pass session context through WebSocket connections for deployment authorization
  • [web] (types) Migrate to modular schema system and consolidate type definitions
  • [web] (types) Standardized components to use normalized schema types
  • [web] (hooks) Bug fixes and improvements
  • [web] (ui) Remove CirclePlus icons from buttons and update button labels
  • [web] (proxy) Redesign add dialog UI
  • [web] (proxy-graph) Redesign detail panels and improve UI consistency
  • [web] (ui) Normalize data formats and improve visual consistency across components
  • [base] (websocket) Extract client notification logic into dedicated ClientNotifier class
  • [web] (create-service) Style fixes
  • [web] (blueprint) Improve blueprint parsing, validation, and sync logic
  • [web] (code-editor) Add instance selector prop
  • [base] (server) Extract bootstrap, CORS, WebSocket, and routing logic into dedicated modules
  • [web] (hooks) Remove unused use-projects hook
  • [base] (kv) Add JSON validation and error handling for event retrieval methods
  • [base] (config) Add redis dependency and improve configuration handling for server, email, and CORS settings
  • [base] (db) Remove JSON string serialization for metadata fields, in favor of native JSONB handling
  • [base] (install) Add dployr-base service startup to installation script
  • [base] (email) Add from_address configuration and validation for email service
  • [base] (build) Add TypeScript type checking to build script
  • [base] (deps) Remove fixed @upstash/redis dependency
  • [base] (version) Add version tracking to health endpoint and build process
  • [base] (install) Add TLS certificate permission configuration for Caddy
  • [base] (config) Update setup and improve Node.js server initialization
  • [base] (config) Add debug logging for CORS configuration and remove config file existence check
  • [base] (cors) Add *.dployr.io as default allowed CORS origin
  • [base] (install) Simplify Caddy service restart
  • [base] (cors) Add wildcard domain pattern support for CORS origins
  • [base] (install) Skip Caddyfile update when file already exists
  • [base] (domain) Update domain references from dployr.dev to dployr.io
  • [base] (config) Add CORS configuration support and improve type safety
  • [base] (migrations) Execute PostgreSQL migrations as single statements instead of splitting by delimiters
  • [base] (install) Switch to tsx execution and add Caddy reverse proxy configuration
  • [base] (config) Replace Redis URL with explicit connection parameters
  • [base] (imports) Add .js extensions and type annotations for ESM compatibility
  • [base] (websocket) Replace Durable Objects with native WebSocket handler
  • [web] (instances) Use instance name instead of ID for WebSocket operations
  • [web] (logs) Move LogTimeRange type to shared types and improve version sorting with pre-release support
  • [web] (navigation) Replace window.history.back() with router.history.back() and improve deployment creation flow
  • [base] (docker) Pin pnpm version, add .dockerignore, and update configuration
  • [base] (docker) Switch from esbuild to tsx for TypeScript execution and update development configuration
  • [base] (logs) Replace logType enum with flexible path-based log streaming
  • [base] (deployment) Remove Cloudflare Workers support and switch to PostgreSQL-only deployment
  • [base] (release) Switch from bundled dist to source files in release tarball
  • [web] (file-system) Migrate to map-based tree with live watching, search, and lazy loading
  • [web] (hooks) Improve deployment and service management with instance resolution and error handling
  • [web] (hooks) Migrate instance status and deployments to React Query cache with localStorage persistence
  • [web] (ui) Show count of running services
  • [web] (ui) Consolidate StatusChip into StatusBadge with icon support and type-specific styling
  • [web] (services) Migrate to unified Service type to improve domain label
  • [web] (logs) Consolidate log streaming hooks and add shared deployment utility
  • [web] (file-system) Migrate to request-response protocol with retry logic and rate limiting
  • [web] (api) Update instance-scoped endpoints and WebSocket connections
  • [base] (ci) Update Discord notification title
  • [base] (config) Update default port from 3000 to 7878
  • [dployrd] (utils) Centralize data directory path handling across application
  • [base] (project) Restructure database initialization and route imports
  • [base] (database,auth) Remove bootstrap table and migrate to metadata-based GitHub integration
  • [base] (instances,users,constants) Optimize database operations and add instance update endpoint
  • [base] Remove unused bootstrap workflow template file
  • [base] Remove unused dployr-sdk dependency
  • [base] (instances) Remove deprecated HTTP logs endpoint in favor of WebSocket streaming
  • [base] (license) Change license from MIT to Apache-2.0 and add copyright headers to all files
  • [base] (docker) Remove Dockerfile as project no longer requires containerized deployment
  • [base] (logs) Generate streamId server-side instead of requiring it in client request
  • [base] (logs) Implement offset-based log streaming and active stream tracking
  • [base] (logs) Replace KV-based WebSocket rate limiting with in-memory implementation
  • [web] (ui) Consolidate URL state management into unified useUrlState hook
  • [web] (ui) Centralize confirmation dialog handling across settings pages
  • [web] (auth,ui) Streamline GitHub integration flow and URL state management
  • [web] (routing) Restructure application with cluster-based routing architecture
  • [web] (routing) Streamline cluster-based navigation and routing logic
  • [web] (ui) Rename notifications to events and implement event filtering
  • [web] (ui) Rename email-connect-dialog to notifications-connect-dialog and improve event filtering

📚 Documentation

  • [base] (openapi) Change instance and domain deletion endpoints to return 204 No Content instead of 200 with JSON response
  • [base] (openapi) Add custom domain management endpoints and implement domain verification system
  • [base] (openapi) Add WebSocket task protocol schemas and improve agent communication documentation
  • [base] (openapi) Add system install/restart endpoints and daemon compatibility check
  • [base] (openapi) Remove log streaming and instance WebSocket endpoints, refactor instance store query and task types
  • [base] (openapi) Add daemon restart endpoint, refactor reboot endpoint, and improve version management
  • [base] (openapi) Move domain registration endpoint to new Domains tag
  • [web] (branding) Update domain references from dployr.dev to dployr.io across all files
  • [web] (readme) Update Docker quick start port from 8080 to 7877
  • [web] (readme) Update Docker quick start to use latest tag instead of version-specific tag
  • [dployrd] (readme) Update README with minor text and branch reference adjustments
  • [dployrd] (readme) Update deployment example with real example
  • [dployrd] (install) Update installation instructions and scripts
  • [dployrd] (project) Add comprehensive contributing and readme documentation
  • [base] (api) Update instance creation and update response status codes to 202
  • [base] (api) Remove instance update endpoint, simplify instance creation, and add domains and GitHub remotes endpoints. Update dployr from @^1.3.0 to @^1.5.0
  • [base] (api) Add operationId to all endpoints, set JWKS endpoint security to empty array, and add type object to SuccessResponse data field
  • [base] (api) Add address field to instance registration endpoint request body
  • [base] (api) Provide install token on instance creation
  • [base] (api) Remove status field and add description to token field in instance creation response
  • [base] (api) Add address field to instance registration endpoint request body as required parameter
  • [base] (api) Remove address field from instance registration endpoint and make it required during instance creation
  • [base] (api) Add 409 conflict response to instance creation endpoint and add instance deletion endpoint
  • [base] (api) Add agent endpoints for instance status reporting and task polling
  • [base] (api) Add agent token rotation and refresh endpoints
  • [base] (api) Add ClientCertUpdate schema for certificate updates with PEM, SPKI hash, subject, and expiration fields
  • [base] (api) Fix agent token rotation endpoint path and add required instanceId parameter
  • [base] (api) Add bearer auth security scheme and fix YAML formatting issues
  • [base] (api) Add WebSocket status streaming endpoint and schemas for real-time instance monitoring
  • [base] (api) Replace SystemStatus schema with AgentUpdateMessage schema for agent status reporting
  • [base] (api) Update WebSocket status streaming to use AgentUpdateMessage schema
  • [base] (api) Update PaginatedResponse schema with additional fields
  • [base] (api) Implement global rate limiting documentation and per-user limits
  • [base] (deployment) Add Docker support and self-hosting installation options

🎨 Styling

  • [web] (fix) Typo "Changelogs" to "Changelog"
  • [base] (api) Add trailing newline

⚙️ Miscellaneous Tasks

  • [dployrd] (workflows) Simplify release workflow by removing Chocolatey upload step for now
  • [dployrd] (workflows) Update Chocolatey package push URL for release workflow
  • [dployrd] (workflows) Update Chocolatey package push path for release workflow
  • [dployrd] (workflows) Fix Chocolatey publish step shell configuration
  • [dployrd] (workflows) Refactor Chocolatey package generation and publishing step
  • [dployrd] (workflows) Update Chocolatey package push to use bash as shell
  • [dployrd] (workflows) Simplify Chocolatey publish step in release workflow
  • [dployrd] (goreleaser) Remove Chocolatey publish flag
  • [dployrd] (workflows) Refactor release workflow for improved artifact handling and Chocolatey deployment
  • [dployrd] (workflows) Update GoReleaser v2 release arguments for release workflow
  • [dployrd] (workflows) Update GoReleaser release arguments for Chocolatey-only deployment
  • [dployrd] (goreleaser) Update archive configuration
  • [dployrd] (workflows) Typo
  • [dployrd] (workflows) Update GoReleaser v2 release arguments
  • [dployrd] (workflows) Typo fix
  • [dployrd] (goreleaser) Add Chocolatey owners and API key configuration
  • [dployrd] (workflows) Remove beta workflow file
  • [dployrd] (workflows) Update GoReleaser v2 arguments for beta and release workflows
  • [dployrd] (workflows) Update GoReleaser v2 skip parameters for beta and release workflows
  • [dployrd] (workflows) Update to GoReleaser v2 argument conventions
  • [dployrd] (workflows) Add Chocolatey version flag to GitHub Actions
  • [dployrd] Init version 0.1.0 + devbump
  • [dployrd] Cleanup
  • [dployrd] Go.work.sum
  • [dployrd] (workflows) Refactor release and beta workflows for Go project
  • [dployrd] (workflows) Split release and beta workflows into two-stage jobs
  • [dployrd] (workflows) Fix GoReleaser Chocolatey skip parameter
  • [dployrd] (workflows) Title fix
  • [dployrd] (workflows) Update GitHub token for release and beta workflows
  • [dployrd] (workflows) Update title
  • [dployrd] (goreleaser) Override GitHub tokens for Homebrew and Scoop tap repositories
  • [dployrd] (goreleaser) Remove hardcoded GitHub tokens from tap repositories
  • [dployrd] (workflows) Typo
  • [base] (config) Update email service from address to dployr.dev
  • [base] (docs) Replaced with classic deploy - no build needed
  • [web] (config) Update Vite server configuration for allowed hosts
  • [web] (license) Migrate from MIT to Apache-2.0 and add copyright headers to all source files

💼 Other

  • [dployrd] Implementation for projects deployment
  • [dployrd] Refresh tokens implementation
  • [dployrd] Bug fixes and improvements in the service creation flow
  • [dployrd] Updated deployments page with table
  • [base] Update dployr-sdk to v1.3.0, add jose, remove zeptomail, and refactor auth middleware
  • [base] Update dployr-sdk to v1.4.0 and implement JWT-based instance bootstrap authentication
  • [web] (ui) Cleanup