Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog.
[0.5.0] - 2026-02-20
Added
- Managed workspaces — tenant → workspace hierarchy for multi-tenant apps
workspacestable with per-workspace byte quotas and metadata- Workspace CRUD API at
/api/v1/workspaces(create, list, get, update, delete) - Upload route supports optional
workspaceIdwith workspace quota checks - File listing/responses include
workspaceIdfor workspace-scoped queries - Cascading quota enforcement (tenant → workspace)
- Workspace delete soft-deletes all associated files and releases quota
- SDK:
withWorkspace()for scoped client instances - SDK:
createWorkspace(),listWorkspaces(),getWorkspace(),updateWorkspace(),deleteWorkspace() X-Workspace-IdCORS header support
Fixed
- Admin routes reordered before tenant-auth routes to prevent auth interception
[0.4.0] - 2026-02-19
Removed
- BREAKING: Removed all processing logic (OCR, thumbnails, context-aware processing)
- Removed
ProcessingContexttype andPROCESSING_CONTEXTSconstant - Removed
ThumbnailUrls,OcrResult,OcrBlock,BoundingBox,ImageInfotypes - Removed
THUMBNAIL_SIZESconstant - Removed
waitForProcessing()SDK method - Removed Cloudflare Queue consumer for async processing
- Removed
ProcessingQueueMessagetype
Changed
- BREAKING:
contextis now an optional free-form string (max 100 chars) instead of required enum - Webhook events changed from
file.processedtofile.uploaded - Files are marked
completedimmediately after upload (no processing step) FileMetadatasimplified to{ [key: string]: unknown }
Kept
- Multi-tenant authentication and authorization
- File upload/download/list/delete CRUD
- Quota management
- Presigned URL upload flow
- Webhooks (simplified)
- Soft deletes
[0.3.0]
Changed
- Consolidated UploadNode and storage-brain-sdk into a single "Storage Brain" monorepo
- Migrated from npm workspaces to pnpm workspaces
- Replaced old internal
@storage-brain/sdk(v0.1.0) with published@marlinjai/storage-brain-sdk(v0.3.0) inpackages/sdk/ - Updated all npm scripts to use pnpm filters
- Renamed project folder from
UploadNodetostorage-brain
Added
packages/sdk/— TypeScript SDK moved from standalonestorage-brain-sdkrepopnpm-workspace.yamlfor pnpm workspace configuration.npmrcwithshamefully-hoist=truefor Cloudflare Workers compatibility- SDK-specific scripts:
dev:sdk,build:sdk,publish:sdk
Removed
packages/client-sdk/— old internal SDK (v0.1.0, never published, browser-only)package-lock.json— replaced bypnpm-lock.yaml
[0.1.0] - 2026-01-11
Added
- Initial release
- Cloudflare Worker API with Hono
- Multi-tenant authentication with API keys
- File upload via presigned URLs to R2
- OCR processing via Google Cloud Vision
- Thumbnail generation (placeholder)
- Quota management per tenant
- Webhook notifications
- Admin endpoints for tenant management