Releases: neverinfamous/do-manager
v1.3.3 - Dependency Updates
v1.3.3
Highlights
- Dependency Updates: Updated
globoverride and Dockerfile patch from 11.1.0 to 13.0.6. - Documentation Migration: Moved Changelog.md from the wiki repository into the main project root.
Changed
- Dependency Updates
- Updated
globoverride and Dockerfile patch from11.1.0to13.0.6
- Updated
Documentation
- Changelog Migrated: Moved
Changelog.mdfrom the wiki repository into the main project root asCHANGELOG.md.
Full Changelog: v1.3.2...v1.3.3
Install Docker Image:
docker pull writenotenow/do-manager:v1.3.3
v1.3.2 - Docker trigger fix and P111 exact pinning
v1.3.2 — Docker Trigger Fix & P111 Exact Pinning
CI/CD
- Docker Publish Trigger Fix: Docker images now only build on tag pushes (
v*), preventing duplicate builds on every push to main - Tag Condition Fix: Updated
refs/heads/mainconditions tostartsWith(github.ref, 'refs/tags/v')for tag-triggered workflows
Security
- P111 Exact Pin: Changed minimatch override from
^10.2.4to10.2.4to prevent lockfile drift from Dockerfile patch version
Full Changelog: v1.3.1...v1.3.2
v1.3.1 - Dependency updates, security patches, and agentic automation
v1.3.1 — Dependency Updates, Security Patches & Agentic Automation
Highlights
- Agentic Dependency Maintenance: New GitHub Agentic Workflow automates batched dependency updates using Copilot (Claude Opus 4) — runs weekly and on-demand
- Node.js 24 LTS Baseline: Upgraded from Node 20 to Node 24 across Dockerfile, CI, and engine config
- ESLint 10 Migration: Upgraded from ESLint 9 to ESLint 10 with zero-suppression sweep
- 5 Security Fixes: minimatch ReDoS (×2), rollup path traversal, tar path traversal, Docker P111 patching
CI/CD
- Added
dependency-maintenance.mdagentic workflow (weekly Monday schedule + manual dispatch) - Suppressed Dependabot npm PRs (
open-pull-requests-limit: 0) — vulnerability detection remains active - Removed Dependabot auto-merge workflow
Changed
- Node.js 24 LTS baseline across Dockerfile, CI workflows, and
package.jsonengines - ESLint zero-suppression sweep — achieved 100% zero-suppression frontend codebase
- ESLint 10 migration with
no-useless-assignmentfixes - Docker
.dockerignoreadded for build optimization
Security
- GHSA-3ppc-4f35-3m26 (minimatch ReDoS): Resolved via ESLint 10 upgrade
- GHSA-7r86-cg39-jmmj, GHSA-23c5-xmqv-rm74 (minimatch ReDoS v2): Fixed via override
^10.2.3+ Docker P111 patch - GHSA-mw96-cpmx-2vgc (rollup path traversal): Updated rollup 4.55.1 → 4.59.0
- CVE-2026-26960 (tar path traversal): Updated tar override 7.5.2 → 7.5.10
- Docker P111 patching: tar 7.5.2 → 7.5.10, minimatch 10.2.4 in both stages
Dependencies
17+ package updates including:
@cloudflare/workers-types4.20260210.0 → 4.20260307.1eslint9.39.2 → 10.0.3jose6.1.3 → 6.2.0lucide-react0.563.0 → 0.577.0wrangler4.64.0 → 4.71.0postcss8.5.6 → 8.5.8@types/node25.2.3 → 25.3.5
Full Changelog: v1.3.0...v1.3.1
v1.3.0 - Granular Webhooks and Enhanced Metrics Dashboard
DO Manager v1.3.0 Release Notes
Release Date: January 8, 2026
Version 1.3.0 introduces Granular Webhook Events for fine-grained notifications and an Enhanced Metrics Dashboard with comprehensive Cloudflare GraphQL Analytics integration.
🔔 Granular Webhook Events
Added 7 new webhook event types for fine-grained notifications, bringing total webhook events from 6 to 13 (matching kv-manager parity):
Storage Events
storage_create— Triggered when a new storage key is createdstorage_update— Triggered when an existing key's value is updatedstorage_delete— Triggered when a storage key is deleted
Instance Events
instance_create— Triggered when a new instance is trackedinstance_delete— Triggered when an instance is removed
Import/Export Events
import_complete— Triggered when a key import operation completesexport_complete— Triggered when an export operation completes
📊 Enhanced Metrics Dashboard
Complete rewrite of the Metrics Dashboard using Cloudflare's GraphQL Analytics API:
Tabbed Interface
- Invocations — Request volume, error rates, and latency metrics
- Storage — Storage bytes and keys tracking with trend visualization
- Subrequests — External API call monitoring unique to Durable Objects
All 4 DO Datasets
Now queries all available Durable Objects analytics datasets:
durableObjectsInvocationsAdaptiveGroupsdurableObjectsPeriodicGroupsdurableObjectsStorageGroupsdurableObjectsSubrequestsAdaptiveGroups
Features
- Namespace filtering — Filter metrics to specific DO namespaces via
scriptName - Latency percentiles — Real P50/P90/P99 wall time metrics (replacing estimated values)
- Time range selection — Switch between 24h/7d/30d views
- 2-minute caching — Fast metrics with skip-cache refresh option
📦 Dependency Updates
| Package | Previous | Updated |
|---|---|---|
@cloudflare/workers-types |
4.20251229.0 | 4.20260108.0 |
esbuild |
0.27.1 | 0.27.2 |
globals |
16.5.0 | 17.0.0 |
typescript-eslint |
8.50.1 | 8.52.0 |
vite |
7.3.0 | 7.3.1 |
wrangler |
4.56.0 | 4.58.0 |
Links
v1.2.0 - Instance Migration and Freeze Features
DO Manager v1.2.0 Release Notes
Release Date: January 5, 2026
Status: Stable
Type: Feature Release
🚀 Overview
Version 1.2.0 introduces Instance Migration capabilities, allowing you to move instances between namespaces with full control over the source instance. A new Freeze/Unfreeze system enables read-only protection for critical instances, and the migration workflow integrates both features seamlessly.
✨ Features
🔄 Instance Migration
- Cross-Namespace Migration: Move instances from one namespace to another with a single action.
- Three Migration Modes:
- Copy Only: Clone data to the new namespace, keeping the source unchanged.
- Copy + Delete: Clone data, then remove the source from metadata.
- Copy + Freeze: Clone data, then freeze the source instance (read-only mode).
- Automatic Name Conflict Resolution: Target instance names are automatically suffixed to avoid collisions.
❄️ Instance Freeze/Unfreeze
- Freeze Protection: Mark instances as read-only to prevent accidental modifications.
- Freeze Status Indicator: Snowflake icon in both Grid and List views to check freeze status.
- One-Click Unfreeze: Easily restore write access from the freeze status dialog.
- API Enforcement: Frozen instances return
423 Lockedfor PUT/DELETE/Import operations.
🎨 UI Improvements
- Migration Dialog: Visual wizard with namespace selection, target naming, mode selection, and progress tracking.
- Grid & List View Actions: New migration and freeze status buttons in instance action menus.
- Improved Error Messages: Frozen instances now show clear "Instance is frozen" messages instead of generic errors.
🔧 Technical Improvements
Backend Enhancements
- New API Endpoints:
POST /api/instances/:id/migrate— Migrate instance to another namespaceGET /api/instances/:id/freeze— Check freeze statusDELETE /api/instances/:id/freeze— Unfreeze an instance
- Job Tracking: All migration and unfreeze operations are logged in Job History.
- Admin Hook Protocol: Updated
do-manager-admin-hooksto v1.1.1 for flexible path routing.
Code Quality
- TypeScript Strict Mode: All new code follows strict TypeScript patterns.
- ESLint Compliance: Full linting coverage for new components.
📦 Upgrade Instructions
-
Pull the latest changes:
git pull origin main
-
Update dependencies:
npm install
-
Deploy the Worker:
npx wrangler deploy
-
Update Admin Hooks (if using
do-manager-admin-hooks):npm install do-manager-admin-hooks@1.1.1
📚 Documentation
Made with ❤️ for the Cloudflare community
v1.1.0
DO Manager v1.1.0 Release Notes
Release Date: December 10, 2025
Status: Stable
Type: Feature & Performance Release
🚀 Overview
Version 1.1.0 brings significant enhancements to performance, search capabilities, and code quality. This release introduces a comprehensive Automated Database Migration system, making upgrades seamless. We've also added Instance Tags for better organization, a Deep Clone feature for namespaces, and a fully polished SQL Console.
Performance has been a major focus, with a 48% reduction in bundle size, centralized frontend caching, and parallelized backend queries, resulting in a much faster and snappier experience.
✨ Features
🔄 Automated Database Migrations
- In-App Migrations: New visual banner prompts for database upgrades when schema changes are detected.
- One-Click Upgrade: Apply all pending migrations safely with a single click.
- Version Tracking: System now tracks schema versions to ensure data integrity.
- Legacy Support: Automatically detects and marks existing deployments as "legacy" to bridge the gap.
🏷️ Instance Tags & Organization
- Custom Tags: Add freeform tags (e.g.,
env:production,team:backend) to any instance. - Tag Search: Dedicated search tab to find instances by tag across ALL namespaces.
- Namespace Colors: Assign color tags to namespaces (similar to instances) for better visual distinction in Grid and List views.
- Expanded Palette: Color picker upgraded to 27+ grouped colors.
⚡ Search & Performance
- Optimized Global Search: Search backends now use parallel query execution and upfront indexing for lightning-fast results.
- Frontend Caching: Implemented a smart caching layer with 5-minute TTL to minimize API calls and load times.
- Reduced Bundle Size: Main bundle cut by nearly half (702 KB → 364 KB) via code splitting and lazy loading of heavy components.
🛠️ Enhanced Management Tools
- Deep Clone Namespace: Option to clone a namespace AND all its instances + storage data (atomic 2-phase process).
- List/Grid View Toggle: Toggle between card grid and sortable table list views for both Namespaces and Instances.
- Instance Renaming: Directly rename instances from the list view.
- SQL Console V2: Rich editor with syntax highlighting, auto-complete, query formatting, and "Quick Queries" templates.
- JSON Paste Import: Paste JSON directly into the Import dialog instead of requiring a file upload.
📊 Dashboard & Analytics
- Instance Counts: Now displaying the number of instances per namespace in the dashboard.
- Dashboard Shortcuts: Added Cloudflare Dashboard icon-link for quick access to the Durable Objects panel.
🏗️ Code Quality & Reliability
🛡️ Type Safety & Linting
- Strict TypeScript: Enabled all strict type-checking options (
noUncheckedIndexedAccess,noImplicitOverride, etc.). - Strict ESLint: Adopted
strictTypeCheckedandstylisticTypeCheckedrulesets for maximum code robustness.
📝 Centralized Logging
- Structured Error Logging: Replaced ad-hoc console logs with a centralized
error-loggersystem. - Context-Rich Logs: Errors now include module codes (
NS,INST, etc.), severity levels, and stack traces. - Webhook Integration: Critical errors and job failures automatically trigger webhooks.
🧪 Improvements
- Rate Limit Protection: Added exponential backoff retry logic for API calls.
- Test Coverage: Expanded validation and error handling across 14 API services.
🐛 Bug Fixes
- Alarm Logging:
delete_alarmandalarm_completedevents now properly appear in Job History. - Alarm Indicator: Fixed issue where the alarm icon on the Instances page wouldn't clear after deletion.
- Migration Detection: Resolved issues with detection of migrated schemas in production environments.
🔧 Tech Stack
| Layer | Technologies |
|---|---|
| Frontend | React 19.2.1, TypeScript 5.9.3, Vite 7.2.7, Tailwind CSS 4.1.17, shadcn/ui |
| Backend | Cloudflare Workers, D1, R2, Zero Trust |
📦 Upgrade Instructions
-
Pull the latest changes:
git pull origin main
-
Update dependencies:
npm install
-
Deploy the Worker:
npx wrangler deploy
-
Apply Migrations:
Open the application in your browser. You will see an "Upgrade Available" banner. Click "Upgrade Now" to apply the new database migrations (phase9.sqlandphase10.sql) automatically.
📚 Documentation
Made with ❤️ for the Cloudflare community
v1.0.0 - Initial Stable Release
DO Manager v1.0.0 Release Notes
Release Date: November 29, 2025
Status: Stable
Type: Initial Public Release
🎉 First Stable Release
We're excited to announce the first stable release of DO Manager — a full-featured web application for managing Cloudflare Durable Objects with enterprise-grade authentication via Cloudflare Access (Zero Trust).
✨ Features
Namespace Management
- Auto-discover DO namespaces from Cloudflare API
- Manual configuration for custom setups
- Clone namespace configurations
- Download namespace settings as JSON
- System namespace filtering (kv-manager, d1-manager, do-manager)
- Real-time search & filter by name, class name, or script name
- Support for SQLite and KV storage backends
Instance Management
- Track DO instances by name or hex ID
- Create new instances with custom names
- Clone instances with full storage copy
- Download instance storage as JSON
- Real-time search & filter by instance name or object ID
- Color tags for visual organization (9 preset colors)
- Instance diff — compare storage between two instances
SQL Console (SQLite-backed DOs)
- Execute raw SQL queries against SQLite storage
- Query Builder with pre-built templates:
- Select All Rows, Row Count, Table Schema
- List All Tables, List Indexes, Sample Rows
- Create Table boilerplate
- Saved queries per namespace
- Query history for quick access
- Sortable results table
Multi-Select & Batch Operations
- Always-visible checkboxes on lists
- Batch download (namespaces) — ZIP with manifest
- Batch download (instances) — ZIP with manifest
- Batch download (keys) — JSON with metadata
- Batch delete with confirmation
- Batch backup to R2 with progress tracking
- Compare exactly 2 instances side-by-side
- Floating selection toolbar with count and actions
Storage Management
- Key search & filter
- Multi-select keys for batch operations
- Batch export keys as JSON
- Batch delete keys
- Import keys from JSON files
- View/edit storage values with JSON support
- Clickable key rows for easy editing
Admin Hook System
- NPM package (
do-manager-admin-hooks) for easy integration - Copy-paste template option for custom setups
- Support for both SQLite and KV backends
- Full endpoint documentation
Alarms
- View current alarm state
- Set new alarms with date/time picker
- Delete existing alarms
R2 Backup & Restore
- Snapshot DO storage to R2
- Browse backup history
- Restore from any backup with auto-refresh
Metrics Dashboard
- Request volume over time
- Storage usage visualization
- CPU time metrics (average and total)
Global Search
- Cross-namespace key search
- Value search within JSON
- Namespace filtering
- Result grouping by namespace
- Match highlighting
- Value previews
- Job tracking integration
Job History
- Comprehensive operation tracking:
- Namespace operations (create, delete, clone, download)
- Instance operations (create, delete, clone, download)
- Storage key operations (CRUD, batch delete, batch export, import)
- Alarm management (set, delete)
- Backup/restore operations
- Search operations (key search, value search)
- View status, progress, and timing
- Error details for failed operations
- Filter by status or namespace
Webhook Notifications
- Event-driven webhooks for key events:
backup_complete,restore_completealarm_set,alarm_deletedjob_failed,batch_complete
- Optional HMAC signature verification
- Test webhook endpoint connectivity
Health Dashboard
- System overview (namespaces, instances, alarms)
- Stale instance detection (7+ days inactive)
- Storage quota alerts (80% warning, 90% critical of 10GB limit)
- Active alarms with countdown timers
- Aggregate storage usage summary
- Recent activity timeline (24h/7d)
User Experience
- Dark/Light/System theme modes
- Responsive design
- Enterprise auth via Cloudflare Access
- Accessible UI with proper ARIA attributes
🔧 Tech Stack
| Layer | Technologies |
|---|---|
| Frontend | React 19.2.0, TypeScript 5.9.3, Vite 7.2.4, Tailwind CSS 4.1.17, shadcn/ui |
| Backend | Cloudflare Workers, D1, R2, Zero Trust |
📦 Installation
# Clone the repository
git clone https://github.com/neverinfamous/do-manager.git
cd do-manager
# Install dependencies
npm install
# Initialize local D1 database
npx wrangler d1 execute do-manager-metadata-dev --local --file=worker/schema.sql
# Start development servers
npm run dev # Frontend
npx wrangler dev --config wrangler.dev.toml --local # WorkerFor production deployment, see the README.
📚 Documentation
- README — Full documentation
- Wiki — Extended guides
- Admin Hooks Package — NPM integration
🙏 Acknowledgments
Special thanks to the Cloudflare community for feedback and support during development.
Made with ❤️ for the Cloudflare community