• Reference
  • Version ยท 6.0
  • Change Automation Reference

legacy-stream-routing

Last updated: September 29, 2026

legacy-stream-routing restores the Liquibase 5.x behavior of writing all command output to STDOUT. Use it as a temporary compatibility measure while you update scripts and CI pipelines for the Liquibase 6.0 stream contract.

Note: This parameter is deprecated in 6.0 and will be removed in 6.2. Update your scripts to read diagnostics from STDERR before you upgrade to 6.2.

Uses and syntax

In Liquibase 6.0 and later, the CLI writes machine-readable command results (SQL, JSON, and diff output) to STDOUT, and writes the banner, progress messages, success confirmations, warnings, and errors to STDERR. Setting legacy-stream-routing to true sends all of it to STDOUT, as Liquibase 5.x did.

Syntax

Value

Property

liquibase.legacyStreamRouting

Environment variable

LIQUIBASE_LEGACY_STREAM_ROUTING

CLI argument

--legacy-stream-routing=true

Type

Boolean

Default

false

Scope

Global (applies to the whole process)

Precedence follows the standard Liquibase chain: the CLI argument wins over the environment variable, which wins over the defaults file.

CLI argument and environment variable

loading

Defaults file

liquibase.legacyStreamRouting=true

Deprecation warning

When you set the parameter to true, Liquibase writes a one-time warning to STDERR on the first message it produces:

loading

The warning appears once per run, no matter how many messages Liquibase writes.

Learn more

Note: legacy-stream-routing controls which stream each kind of output goes to. To control how much output Liquibase produces in the first place, use --verbosity or its --quiet shortcut.