Releases¶
Release notes are generated from CHANGELOG.md; publication links point to the corresponding GitHub release. Historical notes may be incomplete.
Current release dates come from the changelog; reconstructed historical dates retain their catalog provenance from the changelog, annotated tag, or tagged commit. They are not retrospective GitHub publication timestamps.
| Version | Date | Notes | Publications |
|---|---|---|---|
| 0.2.18 | 2026-10-24 (changelog) | Changelog | GitHub |
| 0.2.17 | 2026-10-19 (changelog) | Changelog | GitHub |
| 0.2.16 | 2026-10-17 (changelog) | Changelog | GitHub |
| 0.2.15 | 2026-10-11 (changelog) | Changelog | GitHub |
| 0.2.14 | 2026-10-06 (changelog) | Changelog | GitHub |
| 0.2.13 | 2026-10-01 (changelog) | Changelog | GitHub |
| 0.2.12 | 2026-09-29 (changelog) | Changelog | GitHub |
| 0.2.11 | 2026-09-29 (changelog) | Changelog | GitHub |
| 0.2.10 | 2026-09-28 (changelog) | Changelog | GitHub |
| 0.2.9 | 2026-09-26 (changelog) | Changelog | GitHub |
| 0.2.8 | 2026-09-24 (changelog) | Changelog | GitHub |
| 0.2.7 | 2026-09-23 (changelog) | Changelog | GitHub |
| 0.2.6 | 2026-09-22 (changelog) | Changelog | GitHub |
| 0.2.5 | 2026-09-20 (changelog) | Changelog | GitHub |
| 0.2.4 | 2026-09-11 (changelog) | Changelog | GitHub |
| 0.2.3 | 2026-09-04 (changelog) | Changelog | GitHub |
| 0.2.2 | 2026-09-02 (changelog) | Changelog | GitHub |
| 0.2.1 | 2026-08-28 (changelog) | Changelog | GitHub |
| 0.2.0 | 2026-08-19 (changelog) | Changelog | GitHub |
| 0.1.11 | 2026-07-26 (changelog) | Changelog | GitHub |
| 0.1.10 | 2026-07-22 (changelog) | Changelog | GitHub |
| 0.1.9 | 2026-06-26 (changelog) | Changelog | GitHub |
| 0.1.8 | 2026-06-16 (changelog) | Changelog | GitHub |
| 0.1.7 | 2026-05-13 (commit) | Reconstructed | GitHub |
| 0.1.6 | 2026-04-27 (commit) | Reconstructed | GitHub |
| 0.1.5 | 2026-04-05 (commit) | Reconstructed | GitHub |
| 0.1.4 | 2026-03-29 (tag) | Reconstructed | GitHub |
| 0.1.3 | 2026-02-02 (commit) | Reconstructed | GitHub |
| 0.1.2 | 2026-01-09 (commit) | Reconstructed | GitHub |
| 0.1.1 | 2026-01-06 (commit) | Reconstructed | GitHub |
| 0.1.0 | 2026-01-06 (commit) | Reconstructed | GitHub |
0.2.18¶
Compare v0.2.17 → v0.2.18: GitHub
Added¶
- Replace the expanded Billing product model with a focused Cost Explorer, including configurable global and per-endpoint prices, Admin analytics, Portal usage costs, and targeted Account/RGW User/Portal cost-estimation policies.
- Add RGW User usage-metrics, bucket-composition, and scheduled-collection overrides so Account and RGW User usage controls follow the same inheritance model.
- Add production-oriented Helm HA support for deployments behind external TLS termination, including trusted-proxy handling, ingress-aware CronJobs, and clearer PostgreSQL HA guidance.
- Add runtime-image vulnerability scanning to public CI and refresh Node.js, Go, Python, Vite/Vitest, Wrangler, Trivy, and related dependency pins.
Changed¶
- Rework bucket migration planning, diagnostics, execution strategy, progress, and cleanup models around canonical persisted state while simplifying the Manager migration UI and service boundaries.
- Make Ceph Admin bucket operations tenant-aware by carrying the RGW tenant and unqualified bucket name through configuration, comparison, integrity, purge, usage-statistics, and backup workflows.
- Simplify backend read/write models across Admin, Manager, Portal, Browser, authentication, statistics, health, quotas, and cost workflows. The bundled frontend is updated in the same release, so these coordinated application-API changes are not treated as breaking external contracts.
- Rename the backend API-prefix setting from
API_V1_PREFIXtoAPI_PREFIX; the default route remains/api. - Continue consolidating frontend state, pagination, IAM editing, bucket-operation actions, Browser runtime context, and settings feedback without changing the corresponding user-facing storage semantics.
Fixed¶
- Correct IAM role audit delegation classification and align healthcheck/demo payloads with the current backend contracts.
- Preserve settings save feedback and usable mobile action targets, and keep sticky action hover surfaces visually opaque.
- Update vulnerable dependencies and verify backend, frontend, and scheduler runtime images with zero HIGH/CRITICAL findings in the release security checks.
- Harden tenant-qualified Ceph Admin bucket operations so same-name buckets in different RGW tenants cannot collapse into one logical target.
Upgrade notes¶
- Apply the normal Alembic upgrade path before starting the matching backend. Migrations
0167through0193withdraw the 0.2.17 Billing expansion, introduce the Cost model and estimation policies, add RGW usage controls, canonicalize bucket-migration state, preserve tenant identity in usage data, and remove retired internal state. - Deploy the backend and bundled frontend from the same release. Internal application route and payload changes are coordinated within 0.2.18 and are not considered breaking external contracts.
- Breaking change for external Billing integrations: the Billing Integration API v1 (
/api/integrations/billing/v1) andbilling:readtoken scope introduced in 0.2.17 are removed as BucketReef returns to cost exploration rather than invoicing lifecycle management. Migrations preserve daily usage history but reset incompatible 0.2.17 Billing configuration. - Breaking change for custom deployments: rename
API_V1_PREFIXtoAPI_PREFIX. The removedAPI_V1_PREFIXvariable is no longer read by the backend; the default/apipath is unchanged.
0.2.17¶
Compare v0.2.16 → v0.2.17: GitHub
Added¶
- Add versioned Billing Rate Plans with effective-month tariffs, endpoint/global defaults, account and S3-user assignments, deterministic storage charging, and explicit actual-usage versus allocated-quota pricing.
- Add Billing Entities and historical analytical groups so chargeback can consolidate subjects across endpoints while preserving membership provenance, currency separation, and conflict reporting.
- Add persisted monthly Billing Statements with draft review, immutable finalization, JSON/CSV/PDF exports, finalized-period analytics, configurable PDF branding, webhook notification, and scheduled statement automation.
- Add the supported read-only Billing Integration API v1 for external invoicing, ERP, accounting, reporting, and chargeback consumers using scoped API tokens and finalized statement snapshots.
- Add explicit Admin controls for creating RGW resources in non-default tenants, tenant-aware account/user imports, and endpoint-map hover details.
- Add Browser direct-transfer workers with per-context endpoint authorization and CSP so eligible uploads and downloads can communicate with the selected S3 endpoint without proxying object payloads through BucketReef.
- Add Browser upload-mode controls so administrators can independently allow direct presigned, STS, and proxy uploads while requiring at least one upload path to remain enabled.
Changed¶
- Resolve Billing Rate Plans through explicit subject assignments, Billing Entity assignments, endpoint defaults, and the global default, while keeping pricing provenance and incomplete-coverage states visible instead of silently falling back.
- Treat finalized Billing Statements as the canonical immutable source for historical period totals and external integrations; raw daily Billing retention no longer affects persisted statements.
- Scope RGW account names by tenant and keep tenant qualification compact in Admin inventories and creation/import workflows.
- Simplify S3 Connection terminology, Admin activity presentation, Billing feature gating, and several workspace navigation/localization details.
- Modernize backend query paths across health, audit, usage, onboarding, Portal, quota, Browser, and Admin services without changing their supported external contracts.
- Serve Browser direct-transfer workers from the frontend through an authenticated
/api/browser/direct-transfer-worker/path with a request-scoped CSP.
Fixed¶
- Enforce Portal IAM revocation boundaries and strengthen RGW Billing input validation, statement history invariants, stale-draft detection, and estimated-statement finalization.
- Preserve tenant-aware RGW account/user uniqueness and imports, including migration of existing account-name uniqueness to the tenant scope.
- Isolate Browser direct transfers by execution context, prevent stale endpoint policy reuse, and avoid replaying uncertain direct writes through the backend proxy.
- Keep Billing settings disabled when the feature is off and align RGW user/account creation dialogs with their tenant-aware contracts.
Upgrade notes¶
- Apply the normal Alembic upgrade path before starting the matching backend. Migrations
0159through0166add versioned Billing tariffs, historical quota data, Billing Entities and Groups, persisted statements and automation state, tenant-scoped S3 account-name uniqueness, and estimated-statement state. - Deploy the backend and bundled frontend from the same release. Application API changes used only by the bundled frontend are coordinated within 0.2.17 and are not treated as breaking external contracts.
- The Billing Integration API under
/api/integrations/billing/v1is now a supported external read-only contract. Use dedicated API tokens with the documentedbilling:readscope; internal Admin Billing routes remain application-private. - Breaking change for custom reverse proxies: Browser direct-transfer workers are served by the frontend under
/api/browser/direct-transfer-worker/. Deployments that route all/apitraffic directly to the backend must add this frontend exception, preserve the query string and existing session cookie, and keep the worker response CSP uncached. The bundled Helm ingress already includes this route.
0.2.16¶
Compare v0.2.15 → v0.2.16: GitHub
Added¶
- Add Admin feature policies with tri-state inheritance, resource-level overrides, effective-rights presentation, and project usage feature overrides shared across the application.
- Add Manager account activity history tied to explicit S3 execution contexts, with canonical audit context fields used across Admin audit and Manager activity views.
- Add explicit Ceph RGW tenant support for accounts and users, including tenant-aware identity validation, collision protection, migration of pre-tenant identities, and structured RGW identity metadata for S3 Connections.
- Add automatic bucket composition collection with configurable collection policy and scheduler integration for bucket usage/statistics workflows.
- Complete French, German, and Chinese localization across Admin, Ceph Admin, shared settings, authentication, errors, endpoint management, metrics, usage, and common workspace components.
- Complete Manager IAM user, group, role, policy, tag, and membership editing workflows and tighten their storage-side validation.
Changed¶
- Canonicalize execution-context selectors, audit outcomes, Portal collaborator/quota requests, Manager migration requests, and S3 Connection RGW identity fields. The bundled frontend and backend are updated together and no legacy application-API compatibility aliases are retained.
- Split bucket integrity, purge, and usage-statistics request contracts by workspace surface: Manager and Ceph Admin accept bucket-name collections, while Storage Ops accepts explicit execution-context targets.
- Keep persistent settings editors mounted after save, clarify feature inheritance and locked controls, and align Admin, Manager, Browser, Portal, Ceph Admin, and demo UI contracts with the current backend.
- Require
APP_SETTINGS_PATHbootstrap JSON to use the current canonicalAppSettingsschema instead of converting removed legacy fields at runtime. - Rename the production-readiness command to
python -m app.scripts.check_production_readinessand remove the formercheck_production_hardeningcompatibility module.
Fixed¶
- Stop returning RGW secret keys from Ceph Admin user access-key list/detail responses; newly created keys still return their secret once through the dedicated one-time creation response.
- Reject mutations of BucketReef-managed IAM resources before remote calls and prevent outbound health/OIDC probes from following unsafe redirects or bypassing validated targets.
- Correct tenant-aware RGW account/user operations, pre-tenant migration compatibility, ambiguous identity collisions, missing-user cleanup, and Ceph Admin parameter handling.
- Preserve requested bucket-migration pause state, verify Manager IAM role-tag mutations, stabilize feature-policy rollout and audit coverage, and align Ceph functional qualification with current feature settings.
- Repair shared workspace navigation, dashboard icons, localized UI contracts, demo isolation checks, and assorted Admin/Browser/Manager functional QA regressions.
Upgrade notes¶
- Apply the normal Alembic upgrade path before running the matching backend. Migrations
0148through0158add feature policies, Manager activity history, execution-context audit fields, project usage overrides, RGW tenant metadata, bucket composition collection policy, canonical Portal/audit data, and canonical S3 Connection RGW identity fields. - Deploy the backend and bundled frontend from the same release. Internal application routes now use the canonical execution-context, audit-status, Portal request, migration, bucket-operation, and Ceph Admin key-read contracts described above; these coordinated application API changes are not treated as release-breaking external contracts.
- Breaking change:
APP_SETTINGS_PATHno longer converts removed legacy settings fields. Bootstrap JSON must already use the currentAppSettingsschema. - Breaking change: operational checks must use
python -m app.scripts.check_production_readiness; the formercheck_production_hardeningmodule has been removed.
0.2.15¶
Compare v0.2.14 → v0.2.15: GitHub
Added¶
- Add optional Manager access-key metadata and expiration controls for account/IAM and S3-user keys, enabled globally by default on fresh deployments while retaining explicit per-resource opt-ins and scheduled expiration enforcement.
- Add French, German, and Chinese localization across the Manager workspace.
- Complete locale-aware Browser coverage and integrate the contributor i18n foundation across authentication, errors, navigation, and responsive shell controls.
- Add a configurable documentation base URL for workspace links and validate S3/IAM resource names consistently before creation.
Changed¶
- Remove the retired
BUCKET_MIGRATION_WEBHOOK_*runtime aliases. Configure webhook delivery exclusively with the canonicalWEBHOOK_*variables; Compose and Helm defaults now use the canonical names. - Remove the unused
endpoint_configuredandstorage_access_configuredfields from the Admin onboarding status API; the bundled frontend usescompleteand journeys for setup state. - Remove the retired
/admin/api-tokensfrontend redirect and the unused standalone API-token page mode. Superadmins manage API tokens exclusively from the shared profile API-token tab. - Remove the retired Browser transfer IndexedDB cleanup hook; current Browser code no longer reads, opens, or deletes the obsolete
bucketreef-browser-transfers-v1database. - Reorganize Manager bucket detail navigation, return structured conflicts for bucket deletion, and simplify API error handling across Manager, Admin, and Ceph Admin surfaces.
- Tighten typed service boundaries for storage endpoints, endpoint identities, key rotation, migrations, account capabilities, and execution targets.
Fixed¶
- Avoid repeating the OIDC callback when changing locale and preserve translated shell controls on narrow screens.
- Preserve Browser bucket and object operations for plain S3 account contexts.
- Scope Ceph Admin account bucket metrics defensively and purge functional-test buckets through Ceph Admin cleanup paths.
- Correct Manager functional UX/localization details, including French timezone wording.
- Restore the scheduler runtime dependency required by maintenance jobs and rebuild Supercronic with the patched Go toolchain used by the release image.
Upgrade notes¶
- Apply the normal Alembic upgrade path. Migrations
0145_manager_access_key_metadataand0146_manager_access_key_expirationadd the optional Manager access-key metadata/expiration state; existing account and S3-user opt-ins remain disabled until explicitly enabled. - Migration
0147_remove_legacy_ceph_admin_system_compatremoves the retired Ceph Admin system-user compatibility flag and marks affected legacy Ceph Admin identities as missing so they are revalidated through the current credential contract.
0.2.14¶
Compare v0.2.13 → v0.2.14: GitHub
Added¶
- Add dedicated Runtime Read Ops and Supervision service identities for Ceph RGW endpoints, with explicit validation, provisioning state, rotation recovery, and signed S3 health probes.
- Add cached Admin dashboard metrics collected through supervision credentials, plus clearer endpoint identity health and recovery feedback.
- Split the documentation into audience-specific Admin, Manager, Portal, Browser, and Developer guides, including a French Portal guide and contextual documentation links from application workspaces.
Changed¶
-
Restore manually supplied Ceph Admin credentials in endpoint settings and onboarding; remove the activation dialog and automatic Ceph Admin provisioning/rotation.
-
Simplify endpoint Credentials: keep Admin Ops hardening in documentation, fold creation commands for configured identities, and distinguish saved identity state from mode changes.
-
Show service identity retries only when needed, block retries of unsaved endpoint configuration, and report retry failures inside the editor.
-
Manage Runtime and Supervision as durable Ceph endpoint identities, provisioning and using only the identities required by the selected features.
- Detect Usage exclusively with Supervision, including after managed onboarding provisioning, without requiring Usage capabilities on Admin Ops.
-
Recommend complete provisioning/quota Admin Ops permissions for normal setup and place reduced permissions under advanced hardening guidance.
-
Validate the complete ENV endpoint inventory before synchronization and use the same external Runtime credential requirements as the endpoint API.
- Remove the misleading
commitargument from endpoint creation; registration persists a durable endpoint before reconciling RGW identities. - Detect untracked S3, Swift and temporary URL keys on managed endpoint identities, block their mutations, and report auditable drift without exposing key material.
- Simplify Portal external-tool configuration and Manager/Admin dashboards while keeping workspace-specific permissions and execution contexts explicit.
Fixed¶
- Preserve legacy and externally managed Ceph Admin credentials across the
0.2.13upgrade path, including endpoints that expose only dedicated Ceph Admin credentials. - Namespace automatically generated RGW user identifiers and preserve uniqueness for externally provisioned Portal IAM users.
- Protect Helm deployments from slow backend startup and refresh frontend base-image security packages.
- Restore full regression validation and scheduled secret-scan baselines in CI.
- Make ARM64 release installation smokes tolerate emulated probe startup latency without weakening normal deployment healthcheck defaults, and retain service logs on smoke failures.
- Verify the complete GitHub/GitLab release index before and after stable publication, including latest pointers, and fetch remote tags explicitly before generating release compare links.
Upgrade notes¶
-
Breaking change: Ceph Admin credentials are now operator-managed external pairs. Upgrades from
0.2.13preserve complete stored Ceph Admin credentials and RGW users, then revalidate the pair after migration; pending managed rotations and managed-only metadata are discarded. Per-endpoint Ceph Admin authorization is intentionally reset to disabled during migration and must be explicitly re-enabled after validating the preserved credentials. Re-enter keys only when the stored pair is incomplete or invalid. -
Breaking change: upgrades from
0.2.13create a Runtime Read Ops identity inexternal/missingstate for every existing Ceph endpoint because0.2.13had no dedicated Runtime credentials. Configure Runtime with exactlyaccounts=read;user-info-without-keys=read;buckets=readand no admin/system flag when Admin/Accounts is enabled; Admin Ops is not used as a fallback for those reads. Existing Supervision credentials are preserved as external and must validate with exactlyusage=read;buckets=readand no admin/system flag when Metrics, Usage, or signed S3 healthchecks are enabled. Ceph Admin-only endpoints require neither Runtime nor Supervision. Existing managed endpoints that require Supervision need Admin Opsusers=writefor provisioning. -
Breaking change: administered Ceph endpoints configured through
ENV_STORAGE_ENDPOINTSin external mode must supply complete Runtime and/or Supervision pairs for the enabled features. Unused pairs may remain empty, while partial pairs and incomplete inventories prevent startup. - Breaking change: managed Runtime and Supervision rotation requires deletion of the previous key. Disable-only rotation is refused for these identities. Remove previously disabled or manually added keys externally, then retry identity configuration; pending revocations are never announced as successful while unexpected keys remain.
0.2.13¶
Compare v0.2.12 → v0.2.13: GitHub
Added¶
- Added a configurable numeric prefix for automatically generated Ceph RGW account IDs, with a default of
80while preserving Ceph's required identifier format.
Changed¶
- Moved personal API token management into the shared user profile for administrators, with a redirect from the previous Admin settings route.
- Consolidated Admin platform-access tabs and effective-access investigation into the dedicated access audit, with contextual Review access links and UI Group provenance filtering.
- Namespaced BucketReef-managed Portal IAM resources, generated Storage Space buckets, lifecycle IDs, policy Sids, migration probes, onboarding sample names, and RGW account-root key names under the canonical
bkr-/BucketReefcontracts.
Fixed¶
- Allowed empty private Portal Storage Spaces to be deleted without listing their contents through a technical principal, while preserving non-empty buckets and handling deletion races explicitly.
- Recognized empty Ceph RGW usage maps as zero usage and recovered concurrent creation of BucketReef-managed Portal IAM groups through bounded ownership checks.
- Preserved Storage Ops execution-context fields when enriching bucket feature columns.
- Aligned demo access-review data, endpoint geolocation, theme readability, endpoint-health columns, and production-readiness descriptions with the application.
- Kept the release documentation synchronized with the changelog and corrected S3 Connection validation test routing.
- Invalidated cached backend OS upgrades when Debian publishes security updates, ensuring newly fixed PCRE2 and OpenSSL packages are included in release images.
Upgrade notes¶
- Breaking change: previous implicit BucketReef-managed storage resource names are not migrated, aliased, or adopted automatically. Recreate pre-cutover Portal IAM resources deliberately before using the new naming contract. Foreign lifecycle rules and bucket-policy statements remain preserved.
- Apply the normal Alembic upgrade path. This patch adds no database migration or schema baseline and keeps the unified
bucketreef-deploybundle introduced in 0.2.12.
0.2.12¶
Compare v0.2.11 → v0.2.12: GitHub
Changed¶
- Replaced the separate Compose and QuickStart release archives with one deterministic
bucketreef-deploybundle shared by both installation paths. - Standardized distributed and source Compose filenames on
compose.yamland made the scheduler part of the normal full deployment. - Simplified QuickStart around the normal
bucketreefCompose project,.env, and~/.local/share/bucketreefinstallation directory. - Split release qualification into independent AMD64/ARM64 QuickStart and manual Compose smoke tests consuming the exact same candidate bundle.
- Namespaced BucketReef-managed Portal IAM resources, generated Storage Space buckets, lifecycle IDs, policy Sids, migration probes, onboarding sample names, and RGW account-root key names under the canonical
bkr-/BucketReefcontracts.
Upgrade notes¶
- Breaking change: the separate
bucketreef-composeandbucketreef-quickstartrelease bundles have been replaced by the singlebucketreef-deploybundle. Legacy QuickStart installations, project names, volumes, environment files, and previous bundle layouts are not migrated automatically. - Breaking change: previous implicit BucketReef-managed storage resource names are not migrated, aliased, or adopted by runtime compatibility logic. Recreate pre-cutover Portal IAM resources deliberately before using the new
bkr-naming contract; old lifecycle IDs and generic Portal policy Sids are preserved as foreign configuration. User-created/imported resources and the<RGW_ACCOUNT_ID>-adminroot-user contract are unchanged. - Existing older GitHub releases remain available with their original assets. Install 0.2.12 as a new deployment or deliberately preserve and reconfigure any data you want to carry forward.
Tests¶
- Release tests verify deterministic packaging, SHA-256 integrity, immutable publication/recovery, and exact candidate bytes across both installation paths.
- QuickStart and Compose qualification independently cover bootstrap, scheduler health, restart persistence, and the exact AMD64/ARM64 images selected by the qualified multi-architecture manifests.
0.2.11¶
Compare v0.2.10 → v0.2.11: GitHub
Changed¶
- Simplified Browser favorites, path navigation and Storage Space labels while preserving the current execution context and S3 permissions.
- Aligned Admin RGW editors and account/group/user association pickers with their role columns and shared layouts.
- Enabled standalone Browser access for Portal projects by default on fresh installations; explicit global settings and account overrides remain authoritative.
- Automated releases on protected main version increases, with complete qualification and anonymous candidate installation tests before any stable promotion.
Fixed¶
- Preserved primary-link contrast in dark mode.
- Kept sequential migration cleanup and its lease checks on the same database-session thread, preventing intermittent source-cleanup failures.
- Preserved complete merged Git history during secret detection and verified the exact scanned commit set before and after analysis.
- Prevented failed ARM64 installation checks from reserving immutable stable image, bundle or chart versions.
- Added durable release evidence and idempotent recovery of partial registry/forge publication using the exact tested artifacts and original application commit.
- Replaced CI edits to Compose archives with explicit healthcheck settings and bounded QEMU startup/test budgets, retaining secret-free diagnostics before cleanup.
Upgrade notes¶
- Apply the normal Alembic upgrade path; this patch introduces no database migration or schema baseline.
- The four public download assets and their URLs remain unchanged. Compose keeps its existing default healthcheck budget of 24 attempts; advanced deployments can set
BUCKETREEF_HEALTHCHECK_RETRIESexplicitly.
Tests¶
- Added automatic-trigger, graph, mandatory-gate, architecture identity, candidate-byte integrity, interrupted-promotion, cross-forge recovery and immutable-conflict coverage.
- Release qualification covers application, Ceph, security and both image architectures; candidate installation checks cover QuickStart, Compose/scheduler, Kind onboarding and Helm upgrade before stable publication and demo deployment.
0.2.10¶
Compare v0.2.9 → v0.2.10: GitHub
Added¶
- Added a persistent static demo with mocked Admin, Manager, Portal, Browser, and Ceph Admin workspaces plus Cloudflare Pages publication support.
- Added delegated Portal collaborator management with explicit role selection and role-change request handling.
- Added a guarded Manager bucket-migration workflow with preparation checks, resumable execution, maintenance operations, and dedicated audit/webhook events.
- Added synchronized personal Browser path favorites and an application-version indicator in the UI.
Changed¶
- Simplified Browser navigation and transfer workflows around the stable S3 operations while preserving explicit multipart management, folder/ZIP downloads, object previews, version downloads, deep links, and contextual CORS guidance.
- Improved workspace routing, contextual error pages, shared/private execution-context labelling, and responsive Storage Ops bucket presentation.
- Extended the demo and frontend CI coverage for multi-step workspace flows and public demo publication.
Fixed/Security¶
- Propagated logout across tabs, clarified authentication failures, added secret-visibility controls, and enforced inherited privileged-workspace access consistently.
- Revalidated onboarding credentials on retry, avoided sample-account collisions, cleaned Portal IAM state during account deletion, and corrected Ceph Admin RGW user modification semantics.
- Fixed large proxied uploads, exact-version downloads, archive stream cleanup, empty or invalid bulk actions, lifecycle/access JSON validation, and compatibility with legacy botocore checksum configuration.
Upgrade notes¶
- Apply the normal Alembic upgrade path. Migrations
0133_portal_role_change_requestthrough0137_browser_path_favoritesadd Portal collaborator delegation, Browser favorites, and the revised bucket-migration workflow. - Before upgrading, finish or stop any active bucket migration and verify that migration-applied target protections have been restored; migration
0135_bucket_migration_workflowintentionally refuses to proceed otherwise. - This patch release does not create a new schema baseline.
Tests¶
- Added cross-surface UI validation and focused Browser/migration retests covering authentication, workspace access, Portal delegation, Manager migrations, object/version downloads, favorites, uploads, and responsive behavior.
- Release qualification validates the exact prepared SHA across the mandatory application suite, Ceph checks, multi-architecture images and scans, Helm/Compose contracts, Kind onboarding, and public release bundles before finalization.
0.2.9¶
Compare v0.2.8 → v0.2.9: GitHub
Added¶
- Added durable Admin webhook endpoints with event subscriptions, signed delivery, retry tracking, delivery history, and migration-callback integration.
- Added an Admin effective-access audit to explain direct and group-derived rights across storage targets.
- Added guided JSON editors and context-aware autocomplete for advanced bucket configuration workflows.
Changed¶
- Redesigned Manager and Ceph Admin bucket configuration cards around compact summaries and focused editing dialogs while preserving existing S3 behavior.
- Consolidated backend domain-error handling, association validation, identity resolution, statistics, billing, health, and storage-service contracts to remove redundant compatibility paths.
- Updated release publication so stable tags and releases are created only after the exact qualified distribution, public images, Helm chart, bundles, scans, and smoke tests are ready.
Fixed/Security¶
- Enforced split-deployment runtime-surface boundaries and removed remaining hardening compatibility fallbacks.
- Fixed lifecycle-rule scope preservation, multi-backend webhook dispatch isolation, and several typed upstream/resource-not-found error paths.
- Aligned frontend tests with the redesigned bucket configuration UX and fixed release secret-fixture resolution from the repository root.
Upgrade notes¶
- Apply the normal Alembic upgrade path. Migrations
0130_canonical_admin_passkey_policy,0131_canonical_onboarding_journeys, and0132_webhook_endpointspreserve the Admin passkey policy, migrate legacy onboarding completion state, and add durable webhook storage. - This patch release does not create a new schema baseline.
Tests¶
- Expanded backend and frontend coverage for webhooks, effective-access auditing, guided settings editors, bucket configuration, runtime-surface security, migration compatibility, and release publication.
- Release qualification validates the exact prepared SHA across the mandatory application suite, Ceph checks, multi-architecture images and scans, Helm/Compose contracts, Kind onboarding, and public release bundles before finalization.
0.2.8¶
Compare v0.2.7 → v0.2.8: GitHub
Changed¶
- Refactored Manager bucket feature editors and layouts while preserving existing S3 and IAM workflows.
- Unified frontend controls, drawers, action states, and compact interactions across application surfaces.
- Improved usage statistics actions and cancellation feedback for long running operations.
Fixed/Security¶
- Completed production hardening checks and aligned deployment documentation with the current security model.
- Improved bucket comparison and browser operation feedback consistency.
Upgrade notes¶
- Apply the normal Alembic upgrade path; this patch release does not introduce a new schema baseline.
Tests¶
- Expanded frontend component and workflow validation for shared controls, bucket configuration, and operational actions.
0.2.7¶
Compare v0.2.6 → v0.2.7: GitHub
Added¶
- Added split Admin and user deployment profiles for Compose and Helm, plus a Ceph Admin high-security profile with a deliberately reduced runtime surface.
- Added Admin Production Readiness diagnostics, a reusable hardening checker, and operator documentation for security and deployment checks.
- Added shared multi-origin authentication support for split deployments, including OIDC login-state binding to the selected public redirect origin.
Changed¶
- Refactored Manager bucket configuration features into dedicated views while preserving the existing S3 and IAM behavior.
- Hardened release qualification so prepared version metadata triggers a complete qualification and
release-preflightverifies release credentials, synchronized GitHub/GitLabmainrefs, changelog/schema metadata, and public distribution prerequisites before tagging. - Added an idempotent release-tag workflow that verifies the qualified
mainSHA and publishes the immutable tag to GitHub first and GitLab second.
Fixed/Security¶
- Strengthened Admin privilege-boundary checks, production security evaluation, and validation of Portal IAM policy documents and storage-endpoint configuration.
- Deferred mandatory administrator passkey enforcement until production readiness while retaining explicit readiness diagnostics for deployments that require the stronger policy.
- Centralized deployment checks so startup-blocking failures and operator-visible readiness findings use the same evaluated security contracts.
Upgrade notes¶
- Apply the normal Alembic upgrade path; migration
0129_oidc_login_state_redirect_uriadds the public redirect URI to OIDC login state for multi-origin deployments. - This patch release does not create a new schema baseline. Existing single-instance deployments may keep their current surface profile; the split and Ceph Admin high-security profiles are opt-in deployment choices.
Tests¶
- Expanded runtime-surface, production-readiness, authentication, deployment-profile, Manager bucket feature, release-preflight, tagging, distribution, Compose, Helm, and documentation coverage.
- Release qualification validates the exact prepared SHA across the full autonomous suite, mandatory Ceph checks, multi-architecture images and scans, runtime/Kind checks, and public release prerequisites before publication.
0.2.6¶
Compare v0.2.5 → v0.2.6: GitHub
Added¶
- Added a guided, resumable administrator onboarding flow with live endpoint capability and credential validation, explicit workspace access choices, and a review step before applying storage configuration.
- Added Portal project-setting change requests so delegated managers can request administrator-owned configuration changes without widening their platform permissions.
- Added explicit project controls for Portal-user external sharing and published the confirmed historical release index and release notes.
Changed¶
- Simplified Portal navigation, storage-health summaries, Manager bucket feature workflows, profile connection tables, and shared top-bar controls.
- Canonicalized backend S3 account, user, endpoint, IAM, quota, billing, monitoring, topic, and onboarding identity resolution to remove redundant compatibility paths.
- Strengthened release qualification so final distribution reuses the exact tested multi-architecture images, scan receipts, chart, bundles, and public release artifacts for the qualified commit.
Fixed/Security¶
- Preserved literal S3 object keys, prefixes, folder segments, version identities, and tag pairs across Browser, Portal, Manager, copy, multipart, deleted-object, and bucket-configuration workflows.
- Made SQLite schema upgrades safe with foreign-key enforcement, including recovery from interrupted Alembic batch-table rebuilds.
- Hardened RGW account-name validation, endpoint credential feedback, onboarding audit transitions, private-connection and association-role validation, and protection of unsaved configuration drafts.
- Started scheduled operational jobs in QuickStart by default and fixed multi-architecture CI digest handling plus narrowly reviewed historical secret-scan fixtures.
Breaking changes¶
- The Admin onboarding draft/apply API now uses the version-2 contract; the former onboarding verify/attest endpoints were removed.
- The root
/profilefrontend alias was removed. Use the workspace-specific/<workspace>/profileroute.
Upgrade notes¶
- Apply the normal Alembic upgrade path; this release includes the Portal setting-change request migration and does not create a new schema baseline because
0.2.6is a patch release. - Clients or automation using the Admin onboarding API must migrate to the version-2 draft/apply contract before upgrading.
- Update bookmarks or integrations that still use
/profileto the workspace-scoped profile route.
Tests¶
- Expanded onboarding, Portal authorization/settings, endpoint, migration, literal-S3-identity, Browser/Manager configuration, QuickStart, CI, release-distribution, and documentation coverage.
- CI qualification validates AMD64 and ARM64 images, runtime checks, vulnerability scans, immutable digests, Ceph integration, Kind, release bundles, and Helm distribution before publication.
0.2.5¶
Compare v0.2.4 → v0.2.5: GitHub
Added¶
- Added standalone QuickStart and Compose release bundles with SHA-256 checksums, version-pinned GHCR images, and an installer available at
https://bucketreef.ksperis.com/quickstart.sh. - Added AMD64 and ARM64 image builds, architecture-specific runtime checks, vulnerability reports and SBOMs, plus a public OCI Helm chart at
oci://ghcr.io/ksperis/charts/bucketreef. - Added automatic GitHub and GitLab releases sourced from this changelog, previous-version comparison links, and reproducible schema-reference snapshots for future
0.X.1versions. This patch creates no schema baseline. - Added Simplified Chinese translations for Portal and profile workflows.
Changed¶
- Moved release deployments into
deploy/; the root Compose now builds from source. The standalone QuickStart preserves its installed version, secrets and SQLite data across restarts. - Unified Browser and Manager operation dialogs, bucket creation, rule inspection, IAM and SNS forms, and Portal history, invitation and external-tool workflows.
- Aligned Manager and Portal dashboard card heights and simplified the documentation theme. Documentation is now published through Cloudflare Pages.
Fixed/Security¶
- Preserved literal object keys, version identifiers and tag values throughout bucket migrations and comparisons.
- Refused QuickStart key generation when an existing volume lacks its matching environment, retained verified backups before reset, and protected installed keys and ports from unrelated shell variables.
- Diagnosed read-only SQLite startup failures without incorrectly reporting database corruption.
- Kept Ceph functional-test WebAuthn sessions recent and restored full Git history for strict documentation builds.
Upgrade notes¶
- The root
quickstartanddocker-compose.build.ymlfiles have been removed. Developers usedocker compose buildanddocker compose up --build; release users use QuickStart, the Compose bundle or the versioned OCI chart. - Before migrating a source-checkout QuickStart, stop and back up its database and matching environment. Install with
--version 0.2.5 --no-start, copy.env.quickstartwith mode0600, and retain the existingbucketreef-quickstartproject and volume. Follow the migration guide; do not run reset during migration. - Helm chart versions now follow the application version and images default to
appVersion. This is the first OCI/bundle release; historical0.2.4artifacts are unchanged. - No new database migration or baseline is introduced. Empty databases still use the current schema followed by
alembic stamp head; existing databases retain their normal Alembic upgrade path.
Tests¶
- Expanded installer, deployment, immutable-publication, changelog, schema-baseline and release-preparation coverage, including interrupted downloads/uploads and version-preserving retries.
- Added release gates for both image architectures, standalone bundle startup, Helm installation and upgrade, and anonymous chart download.
0.2.4¶
Compare v0.2.3 → v0.2.4: GitHub
Added¶
- Added protected profile and settings drafts, recovery-code handoff outside the authenticated shell, and shared avatar, language, and notification editing for personal and Admin workflows.
- Added compact shared controls for settings, identity, S3 connection, RGW, IAM, bucket comparison, maintenance, inventory, and one-time-secret workflows.
Changed¶
- Standardized compact dashboards, tables, filters, action menus, forms, dialogs, and responsive layouts across Admin, Manager, Ceph Admin, Portal, Browser, and Storage Ops.
- Routed long-running Manager bucket operations through resolved execution contexts and added migration
0124_canonical_manager_usage_scopesto canonicalize persisted usage-snapshot scopes. - Separated Ceph Admin bucket snapshots from response paging and consolidated cache, credential, tool-grant, and execution-context resolution contracts.
Fixed/Security¶
- Preserved exact S3 object keys and literal prefixes across Browser reads, navigation, version listings, comparisons, and remediation without trimming valid whitespace or empty slash segments.
- Made cache invalidation race-safe, rejected incomplete endpoint and STS credentials, bounded credential caches and eager reads, and closed download bodies and long-running S3 clients on every exit.
- Preserved partial deletion outcomes, unsaved frontend edits, exact quota limits, narrow-list actions, profile navigation, and responsive dialog access.
Breaking changes¶
- Object-column requests now require nonempty keys and columns, and exact version listings reject an empty key with HTTP 422. Omit the key to list by prefix; whitespace-only object keys remain valid.
- The frontend
/admin/accountsalias has been removed. Update bookmarks to/admin/s3-accounts; backend endpoints under/api/admin/accountsare unchanged. - Former
/portal/storage-spaces/:spaceId/objects/*frontend URLs are no longer translated. Use/portal/storage-spaces/:spaceIdwith theobjectandobject_viewquery parameters; backend object APIs are unchanged.
Tests¶
- Expanded backend coverage for exact-key handling, execution-context attribution, migrations, deletion results, resource cleanup, cache concurrency, STS credentials, and Ceph Admin listings.
- Expanded frontend, browser, accessibility, documentation-screenshot, responsive-layout, protected-draft, settings, navigation, and shared-component validation.
0.2.3¶
Compare v0.2.2 → v0.2.3: GitHub
Added¶
- Added authorized Admin navigation badges for pending identity and Portal access requests.
- Added scoped notifications for identity requests, endpoint health transitions, and quota alerts, with user deletion controls and daily 90-day retention scheduling.
- Added shared responsive detail drawers for Browser and Portal objects, paths, and bucket settings while preserving URL-backed Portal views.
Changed¶
- Split RGW, authentication, Ceph Admin, Manager, Portal, Browser, bucket configuration, migration, and persisted-key rotation internals into narrower service and transport contracts.
- Refined Browser row density, content-type badges, selection, navigation, overflow actions, and contextual details across desktop and mobile layouts.
- Prioritized quota status on the Manager dashboard and made individual bucket quota controls depend on the Ceph Admin Ops
buckets=writecapability.
Fixed/Security¶
- Kept direct signed transfers available when Portal identities cannot inspect bucket CORS, excluded
Content-Typefrom presigned upload signatures, and required exposedETagheaders for multipart uploads. - Preserved S3 provider error details for multipart failures and verified Browser uploads against Ceph RGW.
- Limited recent WebAuthn step-up prompts to sensitive Admin mutations while retaining session checks, retry protection, and defensive factor revocation.
Breaking changes¶
- Removed the retired
POST /api/admin/automation/applyendpoint and its generic Admin Automation request and response contracts. - Removed redundant mutation endpoints for Admin registration, account unlinking, and standalone private-connection credential rotation; use the documented bootstrap and canonical update/delete workflows instead.
- Removed unused multipart-part listing, non-paginated Portal access-log, Portal request-detail, and Ceph endpoint-info read routes; clients must use the canonical paginated or provider-specific alternatives.
Tests¶
- Expanded backend, frontend, deployment, notification, CORS, multipart, authorization, responsive drawer, API-removal, and documentation contract coverage.
- Retained CI validation for immutable SHA images, vulnerability and secret scans, Helm/Kind smoke tests, and the advisory Ceph functional suite.
0.2.2¶
Compare v0.2.1 → v0.2.2: GitHub
Added¶
- Added an Admin Identity Security workspace for policy management, user-factor administration, active-session visibility, and guided last-passkey recovery.
- Added a global control for managed private S3 provisioning and an authenticated Admin/Browser harness for repeatable agent UI smoke tests.
- Added canonical full-name identity listings, richer session-type summaries, and primary-action navigation from shared data-table rows.
Changed¶
- Split account access into independent Manager administrator and Portal roles across direct and group associations, execution contexts, automations, and Portal IAM synchronization.
- Hardened Compose and Helm workloads with fixed non-root identities, read-only root filesystems, a dedicated scheduler image, explicit resources, and fail-closed NetworkPolicies.
- Consolidated Portal models, bucket listings and comparisons, RGW parsing, Admin associations, streaming APIs, and shared frontend state into narrower reusable contracts.
Fixed/Security¶
- Required explicit trusted-proxy CIDRs in production and prevented untrusted forwarded addresses from selecting rate-limit identities.
- Restricted user-controlled S3 endpoints and migration webhooks to configured host allowlists, sanitized external error logging, and prevented API tokens from exporting temporary STS credentials.
- Made bucket UI-tag cleanup transactional, made partial SQLite role migration recoverable, and stabilized Ceph listings, Browser selection, Manager row navigation, modal sizing, and table action columns.
Breaking changes¶
- Migration
0122_split_account_access_rolesreplaces associationroleand root flags withmanager_roleandportal_role. Deploy the migration, backend, frontend, and automation clients together; legacy role fields are rejected. - Rootless images use fixed identities, the frontend container listens on port
8080, and existing root-owned backend volume files may require a one-time ownership migration to UID/GID10001:10001after backup. - Helm's strict NetworkPolicy profile now requires ingress/DNS selectors, explicit egress rules, and
backend.trustedProxyCidrs; production startup rejects an empty trusted-proxy boundary. - Production user-supplied S3 endpoints and migration webhooks now fail closed unless their hosts are covered by
USER_SUPPLIED_S3_ENDPOINT_ALLOWED_HOSTSandBUCKET_MIGRATION_WEBHOOK_ALLOWED_HOSTS.
Tests¶
- Expanded backend, frontend, migration, deployment-security, Helm, Compose, authenticated browser, and contract coverage for the new identity and access model.
- Retained CI validation for project naming, vulnerability and secret scans, immutable SHA images, rootless runtime smoke tests, and the advisory Ceph functional suite.
0.2.1¶
Compare v0.2.0 → v0.2.1: GitHub
Added¶
- Added a secure first-administrator bootstrap flow with a short-lived setup URL, passkey enrollment, and a console-only fallback.
- Added persistent, scalable bucket UI tags with shared settings, accessible colors, visibility controls, bulk workflows, and listing integration across Ceph Admin and Storage Ops.
- Added in-session WebAuthn step-up and a Portal external-links tab for Storage Spaces.
Changed¶
- Unified BucketReef branding, responsive density, bucket workbench filters, bulk actions, selection, navigation, and configuration workflows across the frontend.
- Canonicalized Storage Endpoint features, providers, URLs, and admin overrides through migrations
0115to0118. - Made Admin S3 connection credentials, user links, and remediation updates atomic through the canonical update contract.
- Consolidated backend routers, services, execution contexts, listings, Portal orchestration, migrations, and audit boundaries to remove duplicated runtime paths.
Fixed/Security¶
- Ensured object previews always open, public links include their domain, and WebAuthn profile challenges are classified consistently.
- Improved fresh-database bootstrap and bucket UI tag performance while preserving scoped cleanup and assignment isolation.
- Hardened first-admin creation, private connection deletion, IAM removals, bucket configuration removal, and destructive migration confirmations.
Breaking changes¶
- Removed automatic
SEED_SUPER_ADMIN_*startup seeding. New deployments must issue a one-time bootstrap URL or use the first-admin CLI. - Storage Endpoint inputs must use canonical
featuresandhealthcheck_urlfields;admin_endpointis removed, and migration0118rejects empty or canonically colliding URLs. - Removed dedicated Admin S3 connection credentials, user-link, and remediation routes. Clients must send
credentials,user_ids, andremediation_actionthrough the canonical update endpoint. - Bucket UI tag definition names are globally unique case-insensitively; catalogue responses no longer embed assignments, and orphan-inventory routes are removed.
- Execution-context catalogues no longer expose the unused quota and entity-limit fields.
Tests¶
- Expanded backend, frontend, migration, OpenAPI, audit, accessibility, browser E2E, quickstart, Helm, Kind, Compose, and strict documentation validation.
- Stabilized asynchronous frontend actions and CI startup for PostgreSQL, Ceph, and Docker-in-Docker Kind validation.
0.2.0¶
Compare v0.1.11 → v0.2.0: GitHub
Added¶
- Added a dedicated BucketReef upgrade runbook covering backups, key preservation, storage identities, Portal logs, Compose data, and Helm releases.
- Added CI naming enforcement for tracked paths and contents, with documented exemptions for the upgrade mapping and historical audit evidence.
- Added Helm lint and template validation to the CI test stage.
Changed¶
- Adopted
BucketReef - S3-compatible object storage managementacross the UI, API metadata, documentation, packages, repositories, images, Compose, and Helm contracts. - Replaced the withdrawn pre-release branding and artifacts before republishing
v0.2.0. - Renamed JWT, browser coordination, scheduler, temporary-file, policy SID, Ceph, IAM, and S3 identifiers to the BucketReef namespaces.
- Regenerated the 72 active documentation captures and moved the public documentation links to the BucketReef GitHub Pages path.
Breaking changes¶
- Existing UI sessions and API tokens are invalid because the JWT issuer and audiences changed; users must sign in again and API tokens must be reissued.
- Deployments must migrate to
BUCKETREEF_*variables, BucketReef image and chart names, andbkr-*managed storage identities without runtime compatibility aliases. - Compose deployments must migrate persisted data into the explicit
bucketreefproject, while Helm deployments require a newbucketreefrelease with restored or reattached data and secrets.
Tests¶
- Passed the complete backend and frontend suites, production build, package budgets, Compose rendering, naming audit, screenshot generation, visual workspace checks, and strict documentation build.
0.1.11¶
Compare v0.1.10 → v0.1.11: GitHub
Added¶
- Added anonymous LDAP directory searches with optional bind credentials and compatibility support for legacy TLS servers.
- Added unified Admin workflows for associating users, accounts, connections, and S3 identities.
- Added a consolidated Portal history experience combining activity and transfer records.
Changed¶
- Standardized page layouts, breadcrumbs, tabs, list actions, and identity editing workflows across Admin, Portal, and Browser workspaces.
- Refined Portal Storage Space indicators, traffic labels, and navigation while keeping technical identifiers available where useful.
- Protected environment-managed storage endpoint credentials from database-only key rotation.
Fixed/Security¶
- Filtered workspaces using effective access so inherited authorization is honored without exposing unauthorized workspaces.
- Propagated path-style endpoint configuration to Cyberduck bookmarks and improved compatibility with legacy LDAP TLS servers.
- Preserved initial bucket pagination and stabilized asynchronous identity listings, endpoint summaries, and related frontend interactions.
Tests¶
- Expanded frontend coverage for S3 identity workflows, effective workspace access, bucket pagination, and asynchronous Admin listings.
- Stabilized CI-facing frontend validation for delayed API responses and persisted pagination state.
0.1.10¶
Compare v0.1.9 → v0.1.10: GitHub
Added¶
- Added Portal collaboration workflows for reviewed access requests, external IAM credentials, public links, server access logging, history cleanup, and permanent Storage Space deletion.
- Added Ceph Admin operations with unified long-running bucket actions, richer endpoint health information, and routed bucket detail navigation.
- Added multi-backend coordination, identity avatars, quota notifications, and more explicit storage health signals.
Changed¶
- Made Portal Storage Space metadata and grants authoritative, with private ownership, Viewer/Editor team grants, and consistent project-manager access.
- Standardized frontend tables, forms, filters, feedback, profile settings, navigation, and responsive behavior across the application workspaces.
- Hardened storage endpoint handling and long-running operation behavior while simplifying backend compatibility paths and shared service boundaries.
Fixed/Security¶
- Restricted Portal access history to managers and refined external access, member request, and public-link cleanup behavior.
- Restored Manager bucket metrics access and improved resilience when storage endpoints or asynchronous UI data are temporarily unavailable.
- Kept Ceph functional test failures visible but advisory so intermittent lab failures no longer block immutable image builds.
Breaking changes¶
- Migration
0066_portal_storage_space_access_modelremoves legacy Portal Storage Space database and IAM state. Existing spaces must be recreated or re-imported after upgrading.
Tests¶
- Expanded backend, frontend, migration, multi-backend, Portal, Storage Ops, and Ceph Admin coverage, including functional Ceph lifecycle scenarios.
- Stabilized asynchronous frontend and Ceph-dependent validation while retaining JUnit reports and CI artifacts for advisory Ceph failures.
0.1.9¶
Compare v0.1.8 → v0.1.9: GitHub
Added¶
- Added UI group editing on storage targets and surfaced UI group access in storage listings.
- Added bucket purge workflows for Manager, Storage Ops, and Ceph Admin with streamed progress and audit-aware backend services.
- Added Browser workspace sidebar, folder navigation helpers, route/access matrices, and profile/runtime diagnostics coverage.
Changed¶
- Refactored Browser, Portal, bucket migration, router dependencies, and shared frontend primitives into smaller service and UI modules.
- Refined Portal and Manager workspace UX, dashboards, KPI wrapping, breadcrumb behavior, and localized Portal copy.
- Updated user and operations documentation, screenshot assets, feature availability pages, and safe destructive operation guidance.
Fixed/Security¶
- Restored core workspace kill switches after the settings refactor and hardened sensitive runtime error redaction.
- Improved Manager bucket deletion and purge-delete labeling while keeping empty-bucket deletion on the standard confirmation path.
- Softened Browser listing access errors and kept folder tools available behind the intended advanced-mode gates.
Tests¶
- Added backend and frontend coverage for purge routes/services, dependency facades, Portal mappers, workspace routing, shared UI controls, and CI stability.
- Stabilized Ceph Admin quota persistence, frontend interaction tests, and login page theme-provider coverage.
0.1.8¶
Compare v0.1.7 → v0.1.8: GitHub
Added¶
- Added Portal user access key management, storage-space browser access by default, dashboard usage signals, manager-aligned KPIs, and a complete usage analytics page.
- Added privileged target grants for Ceph actions, including admin configuration support and restored Storage Ops privileged bucket quota management.
- Added Manager feature-rule inventory, bucket-tag inventory, listing summaries, audit detail filters, and head-only bucket integrity checks.
- Added bucket usage analytics and deterministic bucket comparison output.
Changed¶
- Organized usage metrics pages into tabs and shared more frontend table sorting, UI access modal, theme, and browser operations layout behavior.
- Refined Portal and Manager dashboard visuals, bucket quick filters, advanced-filter panels, and UI group association summaries.
- Kept Manager bucket quota mutation out of the Manager surface while preserving privileged quota workflows through Storage Ops.
Fixed/Security¶
- Hardened backend token verification, redacted feature-inventory failures, and purged dependent operational data when deleting resources.
- Fixed Portal dark theme text colors, Portal top storage-space limits, browser queued-work panel state, browser operations action labels, and bucket column reset behavior.
- Fixed Manager dashboard data type chart color alignment, activity and incident card layout, and quiet handling of data type failures.
- Allowed UI admins to configure target grants and removed the inactive global search button.
Performance¶
- Reduced duplicate Ceph Admin bucket-listing RGW calls with shared in-flight/cache reuse.
Docs/Tests¶
- Documented Browser disablement options and updated release Helm examples for
0.1.8. - Stabilized local test suites, added Portal storage-space naming-mode coverage, prepared Ceph logging target policy setup, and aligned Ceph usage stats functional route coverage.
Historical tag alignment¶
The GitLab tag was aligned with GitHub at 39198eb4b6762f9758176b27544032aae0fbfe81 from 8080a847a2e00009810ee3aae5db81dda6982c11. Existing container images were not rebuilt or republished; this tag alignment does not establish their provenance.
0.1.7¶
Compare v0.1.6 → v0.1.7: GitHub
Historical notes reconstructed from Git history; potentially incomplete. Date source: commit date.
Changes¶
- Added managed S3 user contexts in Storage Ops and AWS endpoint presets with regional defaults.
- Added bucket integrity checks, comparison result downloads and key-copy actions, and listing-cache refresh controls.
- Refined endpoint forms, bucket configuration and replication capability checks, and expanded Ceph replication tests.
0.1.6¶
Compare v0.1.5 → v0.1.6: GitHub
Historical notes reconstructed from Git history; potentially incomplete. Date source: commit date.
Changes¶
- Hardened SQLite handling and bucket migration, and added cross-context Browser clipboard transfers.
- Added browser end-to-end tests and expanded Ceph functional coverage.
- Introduced resizable navigation panels, configurable object columns and unified object details.
- Improved quota filters, partial quota updates, RGW usage accounting and special-character object-key handling; hardened user-supplied S3 endpoints.
0.1.5¶
Compare v0.1.4 → v0.1.5: GitHub
Historical notes reconstructed from Git history; potentially incomplete. Date source: commit date.
Changes¶
- Moved validated image publication to GitLab CI and added vulnerability scans and blocking backend tests.
- Published JUnit reports, corrected frontend quality checks and improved deployment documentation.
- Fixed Admin account listings when no default endpoint is available.
0.1.4¶
Compare v0.1.3 → v0.1.4: GitHub
Historical notes reconstructed from Git history; potentially incomplete. Date source: tag date.
Changes¶
- Added billing, endpoint health checks, API tokens, Ceph Admin and Storage Ops workflows.
- Expanded bucket filtering, comparison, migration, quota monitoring and usage history; improved object search, multipart uploads and browser navigation.
- Introduced shared resource tags and refined connection, IAM and workspace controls.
- Reworked documentation and automated screenshots. Portal functionality was temporarily removed during this development period.
0.1.3¶
Compare v0.1.2 → v0.1.3: GitHub
Historical notes reconstructed from Git history; potentially incomplete. Date source: commit date.
Changes¶
- Introduced S3 Connections and a shared execution context for Manager and Browser.
- Expanded Portal management and object operations, including streaming ZIP downloads and SNS topics.
- Added onboarding and documentation, refresh-token cookies with rotation, and separate encryption-key handling with key-rotation work.
0.1.2¶
Compare v0.1.1 → v0.1.2: GitHub
Historical notes reconstructed from Git history; potentially incomplete. Date source: commit date.
Changes¶
- Reworked endpoint configuration, account and S3 user management, and user quota handling.
- Added S3 user metrics and Admin dashboard statistics; refined Browser actions and Portal refresh behavior.
- Adjusted Alembic initialization, application settings persistence and Docker image version configuration.
0.1.1¶
Compare v0.1.0 → v0.1.1: GitHub
Historical notes reconstructed from Git history; potentially incomplete. Date source: commit date.
Changes¶
- Corrected the GitHub Actions workflow used by the initial release.
0.1.0¶
Historical notes reconstructed from Git history; potentially incomplete. Date source: commit date.
Changes¶
- Initial tagged version, before the BucketReef rename.
- Added Docker Compose deployment, a Helm chart and GHCR image publication.