|
AutomateIt changes
Notifications
Subscribe to the RSS changes feed for release notifications.
Annotations
(!) breaks backwards compatibility
(%) fixes significant bug
(+) adds notable feature
Changes
-
Version
0.91104
—
released
November 11, 2009
-
-
(%) Fixed AddressManager, it now works with versions of Ruby that don't allow modifications to sets during iteration.
-
(%) Fixed PackageManager::Gem, it now works with newer versions of Open4 that may incorrectly return nil STDOUT.
-
(%) Fixed AutomateIt's test suite, it now works with newer versions of RSpec.
-
(%) Fixed PackageManager::Cpan, it now works with newer versions of CPAN when installing a package that's been uninstalled before.
-
(%) Fixed ShellManager#ln_s, it can now link a directory to a directory and understand a target symlink's relative path.
-
(+) Improved HelpfulERB, it now displays friendly errors containing filename and line number in templates, including "fields.yml" and "tags.yml", and will honor the "--trace" flag to optionally display backtraces.
-
(+) Improved DownloadManager, it will now only download if the file isn't already present, but you can override this with a :force option.
-
(+) Improved PackageManager::Gem, it can now install a specific version of a gem: `package_manager.install("rails", :with => :gem, :version => "2.3.4")`
-
Improved PackageManager::Gem, it will now clear the local Gem cache so that "require" calls can see newly-installed packages without restarting AutomateIt.
-
Version
0.80624
—
released
June 24, 2008
-
-
Fixed collision of time conversion methods when loading AutomateIt into Rails.
-
Improved documentation, reworked Rakefile, updated TODO.txt.
-
Version
0.80607
—
released
June 06, 2008
-
-
(%) Fixed ShellManager#rm and ShellManager#mv, can now remove and move invalid symlinks.
-
Improved Object#unique_methods, it now returns an array of symbols.
-
Version
0.80116
—
released
January 16, 2008
-
-
(!) Fixed bug that prevented AutomateIt from working without the Builder gem's "blankslate" library. This fix should completely eliminate AutomateIt's dependence on Builder and ActiveSupport, like 0.71230 was supposed to do. This error was missed because other gems provide a "blankslate"-workalike and thus merely uninstalling Builder wasn't enough to confirm the previous fix.
-
(+) Improved PackageManager::Gem, it can now use commands other than "gem" to manage RubyGem packages, such as "gem1.8". It now detects the best available command, but also lets you specify a default or choose one on a per-call basis. See the PackageManager::Gem documentation for examples. Comments are sought on the new syntax.
-
Improved PackageManager#_list_normalizer, it now accepts comments mid-way through a line and can parse arrays of strings.
-
Updated misc/setup_rubygems.sh, a simple shell script that downloads and install RubyGems 1.0.1, useful for bootstrapping a system to get AutomateIt running on it.
-
Version
0.71230
—
released
December 30, 2007
-
-
(!) Removed all code that relied on the ActiveSupport and Builder libraries. The new, AutomateIt-specific replacements for these libraries are guaranteed to work correctly and load much more quickly.
-
(!) Removed the "--to-xml" option from "aitag" and "aifield". If anyone relied on this functionality, post to the mailing list and I'll write a replacement.
-
(%) Fixed PlatformManager::LSB, it no longer converts OS release versions like "7.10" into "7.1".
-
(%) Fixed "aitags" with "--tags" options, it now returns a sorted array instead of a set.
-
(%) Fixed case/when statements to work with Ruby 1.9.
-
(%) Fixed TemplateManager#render, it now only runs file-related checks when rendering to a file.
-
Improved PackageManager::CPAN's "cpan_wrapper.pl". It's now just a single file that can be used as both a command and library.
-
Improved EditManager. In preview mode, it now checks to make sure the file is readable, rather than failing due to permission denied errors.
-
Version
0.71226.1
—
released
December 26, 2007
-
-
Same as previous version. Something went wrong with Rubyforge and the gem was only partially uploaded, so trying again.
-
Version
0.71226
—
released
December 26, 2007
-
-
(%) Fixed PackageManager::CPAN driver. It now provides a workaround to activate CPAN if it wasn't already configured, previously it'd hang as CPAN tried to get input. It now provides a workaround for rejecting all CPAN inputs because the CPAN default options are surprisingly dangerous. It now tries harder to execute the Perl helper files, previously these wouldn't be executed on some OSes. The helpers' core logic has been abstracted into a wrapper library.
-
Version
0.71221
—
released
December 23, 2007
-
-
(%) Fixed PackageManager::APT driver. In 0.71220, the DPKG driver was selected as the default driver over APT. The fix chooses APT as the default over DPKG, like before.
-
Fixed Rakefile to work with latest version of RubyGems.
-
Version
0.71220
—
released
December 20, 2007
-
-
(+) Added PackageManager::CPAN for managing Perl packages. Thanks go out to Jesse Hallett for assisting me with research on how to use the CPAN APIs.
-
Fixed PackageManager#install when called with a single Symbol argument.
-
Added PackageManager::DPKG for local installation of .deb packages. Added logic to help it install a hash of package names to file names. Added spec to validate this.
-
Refactored PackageManager::APT to defer to PackageManager::DPKG's logic when possible.
-
Version
0.71219
—
released
December 19, 2007
-
-
Created a bunch of workarounds needed because of bugs and backwards incompatible changes in new versions of third-party libraries...
-
(%) Fixed "gem install automateit". Created workaround for new ActiveSupport bug which doesn't install the Builder gem.
-
(%) Fixed "rake regem" which generates the AutomateIt gem. Created workaround for new RubyGems bug which no longer installs the necessary Gem::Format dependency. Created workaround for new Rake bug which causes FileList to act like a string instead of an array. Created workaround for new Rake/RubyGems bugs that don't load 'rubygems' by default.
-
Improved PasswdExpect, no longer passing username/password on command-line to improve security.
-
Version
0.71112
—
released
November 12, 2007
-
-
(%) Fixed ShellManager::WhichWindows#which, forgot to include helper file in gem.
-
Version
0.71111
—
released
November 11, 2007
-
-
(+) Improved AccountManager::Etc detection logic, it now tries to run commands rather than relying on blacklists. This better supports Windows and JRuby.
-
(+) Added ShellManager::WhichWindows, it simulates the #which command on Windows.
-
WARNING: AccountManager::POSIX#add_groups_to_user and add_users_to_group
-
Version
0.71104
—
released
November 04, 2007
-
-
(%) Fixed bugs in startup sequence when run on Microsoft Windows. Added support for Vista.
-
(%) Fixed bugs encountered on Windows in Plugin::Driver. Dependency checks are now done in specific order and stop as soon as a missing dependency is detected.
-
Version
0.71103
—
released
November 03, 2007
-
-
(+) Added "aissh" command, provides an easy way to run commands on a group of hosts. For example, see if there's a Rails process running on all hosts matching the "rails_servers" tag: "aissh -p . rails_servers 'ps -ef | grep rails'"
-
Improved PackageManager, it can now accept package names as Symbols.
-
Improved AccountManager spec with additional examples for checking password changes.
-
Improved AccountManager::NSCD with refactoring and additional tests.
-
Improved AddressManager spec with additional tests for address conversion routines and code generation helpers.
-
Improved Plugin spec with more checks against invalid managers and drivers, and unavailable dependencies.
-
Improved ShellManager spec with more checks against hard links and symbolic links; for #cp when contents, modes or ownership changes; for #rm with :force option: for #umask with and without block, and with caught exceptions.
-
Added spec for String#shell_escape.
-
Added spec for Object's extensions for #unique_methods and #args_and_opts.
-
Added spec for NestedError.
-
Version
0.71102
—
released
November 02, 2007
-
-
Improved PackageManager::PEAR and PackageManager::PECL, can now :force installation of unstable packages.
-
Refactored PackageManager spec and added :force to get PEAR and PECL to workaround systems that refuse to load the unstable testing packages.
-
Version
0.71101.2
—
released
November 01, 2007
-
-
(%) Fixed bug in TagParser, it couldn't parse hostnames with non-letter characters. Added tests. Thanks for the report, David Brewer.
-
(%) Fixed bug in TagManager, adding a run-time tag caused it to not parse tags.yml. Added tests.
-
(+) Improved TagManager, it now makes run-time tags available to the interpreter when parsing tags.yml, which provides greater flexibility in defining tags. Added tests. Thanks for the suggestion, David Brewer.
-
Version
0.71101.1
—
released
November 01, 2007
-
-
(%) Fixed bug in Interpreter, which only set optional run-time tags specified on the command-line AFTER it loaded the fields/tags files. Thanks for the report, David Brewer.
-
Version
0.71101
—
released
November 01, 2007
-
-
(%) Fixed bug in TagManager#tagged? when checking tag names containing dashes ("-"), refactored to improve tag tokenizing rules, added test. Thank you, David Brewer.
-
Fixed bug in TemplateManager#render when rendering templates to strings, added tests. Thank you for the report, David Brewer.
-
Version
0.71031.2
—
released
October 31, 2007
-
-
(+) Added PackageManager::PEAR and PackageManager::PECL, graciously contributed by David Brewer.
-
Version
0.71031.1
—
released
October 31, 2007
-
-
(%) Fixed bug in EditSession methods, these weren't escaping regular expression characters in strings. Refactored some of these methods for clarity.
-
Version
0.71031
—
released
October 31, 2007
-
-
Improved Project libraries so they're loaded before Tags and Fields. This makes it possible to, for example, write a library helper that's called from within the fields.yml file via ERB.
-
Version
0.71030
—
released
October 30, 2007
-
-
(%) Fixed bug in AddressManager#add_user when called with multiple groups. Improved AddressManager spec.
-
(+) Added documentation to Project explaining how to partition recipes, and run recipes from other recipes.
-
(+) Added AddressManager::POSIX which provides support for Linux and SunOS, and eliminated the OS-specific drivers for these.
-
Added AddressManager::NSCD by extracting methods from old OS-specific drivers.
-
Added AddressManager::PasswdExpect which uses Expect for much more reliable password changes.
-
Improved AddressManager::PasswdPty by adding retry capability.
-
Version
0.71021
—
released
October 21, 2007
-
-
Added PlatformManager::OpenBSD.
-
Added AddressManager::OpenBSD.
-
Added AddressManager::FreeBSD.
-
Added AddressManager::BSD which assists SunOS, FreeBSD and OpenBSD.
-
Version
0.71017
—
released
October 17, 2007
-
-
(%) Fixed, created workaround so AutomateIt can run using the newly-released ActiveSupport 1.4.4 (part of Rails 2.0 PR1), because this new library breaks backwards compatibility by depending on new #extract_options method.
-
Version
0.71012
—
released
October 12, 2007
-
-
(%) Fixed #touch, it worked fine but was corrupting log output
-
(%) Fixed AccountManager::Linux, it now only runs when the OS detected is Linux.
-
Added PlatformManager::SunOS.
-
Added AddressManager::SunOS.
-
Improved #render, added default :backup option to save files before overwriting them.
-
Improved #backup, added :quiet option to prevent output.
-
Improved #chperm, it now displays the exact changes made rather than approximations.
-
Improved ServiceManager::SysV spec to validate :wait and :pause options with safe mocks.
-
Version
0.71006
—
released
October 06, 2007
-
-
(%) Fixed EditSession#delete to delete lines matching substrings rather than exact matches.
-
Fixed EditSession#comment to not comment already commented-out lines.
-
Fixed SessionManager#start and #stop so these don't check status when called with :force option.
-
Improved SessionManager#restart to use :wait option.
-
Improved #download to accept array or hash as arguments.
-
Version
0.71003
—
released
October 03, 2007
-
-
Fixed bug in #backup on JRuby because it lacks methods to query properties. It now copies the file and timestamp, but not the owner/group/mode because these can't be queried on JRuby.
-
Improved #cp with new :preserve => :try option so that properties are preserved when possible, but no exception is thrown when these can't be preserved.
-
Improved #touch with options for :like and :stamp options.
-
Version
0.70930
—
released
September 30, 2007
-
-
Fixed ShellManager#rm to display output like 'rm -rf' rather than 'rm_rf'.
-
Fixed #tags, removed the standalone tag for the distro's version (e.g., "7.04"), it must now be qualified with the distro's name, "ubuntu_7.04".
-
Improved bin/automateit so it doesn't display error trace when user types 'exit' into irb.
-
Improved comments in basic/examples recipes.
-
Improved #tag_for to return a sorted Array instead of a Set.
-
Version
0.70928
—
released
September 28, 2007
-
-
(%) Fixed #cp, #ln and #install when called with relative path source and directory target. These tried to create items which included the relative path, rather than discarding it.
-
(+) Added an "--add TAGS" feature to executables: automateit, aifield, aitag. This makes it easy to define tag(s) for a specific run.
-
(+) Added #backup command to save copies of files, it's now used by default when using #edit to modify a file.
-
(+) Added #download command to retrieve data via HTTP and FTP to a file or directory.
-
Improved specs and provided coverage for more exception handling.
-
Version
0.70923
—
released
September 23, 2007
-
-
Fixed hard link and symlink detection on Windows, spec will now skip these examples.
-
Fixed cli_spec so it can invoke Windows version of rake.
-
Version
0.70922
—
released
September 22, 2007
-
-
Refactored AccountManager::Linux and extracted Passwd driver.
-
Refactored Shellmanager::Portable and extracted Which, Link and Symlink drivers.
-
Improved Plugin::Driver, added a depends_on :libraries option.
-
Version
0.70921
—
released
September 21, 2007
-
-
Improved AccountManager::Linux to work around a race condition in PTY/Expect that happens about 1% of the time when setting a password.
-
Improved executables (e.g., bin/automateit) to display help with "-h", in addition to "--help".
-
Improved executables (e.g., bin/automateit) to display version with "-v" and "--version".
-
Refactored EditSession and its documentation.
-
Refactored TemplateManager, moved common logic into BaseDriver.
-
Refactored Rakefile for clarity.
-
Replaced GemSpec with Hoe in preparation to uploading AutomateIt to RubyForge.
-
Version
0.70919
—
released
September 19, 2007
-
-
(!) Normalized PackageManager methods and ShellManager#chperm to use consistent ':details => true' option.
-
(!) Refactored PackageManager with :details mode to return both a boolean and list of affected packages, previously it only returned packages.
-
Fixed bug in ShellManager and Tempster that created temporary files and directories in preview mode.
-
Created 'preview' methods to replace old 'noop' commands. Improved documentation for previewing commands.
-
Made it easier to embed the Interpreter using new methods 'include_in' and 'add_method_missing_to'. Included Rakefile with default and example projects to demonstrate embedding.
-
Improved AccountManager, it can set and change passwords on user accounts.
-
Improved TagManager, it lazy-loads tags to speed startup.
-
Improved ShellManager, TemplateManager and EditManager so they translate :owner to :user for Cfengine refugees.
-
Improved support for Darwin and JRuby. Reworked methods and drivers to let these access more features.
-
Version
0.70915
—
released
September 15, 2007
-
-
Improved Interpreter with friendly error messages that make it easier for users to see what's wrong with a recipe. These new messages display the cause, a snapshot of the problematic code, shortened paths, and only the relevant stack frames. Also provided way to get complete, raw backtraces for debugging internals.
-
Improved plugins that use ERB by creating a new HelpfulERB class that provides sane behavior and provides friendly, contextual error messages making it much easier for users to identify and fix problems in templates.
-
Version
0.70914
—
released
September 14, 2007
-
-
(%) Fixed bug in ShellManager::Portable that caused 'cp' to actually copy even when in 'noop' mode.
-
Ported code to work with JRuby.
-
Wrote TagParser that works with JRuby and handles arbitrarily complex and deep rules with correct precedence.
-
Improved PackageManager commands to accept hash of names to paths, e.g., if package 'TracTags' isn't present, installs it from a directory.
-
Improved PackageManager commands to accept annotated, free-form strings with comments.
-
Improved Interpreter.invoke to search a project's recipes directory, making it easier for recipes to invoke other recipes.
-
Improved EditSession to provide easier access to Interpreter methods.
-
Improved ServiceManager to provide 'start_and_enable' and 'start_or_restart' convenience commands.
-
Version
0.70913
—
released
September 13, 2007
-
-
(%) Fixed bug in PackageManager::Gem, it wasn't recognizing packages installed multiple times as being installed.
-
Provided complete support for CentOS and RedHat.
-
Provided complete support for Gentoo with new PackageManager::Portage and ServiceManager::RC_Update drivers.
-
Provided basic support for FreeBSD with new PlatformManager::FreeBSD.
-
Rewrote AddressManager::Linux using pure 'ifconfig' calls, which provide more universal support than 'iproute'.
-
Reworked examples to create a user for the application, demonstrating the use of AccountManager and eliminating need for workarounds to platform-specific differences for the 'nobody' account.
-
Added new 'depends_on' option to check complex dependencies using callbacks, e.g., ensure a specific version of ifconfig.
-
Included examples/basic in Gem distribution, the code used in the Screenshots.
-
Version
0.70912
—
released
September 12, 2007
-
-
(%) Fixed bug where a project's fields were sometimes accidentally cleared. Wrote tests to make sure this won't happen again.
-
Added tests for examples/basic recipes.
-
Added ServiceManager started? and stopped? methods with wait timeouts.
-
(!) Reworked Plugins so drivers find managers by inheritance, rather than by name. Simplifies code and allows drivers in different namespaces than their manager. Should be one of the last changes that breaks backwards-compatibility in Plugins for a while.
-
Version
0.70909
—
released
September 09, 2007
-
-
Added initial support for Apple Mac OS X. Includes a PlatformManager driver for Darwin, and assorted changes needed for AutomateIt to run on the old Ruby 1.8.2 bundled with Tiger.
-
Fixed AddressManager by eliminating exceptions raised on misconfigured systems that didn't have IPs for local hostnames.
-
Version
0.70907
—
released
September 07, 2007
-
-
(!) Created AbstractDriver classes for each plugin and made the concrete drivers subclass these.
-
Wrote tests for CLI, which create projects, invoke recipes, run the interactive shell, etc.
-
Eliminated need for custom drivers to run 'setup' on their associated plugin instance.
|