Skip to content

v0.4.0

Release Date: 2026-05-03

Highlights

Root-level aggregator for batteries-included backend registration.

Added

Root Aggregator Package

A new root-level aggregator package has been added that re-exports core types and auto-registers all built-in backends:

import "github.com/plexusone/omnistorage-core"

// All backends registered: channel, dropbox, file, memory, sftp
backend, _ := omnistorage.Open("file", map[string]string{"root": "/data"})

// List registered backends
backends := omnistorage.Backends()

This provides a "batteries-included" experience for users who want all backends registered automatically without manual imports.

Benefits

  • Zero configuration - Import once, all backends available
  • Simpler imports - No need for blank imports of individual backends
  • Consistent API - Same Open() and Backends() functions as object package

Usage Patterns

Before (Selective Import)

import (
    "github.com/plexusone/omnistorage-core/object"
    _ "github.com/plexusone/omnistorage-core/object/backend/file"
    _ "github.com/plexusone/omnistorage-core/object/backend/memory"
)

backend, _ := object.Open("file", config)

After (Aggregator Import)

import "github.com/plexusone/omnistorage-core"

backend, _ := omnistorage.Open("file", config)

Documentation

  • README updated with aggregator import usage example
  • Docs updated to explain core vs umbrella package pattern

Full Changelog

See CHANGELOG.md for the complete list of changes.