For interpolation that uses column paths, wrap the entire column path in a pair of parens:
```shell
> $"uptime is (sys).host.uptime"
uptime is [row host cpu mem temp].host.uptime
> $"uptime is ((sys).host.uptime)"
uptime is 1day 19hr 57min 7sec
```
As part of this change, we removed the previous backtick string interpolation form.
## Environment loading (lily-mara)
In Nushell, we've worked hard to limit the amount of mutation that will happen in the system. This helps developers focus on the task at hand, and not have to think about non-local effects from the code they're running.
At the same time, we've also wanted to support virtual environment systems like `virtualenv`, `conda`, and others. Traditionally these systems updated the global environment from inside of their activate/deactivate commands.
With 0.32, we feel like we've managed to come up with a solution that meets both the Nushell philosophy of limiting mutation while also giving the freedom to port virtual environment scripts to Nushell.
We call it "environment loading". Here, rather than having commands mutate the global environment, they instead return a table of changes they'd like to apply to the environment. This table can be then loaded into the current scope, effectively separating the "what" of the update from the "when".
Let's try this by creating a table of three new environment variables we'll load:
```shell
def activate [] {
[[name, value]; [FOO, BAR] [DEBUG, TRUE] [CURRENTENV, NUSHELL]]
}
load-env (activate)
echo $nu.env.FOO
```
The changes to the environment are still scoped to the block you're inside of. In the example above, because we're at the top level, we can safely shadow the previous environment values.
## Locale improvements (fdncred)
When you have `filesize_format = "B"` set in your config.toml file you should be able to see the thousands separators based on your locale. i.e. some locales use `,` other locales use `.` and i'm not sure if there are others.
This is with the `de_DE` locale on linux: (note the number separators)