# 4.21.1 is out, deprecates Liquibase.update()

**URL:** <https://forum.liquibase.org/t/4-21-1-is-out-deprecates-liquibase-update/8087>\
**Category:** General Discussion\
**Created:** [April 18, 2023, 4:04pm UTC](https://forum.liquibase.org/t/4-21-1-is-out-deprecates-liquibase-update/8087 "2023-04-18T16:04:41Z")\
**Posts on this page:** 1\
**Showing post:** 3

<div class="post-metadata">

**Author:** ![nvoxland](https://avatars.discourse-cdn.com/v4/letter/n/87869e/32.png) [@nvoxland](https://forum.liquibase.org/u/nvoxland)\
**Post date:** [April 19, 2023, 2:20pm UTC](https://forum.liquibase.org/t/4-21-1-is-out-deprecates-liquibase-update/8087/3 "2023-04-19T14:20:21Z")

</div>

Yeah, that javadoc could be improved. “Use CommandStep” is not really even the right answer for most people. Also the versions with Writer should either be deprecated now or will be soon. We aren’t planning to actually remove the methods for a while, but still good to shift to the newer APIs when you can

The replacement for the Liquibase class in general is the `liquibase.command.CommandScope` class. [command.CommandScope - contribute.liquibase.com](https://contribute.liquibase.com/code/api/command-commandscope/) gives some more information on it. We are creating that class vs. the original Liquibase facade to be flexible enough to work with everything Liquibase can do now and is looking to do in the future. A static list of methods and arguments just wasn’t cutting it anymore.

Your new version of liquibase.update() will be more like:

```auto
   try {
            new CommandScope("update")
                    .addArgumentValue("changeLogFile", "my/changelog.xml")
                    .execute();
        } catch (CommandExecutionException e) {
            System.out.println("Error running update: "+e.getMessage());
        }

```

Nathan

---

_[View the full topic](https://forum.liquibase.org/t/4-21-1-is-out-deprecates-liquibase-update/8087)._
