fab-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Fab-user] Fabric 0.1.0 ran away from home.


From: Christian Vest Hansen
Subject: [Fab-user] Fabric 0.1.0 ran away from home.
Date: Tue, 17 Feb 2009 00:04:23 +0100

Hi all!

Ah, I know I messed up when the web site suddenly documented the
current master rather than the latest release like it used to. I just
really felt getting this tiny little change out and "fab
upload_website" was just too easy!

So! I decided that it was about time for a new release anyway, and I
suspect those of you who follow the master branch would like the
online docs, and the releases for that matter, to sync up!

Those of you who are intimately familiar with the versioning scheme I
dreamt up eons ago (I'd be surprised if this is more than two people)
will notice that this release brings *backwards incompatible changes!*
This means that if you are using Fabric 0.0.9, you will most likely
have to make changes to your fabfiles in order to keep them working!

The most important of these changes, is the introduction of the
"config" object and the retirement of the "set()" command and
function.

Basically, where you used to write:
    set(fab_spam="eggs", fab_foo="bar")

You now have to write this instead:
    config.fab_spam = "eggs"
    config.fab_foo = "bar"

And the "set" *command* has been renamed to "let".

But that's not it! Fabric 0.1.0 requires Python 2.5, so if you're on
2.4 and absolutely cannot upgrade, then this release is not for you :(

Alright, so before this turns into a Josh Jones newsletter
(exclamation mark overload), here are the changes for Fabric 0.1.0:

 * Output capturing - run ad sudo will return a tuple of what was
printed to stdout as a string, and an exit code.
 * New "@mode" decorator allows you to override the fab_mode on a
per-command basis.
 * New "@hosts" decorator allows you to control the set of hosts a
given command executes on.
 * New "@requires" decorator which work like the existing "require" function.
 * New "@depends" decorator which will make sure that the named
command is run once, and once only, prior to executing the decorated
command.
 * Fabric now prompts for a fab_hosts variable if one is needed but not defined.
 * Tweaked/improved handling of remote sudo password prompting
(password-less login'ers rejoice).
 * 'readline' love for "fab shell" though it is still crude.
 * Both commands and their failures can now be told to keep quiet.
 * "$" is now escaped in remote commands so we don't confuse bash.
 * "load" function no longer loads a fabfile that has aready been loaded.
 * Failing commands that run in "fab shell" no longer kills the session.
 * Changes to argument parsing: Command arguments without a value are
now their own value.
 * "fanout" and "rolling" fab_modes are now deprecated in favor of
"broad" and "deep," though these are not quite equivalent. Also,
unsupported fab_modes will be frowned upon.
 * Fabric now presents the complete list of connections it intends to
create prior to doing so, so you have a chance of opting out before
passwords start flying about.
 * Fabric now does a better job at figuring out your username on windows.
 * Fabric now has "something like roles".
 * "sudo" can now run as a user other than root by specifying a "user" kwarg.
 * The "fab_shell" variable can now be overwritten.
 * The special "$(var)" string interpolation can now be escaped with a
preceding backslash.
 * Fix some threading issues with the outputting from "run" and "sudo".
 * "put" now supports glob patterns.
 * Treat some types of networking errors with more elegance.
 * ... and a ton of minor bug fixes, typos, etc.


-- 
Venlig hilsen / Kind regards,
Christian Vest Hansen.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]