# Upgrading from 0.3.0 to 0.4.0

Some of the command configuration has changed dramatically in this release. The old `run_mode` and `chdir` config keys have been replaced by new options, `invoke`, `working_dir`, and `path_args`. The old keys have been deprecated. They will continue to work for a while but are no longer documented.

Here is what the new config looks like for all possible combinations of the `run_mode` and `chdir` keys.

    run_mode = "files"
    chdir = false

This was the default, and the equivalent defaults produce the same result:

    invoke = "per-file"
    working_dir = "root"
    path_args = "file"

    run_mode = "files"
    chdir = true

    invoke = "per-file"
    working_dir = "dir"
    path_args = "file"

    run_mode = "dirs"
    chdir = false

    invoke = "per-dir"
    working_dir = "root"
    path_args = "dir"

    run_mode = "dirs"
    chdir = true

    invoke = "per-dir"
    working_dir = "dir"
    path_args = "none"

    run_mode = "once"
    chdir = false

    invoke = "once"
    working_dir = "root"
    path_args = "dot"

    run_mode = "once"
    chdir = true

    invoke = "once"
    working_dir = "root"
    path_args = "none"

But note that the new config options allow for many other possibilities that couldn't be expressed with the old options.