fish 3.0 changes command composition and variable scope
engineeringfishshellscriptingfish 3.0 accepts familiar logical operators while retaining its own language. Changes to scope, expansion, and builtin arithmetic give existing scripts more substantial migration work.