diff --git a/CHANGELOG.md b/CHANGELOG.md index b5adaa6e532..e0f95f5ff1d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -31,6 +31,128 @@ in progress, details pending * Fix skipped tasks to not display their parameters if no_log is specified. +* Many fixes to unicode support, standarized functions to make it easier to add to input/output boundries. + +* Added travis integration to github for basic tests, this should speed up ticket triage and merging. + +* environment: directive now can also be applied to play and is inhertited by tasks, which can still overridde it. + +* expanded facts and OS/distribution support for existing facts and improved performance with pypy. + +* new 'wantlist' option to lookups allows for selecting a list typed variable vs a commad delimited string as the return. + +* the shared module code for file backups now uses a timestamp resolution of seconds (previouslly minutes). + +* allow for empty inventories, this is now a warning and not an error (for those using localhost and cloud modules). + +* sped up YAML parsing in ansible by up to 25% by switching to CParser loader. + +* new filters: + * ternary: allows for trueval/falseval assignement dependint on conditional + * cartesian: returns the cartesian product of 2 lists + * to_uuid: given a string it will return an ansible domain specific UUID + * checksum: uses the ansible internal checksum to return a hash from a string + * hash: get a hash from a string (md5, sha1, etc) + * password_hash: get a hash form as string that can be used as a password in the user module (and others) + * A whole set of ip/network manipulation filters: ipaddr,ipwrap,ipv4,ipv6ipsubnet,nthhost,hwaddr,macaddr + +* new lookup plugins (allow fetching data for use in plays): + * dig: does dns resolution and returns IPs. + * url: allows pulling data from a url. + +* new callback plugins: + * syslog_json: allows logging play output to a syslog network server using json format + +* new task modules: + * cryptab: manages linux encrypted block devices + * gce_img: for utilizing GCE image resources + * gluster_volume: manage glusterfs volumes + * haproxy: for the load balancer of same name + * known_hosts: manages the ssh known_hosts file + * lxc_container: manage lxc containers + * patch: allows for patching files on target systems + * pkg5: installing and uninstalling packages on Solaris + * pkg5_publisher: manages Solaris pkg5 repository configuration + * postgresql_ext: manage postgresql extensions + * snmp_facts: gather facts via snmp + * svc: manages daemontools based services + * uptimerobot: manage monitoring with this service + + +* module enhancements and notable changes + * vsphere_guest now supports deploying guests from a template + * Multiple new enhancements to the amazon web service modules: + * ec2 now applies all specified security groups when creating a new instance. Previously it was only applying one + * ec2_vol gained the ability to specify the EBS volume type + * ec2_vol can now detach volumes by specifying instance=None + * Fix ec2_group to purge specific grants rather than whole rules + * Added tenancy support for the ec2 module + * rds module has gained the ability to manage tags and set charset and public accessibility + * ec2_snapshot module gained the capability to remove snapshots + * Add alias support for route53 + * Add private_zones support to route53 + * ec2_asg: Add wait_for_instances parameter that waits until an instance is ready before ending the ansible task + * gce gained the ip_forward parameter to forward ip packets + * disk_auto_delete parameter to gce that will remove the boot disk after an instance is destroyed + * gce can now spawn instances with no external ip + * gce_pd gained the ability to choose a disk type + * gce_net gained target_tags parameter for creating firewall rules + * rax module has new parameters for making use of a boot volume + * Add scheduler_hints to the nova_compute module for optional parameters + * Several important docker changes: + * restart_policy parameters to configure when the container automatically restarts + * If the docker client or server doesn't support an option, the task will now fail instead of silently ignoring the option + * Add insecure_registry parameter for connecting to registries via http + * New parameter to set a container's domainname + * Undeprecated docker_image module until there's replacement functionality + * Allow setting the container's pid namespace + * Add a pull parameter that chooses when ansible will look for more recent images in the registry + * docker module states have been greatly enhanced. The reworked and new states are: + * present now creates but does not start containers + * restarted always restarts a container + * reloaded restarts a container if ansible detects that the configuration is different than what is spcified + * reloaded accounts for exposed ports, env vars, and volumes + * Can now connect to the docker server using TLS + * Many fixes for hardlink and softlink handling in file-related modules + * Implement user, group, mode, and selinux parameters for the unarchive module + * authorized_keys can now use url as a key source + * authorized_keys has a new exclusive paameter that determines if keys that weren't specified in the task + * The selinux module now sets the current running state to permissive if state='disabled' + * Can now set accounts to expire via the user module + * Overhaul of the service module to make code simpler and behave better for systems running several popular init systems + * yum module now has a parameter to refresh its cache of package metadata + * apt module gained a build_dep parameter to install a package's build dependencies + * Add parameters to the postgres modules to specify a unix socket to connect to the db + * The mount module now supports bind mounts + * django_manage can now handle + * Add a clone parameter to git module that allows you to get information about a remote repo even if it doesn't exist locally. + * Add a refspec argument to the git module that allows pulling commits that aren't part of a branch + * Safety changes: several modules have force parameters that defaulted to true. + These have been changed to default to false so as not to accidentally lose + work. Playbooks that depended on the former behaviour simply need to add + force=True to the task that needs it. Affected modules: + * bzr: When local modifications exist in a checkout, the bzr module used to + default to removing the modifications on any operation. Now the module + will not remove the modifications unless force=yes is specified. + Operations that depend on a clean working tree may fail unless force=yes is + added. + * git: When local modifications exist in a checkout, the git module will now + fail unless force is explictly specified. Specifying force=yes will allow + the module to revert and overwrite local modifications to make git actions + succeed. + * hg: When local modifications exist in a checkout, the hg module used to + default to removing the modifications on any operation. Now the module + will not remove the modifications unless force=yes is specified. + * subversion: When updating a checkout with local modifications, you now need + to add force=yes so the module will revert the modifications before updating. + + +* new inventory scripts: + * vbox: virtualbox + * consul: use consul as an inventory source + +* Many documentation additions and fixes. + ## 1.8.4 "You Really Got Me" - Feb 19, 2015 * Fixed regressions in ec2 and mount modules, introduced in 1.8.3