Skip to content

Compatibility

Can SILO replace MinIO? A user-facing index of 12 compatible improvements, 4 minor differences, and 8 changes to check when their conditions apply.

Most applications using standard S3 APIs can switch from MinIO to SILO without code changes. Common S3 APIs, SigV4, SDK integration and object storage layouts carry over. Deployment, authorization and replicated state require the checks below: SILO is a conditional drop-in replacement.

Mostly presentation, UI interaction and response information; usually no application changes.

The current release baseline is 20261026. This index covers source and companion-component changes since the fork and identifies when each repair first shipped. The component matrix records the current stack and fixes absent from older versions.

20261026 release changes

The Server 20261026 adds fixes for LDAP long-DN login, built-in policy Reset, live bucket inventory, versioned lifecycle expiration, multipart replication, and multi-pool deletion. Existing read-quorum and healing rules remain unchanged; see the component matrix for lease-loss, partial-metadata, and pre-existing inconsistency boundaries.

20261018 release

Server 20261026 retains the fixes delivered in 20261018. Upgrade checks cover Object Lock, IAM Admin authorization, ordinary LIST recovery, retirement of strict multipart listing and OIDC/JWK key limits; see Server compatibility. The strict-mode prerequisites below apply only to the optional mode in Server 20260916.

🟢 Compatible improvements: 12 categories

Normal usage needs no migration work for these capabilities. Dependencies on old bugs, mixed versions or damaged historical state are covered by the orange entries.

Category and change When it applies Impact and action Details
G01 · Full Web administration
Restores full Web management of buckets, objects, users, policies and the system.
Managing a deployment in a browser. More capable administration; ordinary S3 applications need no changes. Console features
G02 · Chinese UI and text preview
Adds English/Chinese UI and bounded, safe text preview.
Switching language or previewing text objects. Changes the Console experience, not stored object content. Languages, text preview
G03 · Per-bucket CORS
The existing CORS APIs now persist and enforce per-bucket cross-origin rules.
Browser cross-origin access with bucket CORS configured. Bucket rules override global CORS; object access still requires authorization. CORS behavior
G04 · Native health checks
Adds silo healthcheck for container and operational probes.
Choosing to use the new probe command. Existing HTTP health endpoints remain available. Command and scope
G05 · Client checksum audit
Adds mcli checksum verify to read objects and verify checksums.
Explicitly running an integrity audit. Read-only checks and reports; no object modification or repair. Audit command
G06 · Upload and copy checksums
Valid uploads, multipart completion and copies compute, retain and return checksums more accurately.
Using the affected upload or copy paths. Better SDK interoperability; invalid requests are covered by O04. Multipart uploads, S3 fixes
G07 · Encryption and compression fixes
Corrects data and logical-size handling across SSE-C, KMS, compression and copying.
Using these encryption, compression or copy combinations. Fixes new requests; existing objects are unchanged. SSE-C and old objects, federated copies
G08 · Concurrent bucket configuration
A shared metadata lock prevents concurrent bucket updates from overwriting each other.
Concurrent policy, lifecycle, encryption or other bucket updates. More reliable administration with the same calling pattern. Shared configuration lock
G09 · Tag and Object Lock replication
Replication preserves and orders tag, retention and lock state more accurately.
Replicating or healing tags and Object Lock metadata. Reduces lost state and stale-event overwrites; see O07 for mixed versions. Tag ordering, lock ordering
G10 · Pool migration and healing
Rebalance, decommission and recovery handle tags, versions and delete markers more accurately.
Moving pools, healing or recovering replication. Better metadata preservation and retries; historical anomalies still need inspection. Multi-pool consistency, replication recovery
G11 · Notifications and streaming
Fixes NATS/AMQP setting recognition and flushing of notification and Select streams.
Using those notification targets or streaming APIs. More accurate configuration and event output; see O03 for old database settings. Notification settings, stream flushing
G12 · Stability and resource cleanup
Fixes concurrent collection, buffer ownership and connection cleanup.
Concurrent I/O, metric collection or request cancellation. Prevents related crashes and resource leaks. Read buffers, runtime and metrics

🔵 Minor differences: 4 categories

Ordinary applications usually need no changes. Tools that hard-code product strings, metric meanings or response fields should still be checked.

Category and change When it applies Impact and action Details
B01 · Product identity
Banners, logs, HTTP product identity and UI labels use SILO.
Reading output or matching product names. Presentation changes; adapt name-matching scripts. Installation changes are in O01. Server identity, client output
B02 · Paginated Console listings
Object listings use cursors, with sorting, filtering and selection limited to the current page.
Browsing, filtering or selecting objects in Console. UI habits change; direct S3 application access does not. Pagination boundaries
B03 · Richer monitoring and diagnostics
Adds diagnostic metrics and corrects quota, replication counters and status meanings.
Using affected metrics, dashboards or alerts. Metric namespaces remain; review the affected displays and alert rules. Metric changes, Console metrics
B04 · Additional response fields
Some copy, multipart and Console responses include checksum or session fields.
Reading those API responses. Standard clients usually handle them; parsers rejecting unknown fields belong in O05. Multipart responses, copy responses, Console API

🟠 Conditional checks: 8 categories

If the condition applies, check the entry.

Category and change When it applies Impact and action Details
O01 · Installation and startup
Artifacts become silo / mcli; verify services, images, directories and permissions.
Migrating MinIO packages, containers, systemd or Helm. Administrators perform a deployment migration check; application code usually stays the same. Containers, packages and accounts, client configuration
O02 · Custom authorization policies
Password changes, permanent version deletion and some bucket operations use corrected authorization rules.
Custom Allow/Deny rules, object ARNs granting bucket operations, or source-IP conditions. Effective permissions may change; verify policies and proxy trust. Passwords, version deletion, bucket authorization, proxy trust
O03 · Older auth and notification settings
Legacy authentication, database notifications and some TLS/environment-file usage need adjustment or validation.
OIDC HMAC tokens, discrete legacy database settings, old proxies/TLS or unusual environment files. Login, notifications or startup may fail; migrate the relevant configuration. OIDC algorithms, database connections, TLS, environment files
O04 · Programs relying on old bugs
Validation, conditions, errors, exit codes and listing limits change on affected paths.
Expecting invalid requests to succeed, If-Match to be ignored, or more than 1,000 multipart uploads per page when opting into Server 20260916 strict mode. Check error handling, retries, pagination and final batch exit codes. Checksum errors, conditional deletion, multipart listing, CLI exit codes
O05 · Custom clients and administration tools
Private APIs, signed-header coverage, Console automation and Go package paths have changed.
Using ReadMultiple, custom signing, strict parsing, Go embedding or customized Console clients. Verify custom integrations and builds separately; ordinary S3 SDKs do not use the private storage API. Private APIs, signing, Console API, Go modules
O06 · Multi-pool operations and retired strict multipart mode
Multi-pool writes/deletes verify metadata; the optional 20260916 strict listing mode is retired.
Multi-pool conditional writes or deletion, or upgrading a deployment that enabled strict listing. Failures can return 503 while GET works. Server 20261018 and 20261026 ignore the strict switch with a warning; durable listing and strict cancellation are unavailable. Multi-pool conditions, current multipart contract
O07 · Replication, mixed versions and rollback
IAM revocations and bucket-configuration deletion state require coordinated upgrades and recovery.
Multiple sites, shared IAM, mixed versions or downgrades. Preserve a complete recovery point and verify all peers before rolling back. IAM upgrades, configuration convergence, rollback scope
O08 · Self-update and upstream online services
In-place updates, SUBNET and upstream hosted-support integrations are disabled.
Using admin update, mcli update or MinIO online support workflows. Upgrade through packages, images or orchestration; ordinary S3 access is unaffected by this change. Server updates, client updates, SUBNET

Comparison scope and release boundaries

The server comparison starts at upstream source 27742d469462, dated 2025-12-03 (after the final upstream release tag on 2025-10-15). See the Console and client pages for their separate baselines. This index covers APIs, capabilities, observable behavior and operations; one fix can affect several scenarios.

Upstream MinIO/MC compatibility is best effort. The supported, release-tested combination is SILO + SILO Console + mcli + silo-pkg. Retained protocols, environment variables and storage layouts do not guarantee arbitrary upstream mixed-version operation or downgrades. The detailed server audit retains historical baselines and individual findings; the component matrix lists published component versions across the stack.

The experimental access-frequency pool tiering that was added and later withdrawn is outside these 24 categories: it was not an upstream feature at the fork and never shipped in a public Server release: 20260903 predates it, and it was removed before 20260916. Ordinary lifecycle expiration, remote tiering, rebalance and pool decommission remain available.

For migration, select the relevant O01–O08 conditions, then follow the migration guide.

Component Versions

Released SILO 20261026, Console 2.5.1, mcli, KES and silo-pkg 3.15.2 identities and upgrade boundaries.

Password Permissions

Version boundaries and migration for the ChangeMyPassword and CreateUser policy split.

Access-Tiering Removal

Why the opt-in GET-frequency pool-tiering feature was removed and how to migrate intermediate builds that contained it.

Migrate from MinIO to Silo

A single-node migration case, consistent backups, container cutover, data verification, and recovery limits.

Silo vs. MinIO Server Compatibility

A code-verified compatibility audit of the Silo server fork: binaries, configuration, S3 and admin behavior, storage internals, packaging, containers, and Helm.

MCLI Client Compatibility Notes

Compatibility, behavior changes, installation, and the current pgsty/mc release

Native Package Migration

How the silo RPM/DEB packages differ from the minio packages: file layout, service account, takeover semantics, and caveats.

Console Compatibility Notes

Differences between SILO Console and the upstream MinIO Console

Feature Notes

Design notes for capabilities Silo adds beyond upstream MinIO — written down before they ship.