Changelog for 1.3.0 version

1.3.0 - 2014-11-07
  - General changes/additions
    * Add missing cp entry in manpage (GH issue #78)
    * Add seq to vim syntax highlight (Robert Drake)
    * Update augtool.1 man page with new commands and --span, RHBZ#1100077
    * augtool autocomplete includes command aliases, RHBZ#1100184
    * Remove unused "filename" argument from dump-xml command, RHBZ#1100106
    * aug_save returns non-zero result when unable to delete files,
  - Lens changes/additions
    * Aliases: permit missing whitespace between colon and recipients
    * AptPreferences: Support spaces in origin fields
    * Cgconfig: handle additional valid controllers (Andy Grimm)
    * Chrony: New lens to parse /etc/chrony.conf (Pat Riehecky)
    * CPanel: New lens to parse cpanel.config files
    * Desktop: Allow @ in keys (GH issue #92)
    * Device_map: Parse all device.map files under /boot (Mike Latimer)
    * Dhclient: Add support for option modifiers (Robert Drake,
                GH issue #95)
                Parse hash statements with dhcp-eval strings
    * Dhcpd: stmt_string quoted blocks no longer store quote marks
             (incompatible change),
             many changes to support more record types (Robert Drake)
    * Group: NIS support (KaMichael)
    * Grub: handle "foreground" option, RHBZ#1059383 (Miguel Armas)
    * Gshadow: New lens (Lorenzo Catucci)
    * Httpd: Allow eol comments after section tags
             Allow continued lines inside quoted value (GH issue #104)
             Allow comparison operators in tags (GH issue #154)
    * IPRoute2: handle "/" in protocol name, swap ID and name fields
                (incompatible change), RHBZ#1063968,
                handle hex IDs and hyphens, as present in
                rt_dsfield, RHBZ#1063961
    * Iptables: parse /etc/sysconfig/iptables.save, RHBZ#1144651
    * Kdump: parse new options, permit EOL comments, refactor, RHBZ#1139298
    * Keepalived: Add more virtual/real server settings and checks, RHBZ#1064388
    * Known_Hosts: New lens for SSH known hosts files
    * Krb5: permit braces in values when not in sub-section, RHBZ#1066419
    * Ldso: handle "hwcap" lines (GH issue #100)
    * Lvm: support negative numbers, parse /etc/lvm/lvm.conf (Pino Toscano)
    * Multipath: add support for rr_min_io_rq (Joel Loudermilk)
    * NagiosConfig and NagiosObjects: Fix documentation (Simon Sehier)
    * NetworkManager: Use the Quote module, support # in values (no eol comments)
    * OpenVPN: Add support for fragment, mssfix, and script-security
               (Frank Gr÷tzner)
    * Pagekite: New lens (Michael Pimmer)
    * Pam: Add partial support for arguments enclosed in [] (Vincent Brillault)
    * Passwd: Refactor lens (Lorenzo Catucci)
    * Redis: Allow empty quoted values (GH issue #115)
    * Rmt: New lens to parse /etc/default/rmt, RHBZ#1100549
    * Rsyslog: support complex $template lines, property filters and file
               actions with templates, RHBZ#1083016
    * Services: permit colons in service name, RHBZ#1121263
    * Shadow: New lens (Lorenzo Catucci)
    * Shellvars: Handle case statements with same-line ';;', RHBZ#1033799
                 Allow any kind of quoted values in block
                 conditions (GH issue #118)
                 Support $(( .. )) arithmetic expansion in variable
                 assignment, RHBZ#1100550
    * Simplevars: Support flags and empty values
    * Sshd: Allow all types of entries in Match groups (GH issue #75)
    * Sssd: Allow ; for comments
    * Squid: Support configuration files for squid 3 (Mykola Nikishov)
    * Sudoers: Allow wuoted string in default str/bool params (Nick Piacentine)
    * Syslog: Support "# !" style comments (Robert Drake, GH issue #65)
              Permit IPv6 loghost addresses, RHBZ#1129388
    * Systemd: Allow quoted Environment key=value pairs, RHBZ#1100547
               Parse /etc/sysconfig/*.systemd, RHBZ#1083022
               Parse semicolons inside entry values, RHBZ#1139498
    * Tuned: New lens for /etc/tuned/tuned-main.conf (Pat Riehecky)
    * UpdateDB: New lens to parse /etc/updatedb.conf
                (incompatible change as this file used to be processed with
    * Xml: Allow backslash in #attribute values (GH issue #145)
           Parse CDATA elements (GH issue #80)
    * Xymon_Alerting: refactor lens (GH issue #89)

1.2.0 - 2014-01-27
  - API changes
    * Add aug_cp and the cp and copy commands
    * aug_to_xml now includes span information in the XML dump
  - General changes/additions
    * Fix documentation link in c_api NaturalDocs menu
    * Fix NaturalDocs documentation for various lenses
    * src/transform.c (filter_matches): wrap fnmatch to ensure that an incl
      pattern containing "//" matches file paths, RHBZ#1031084
    * Correct locations table for transform_save() (Tomas Hoger)
    * Corrections for CVE-2012-0786 tests (Tomas Hoger)
    * Fix umask handling when creating new files, RHBZ#1034261
  - Lens changes/additions
    * Access: support DOMAIN\user syntax for users and groups, bug #353
    * Authorized_Keys: Allow 'ssh-ed25519' as a valid authorized_key
      type (Jasper Lievisse Adriaanse)
    * Automounter: Handle hostnames with dashes in them, GH issue #27
    * Build: Add combinatorics group
    * Cyrus_Imapd: Create new entries without space before separator,
      RHBZ#1014974 (Dietmar Kling)
    * Desktop: Support square brackets in keys
    * Dhclient: Add dhclient.conf path for Debian/Ubuntu (Esteve Fernandez)
    * Dhcpd: Support conditionals, GH issue #34
             Support a wider variety of allow/deny statement, including
             booting and bootp (Yanis Guenane)
             Support a wider variety of DHCP allow/deny/ignore statements
             (Yanis Guenane)
    * Dovecot: Various enhancements and bug fixes (Michael HaslgrŘbler):
               add mailbox to block_names, fix for block_args in quotes,
               fix for block's brackets upon write,
               fixes broken tests for mailbox,
               fixes indention,
               test case for block_args with ",
               fixes broken indention
               Use Quote module
    * Exports: Permit colons for IPv6 client addresses, bug #366
    * Grub: Support the 'setkey' and 'lock' directives
            NFC fix whitespace errors
            Handle makeactive menu command, bug #340
            Add 'verbose' option, GH issue #73
    * Interfaces: Add in support for the source stanza in
                  /etc/network/interfaces files
                  Map bond-slaves and bridge-ports to arrays (incompatible
                  change) (Kaarle Ritvanen)
                  Add /etc/network/interfaces.d/* support
                  Allow numeric characters in stanza options (Pascal Lalonde)
    * Koji: New lens to parse Koji configs (Pat Riehecky)
    * MongoDBServer: Accept quoted values (Tomas Klouda)
    * NagiosCfg: Do not try to parse /etc/nagios/nrpe.cfg anymore, GH issue #43
                 /etc/nagios/nrpe.cfg is parsed by Nrpe (Yanis Guenane)
    * Nagiosobjects: Add support for optional spaces and indents
                     and whole-line comments (Sean Millichamp)
    * OpenVPN: Support daemon, client-config-dir, route, and management
               directives (Freakin https://github.com/Freakin)
    * PHP: allow php-fpm syntax in keys, GH issue #35
    * Postfix_Main: Handle stray whitespace at end of multiline lines, bug #348
    * Postfix_virtual: allow '+' and '=' in email addresses (Tom Hendrikx)
    * Properties: support multiline starting with an empty string, GH issue #19
    * Samba: Permit asterisk in key name, bug #354
    * Shellvars: Read /etc/firewalld/firewalld.conf, bug #363
                 Support all types of quoted strings in arrays, bug #357
                 Exclude /etc/sysconfig/ip*tables.save files
    * Shellvars, Sysconfig: map "bare" export and unset lines to seq numbered
      nodes to handle multiple variables (incompatible change), RHBZ#1033795
    * Shellvars_list: Handle backtick variable assignments, bug #368
                      Allow end-of-line comments, bug #342
    * Simplevars: Add /etc/selinux/semanage.conf
    * Slapd: use smart quotes for database entries; rename by/what to by/access;
      allow access to be absent as per official docs (incompatible change)
    * Sshd: Indent Match entries by 2 spaces by default
            Support Ciphers and KexAlgorithms groups, GH issue #69
            Let all special keys be case-insensitive
    * Sudoers: Permit underscores in group names, bug #370 (Matteo Cerutti)
               Allow uppercase characters in user names, bug #376
    * Sysconfig: Permit empty comments after comment lines, RHBZ#1043636
    * Sysconfig_Route: New lens for RedHat's route configs
    * Syslog: Accept UDP(@) and TCP(@@) protocol, bug #364 (Yanis Guenane)
    * Xymon_Alerting: New lens for Xymon alerting files (Franšois Maillard)
    * Yum: Add yum-cron*.conf files (Pat Riehecky)
           Include only *.repo files from yum.repos.d (Andrew N Golovkov)
           Permit spaces after equals sign in list options, GH issue #45
           Split excludes as lists, bug #275

1.1.0 - 2013-06-14
  - General changes/additions
    * Handle files with special characters in their name, bug #343
    * Fix type error in composition ('f; g') of functions, bug #328
    * Improve detection of version script; make build work on Illumos with
      GBU ld (Igor Pashev)
    * augparse: add --trace option to print filenames of all modules being
    * Various lens documentation improvements (Jasper Lievisse Adriaanse)
  - Lens changes/additions
    * ActiveMQ_*: new lens for ActiveMQ/JBoss A-MQ (Brian Harrington)
    * AptCacherNGSecurity: new lens for /etc/apt-cacher-ng/security.conf
      (Erik Anderson)
    * Automaster: accept spaces between options
    * BBHosts: support more flags and downtime feature (Mathieu Alorent)
    * Bootconf: new lens for OpenBSD's /etc/boot.conf (Jasper Lievisse Adriaanse)
    * Desktop: Support dos eol
    * Dhclient: read /etc/dhclient.conf used in OpenBSD (Jasper Lievisse Adriaanse)
    * Dovecot: New lens for dovecot configurations (Serge Smetana)
    * Fai_Diskconfig: Optimize some regexps
    * Fonts: exclude all README files (Jasper Lievisse Adriaanse)
    * Inetd: support IPv6 addresses, bug #320
    * IniFile: Add lns_loose and lns_loose_multiline definitions
               Support smart quotes
      Warning: Smart quotes support means users should not add
               escaped double quotes themselves. Tests need to be fixed
               Use standard Util.comment_generic and Util.empty_generic
      Warning: Existing lens tests must be adapted to use standard
               comments and empty lines
               Allow spaces in entry_multiline* values
               Add entry_generic and entry_multiline_generic
               Add empty_generic and empty_noindent
               Let multiline values begin with a single newline
               Support dos eol
      Warning: Support for dos eol means existing lenses usually
               need to be adapted to exclude \r as well as \n.
    * IPRoute2: Support for iproute2 files (Davide Guerri)
    * JaaS: lens for the Java Authentication and Authorization Service
            (Simon Vocella)
    * JettyRealm: new lens for jetty-realm.properties (Brian Harrington)
    * JMXAccess, JMXPassword: new lenses for ActiveMQ's JMX files
      (Brian Harrington)
    * Krb5: Use standard comments and empty lines
            Support dos eol
            Improve performance
            Accept pkinit_anchors (Andrew Anderson)
    * Lightdm: Use standard comments and empty lines
    * LVM: New lens for LVM metadata (Gabriel)
    * Mdadm_conf: optimize some regexps
    * MongoDBServer: new lens (Brian Harrington)
    * Monit: also load /etc/monitrc (Jasper Lievisse Adriaanse)
    * MySQL: Use standard comments and empty lines
             Support dos eol
    * NagiosCfg: handle Icinga and resources.cfg (Jasper Lievisse Adriaanse)
    * Nrpe: accept any config option rather than predefined list (Gonzalo
            Servat); optimize some regexps
    * Ntpd: new lense for OpenNTPD config (Jasper Lievisse Adriaanse)
    * Odbc: Use standard comments and empty lines
    * Openshift_*: new lenses for Openshift support (Brian Harrington)
    * Quote: allow multiple spaces in quote_spaces; improve docs
    * Passwd: allow period in user names in spec, bug #337; allow overrides
              in nisentry
    * PHP: Support smart quotes
           Use standard comments and empty lines
           Load /etc/php*/fpm/pool.d/*.conf (Enrico Stahn)
    * Postfix_master: allow [] in words, bug #345
    * Resolv: support 'lookup' and 'family' key words, bug #320
              (Jasper Lievisse Adriaanse))
    * Rsyslog: support :omusrmsg: list of users in actions
    * RX: add CR to RX.space_in
    * Samba: Use standard comments and empty lines
             Support dos eol
    * Schroot: Support smart quotes
    * Services: support port ranges (Branan Purvine-Riley)
    * Shellvars: optimize some regexps; reinstate /etc/sysconfig/network,
      fixes bug #330, RHBZ#904222, RHBZ#920609; parse /etc/rc.conf.local
      from OpenBSD
    * Sip_Conf: New lens for sip.conf configurations (Rob Tucker)
    * Splunk: new lens (Tim Brigham)
    * Subversion: Support smart quotes
                  Use standard comments and empty lines
                  Use IniFile.entry_multiline_generic
                  Use IniFile.empty_noindent
                  Support dos eol
    * Sudoers: allow user aliases in specs
    * Sysctl: exclude README file
    * Systemd: Support smart quotes; allow backslashes in values
    * Xinetd: handle missing values in list, bug #307
    * Xorg: allow 'Screen' in Device section, bug #344
    * Yum: Support dos eol, optimize some regexps

1.0.0 - 2012-12-21
  - General changes/additions
    * fix missing requirement on libxml2 in pkg-config
    * do not replace pathin with '/*' unless the length is 0
      or pathin is '/', bug #239
    * create context path if it doesn't exist
    * add missing argument to escape() to fix build on solaris, bug #242
    * fix fatest linking with libfa
    * don't use variables uninitialized upon error (Jim Meyering)
    * bootstrap: add strchrnul gnulib module (for Solaris)
    * remove Linux-isms so tests can run on Solaris
    * re-open rl_outstream/stdout only when stdout isn't a tty
      (fixes -e -i); use /dev/tty instead of /dev/stdout when re-opening
      to prevent permission errors, bug #241
    * take root into account for excludes, bug #252
    * fix different errors for parse and put failure
    * fix various memory leaks
    * add leak test
    * allocate exception instead of static const value
    * improve aug_srun quoting to permit concatenation and better detect
      bad quoting
    * rename echo to echo_commands to fix differing types reported
      with Solaris linker (Tim Mooney), bug #262
    * fix excl filters that only specify a filename or wildcard
    * make sure reloading discards changes after save with mode 'newfile'
    * remove loop that added a second iteration around children of /files,
      causing multiple saves in newfile and noop modes when editing under
      /files/boot, bug #264
    * support \t and \n in aug_srun tokens, bug #265
    * compile_exp: don't return an uninitialized pointer upon failure
      (Jim Meyering)
    * include 'extern "C"' wrapper for C++, bug #272 (Igor Pashev)
    * src/try: don't overwrite gdbcmds.txt if it exists
    * fix behavior of set with empty strings
    * allow running individual tests with test-run
    * test-augtool.sh: escape all possible regular expressions before
      they are sent to sed (Micah Anderson)
    * add new print_tree primitive
    * fix bad memory access in regexp.c
    * case-insensitive regexps: fix a problem with number of groups
    * prevent symlink attacks via .augnew during saving,
      RedHat bug #772257, CVE-2012-0786
    * prevent cross-mountpoint attacks via .augsave during saving,
      RedHat bug #772261, CVE-2012-0787
    * add bundled (gnulib) provides in augeas.spec.in, RedHat bug #821745
    * make Travis CI builds
    * src/transform.c (xread_file): catch failed fopen, e.g. EACCES
    * src/augrun.c (cmd_retrieve_help): tidy line wrapping
    * make get_square case insensitive on the ending key
    * escape double quotes when dumping regexp
    * use constants for "lens", "incl" and "excl"
    * src/transform.c (filter_generate): remove duplicate variable assignment
    * src/jmt.c (parse_add_item): ensure return is defined on goto error
    * src/transform.c (transform_save): chmod after creating new files to
      permissions implied by the umask
    * ignore eclipse settings directory
    * fix memory leak in dbg_visit
    * build AST while visiting the parse v2
    * rewrite square lens to be more generic, allowing e.g. square quoting
    * tests/modules/fail_shadow_union.aug: fix unintended test failure
    * src/syntax.c (compile_test): print which test failed when missing
    * libfa (fa_enumerate): new function
    * use precise ctype of a square lens if it is indeed regula
    * square: properly handle first lens matching empty string
    * square lens: correctly process skeletons during put
    * src/pathx.c: disallow ',' in names in path expressions
    * src/pathx.c: match functions by name and arity
    * src/pathx.c: pass the number of actual arguments to the func
    * correctly parse escaped string literals in vim syntax file (Domen Ko┐ar)
  - API changes/additions
    * add aug_text_store to write string to tree
    * add aug_text_retrieve to turn tree into text
    * add aug_rename to rename node labels without moving them in the tree
    * add aug_transform to allow specifying transforms
    * add aug_label to retrieve the label from a path
  - Augtool/aug_srun changes/additions
    * add "touch" command to create node if it doesn't exist, bug #276
    * make <VALUE> argument to "set" and "setm" optional, bug #276
    * add "text_store" and "text_retrieve" commands
    * add "rename" command
    * add "transform" command and "-t|--transform" option
    * add "label" command
    * arrange commands in groups for better help
    * man/augtool.pod: update mentions of default load path
    * fix exit code when using autosave
    * output errors when sending a command as argument
    * honor --echo when sending a command as argument
  - XPath changes/additions
    * add support for an 'i' flag in regexp builtin function
  - Lens changes/additions
    * Aliases: commands can be fully enclosed in quotes, bug #229
    * Anacron: new lens for /etc/anacrontab
    * Apt_Update_Manager: new lens for /etc/update-manager
    * AptPreferences: #comments are accepted within entries
    * AuthorizedKeys: new lens for SSH's authorized_keys
    * AutoMaster: new lens for auto.master files
    * AutoMounter: new lens for automounter maps (/etc/auto.*)
    * Avahi: new lens for /etc/avahi/avahi-daemon.conf (Athir Nuaimi)
    * Build: add blocks
    * Cachefilesd: new lens for /etc/cachefilesd.conf (Pat Riehecky)
    * Carbon: new lens for /etc/carbon files (Marc Fournier)
    * Cgconfig: add space between group and id (Filip Andres)
    * Channels: new lens for channels.conf
    * Collectd: new lens for /etc/collectd.conf
    * Cron: exclude cron allow/deny files;
            optimize typechecking;
            records can be prefixed by '-' (Michal Filka)
    * CronAllow: new lens for cron/at allow/deny files
    * Cups: new lens for Cups files
    * Cyrus_Imapd: new lens for /etc/imapd.conf, bug #296 (Jeroen van Meeuwen)
    * Debctrl: fixed package paragraph keywords, allow variables
               for version numbers in dependency lists,
               allow DM-Upload-Allowed keyword, Debian bug #650887;
               allow control extensions for Python packages, bug #267
    * Dhcpd: fix primary statement arguments, bug #293;
             use the Quote module to manage quoted values;
             force double quotes for filename attribute, bug #311
    * Dput: use Sys.getenv("HOME")
    * Erlang: new generic lens to build Erlang config lenses
    * Fonts: new lens for /etc/fonts files
    * Fstab: handle options with empty values ("password=");
             make options field optional;
             allow end-of-line comment
    * Fuse: new lens for fuse.conf
    * Gdm: include /etc/gdm/custom.conf
    * Grub: parse "password --encrypted" properly, bug #250;
            optimize typechecking;
            add /boot/grub/grub.conf to transform (Josh Kayse)
    * GtkBookmarks: new lens for $HOME/.gtk-bookmarks
    * Hosts_Access: add netmask;
                    permit more client list formats
                    (whitespace separated lists, @netgroups,
                    IPv6 hosts, inc. zone indices,
                    paths to lists of clients, wildcards,
                    hosts_options), bug #256
    * Htpasswd: new lens for htpasswd/rsyncd.secret files (Marc Fournier)
    * Httpd: support DOS eol
    * IniFile: allow # and ; in quoted values, bug #243;
               add entry_list and entry_list_nocomment
    * Inputrc: new lens for /etc/inputrc
    * Iptables: test that blank lines are accepted (Terence Haddock)
    * Json: allow JSON number literals to be followed by whitespace;
            correctly parse empty object and arrays (Lubomir Rintel)
    * Keepalived: various improvements, optimize typechecking
    * Krb5: handle host{} sections in v4_name_convert;
            support ticket_lifetime;
            handle multiple arguments to *_enctypes (Pat Riehecky);
            better whitespace and semicolon comment support
    * Ldif: new lens to read LDIF files per RFC2849
    * Ldso: new lens for ld.so.conf files
    * Lightdm: new lens for /etc/lightdm/*.conf, bug #302 (David Salmen)
    * Logrotate: rewrite with Build, Rx, and Sep;
                 add su logrotate.conf option (Luc Didry);
                 accept integers prefixed by a sign (Michal Filka)
    * Logwatch: new lens for /etc/logwatch/conf/logwatch.conf (Francois Lebel)
    * Mcollective: new lens for Mcollective files (Marc Fournier)
    * Memcached: new lens for /etc/memcached.conf (Marc Fournier)
    * Mdadm_conf: include /etc/mdadm/mdadm.conf
    * Mke2fs: add support for default_mntopts, enable_periodic_fsck,
              and auto_64-bit_support
    * Modprobe: support softdep command, Debian bug #641813;
                allow spaces around '=' in option, RedHat bug #826752;
                support multiline split commands, Ubuntu bug #1054306;
                revert inner lens name change, fixes Modules_conf
    * Modules: define own entry regexp as referenced Modprobe inner lens
               doesn't match file format
    * Multipath: allow devices to override defaults, bug #278 (Jacob M. McCann)
    * NagiosCfg: support syntax for commands.cfg and resource.cfg
    * Netmask: new lens for /etc/inet/netmasks on Solaris
    * NetworkManager: new lens for NetworkManager files
    * Networks: handle multiple missing network octets,
                fix sequencing of aliases
    * Nginx: new lens for /etc/nginx/nginx.conf (Ian Berry)
    * Nsswitch: add passwd_compat, group_compat and shadow_compat
                GNU extensions (Travis Groth);
                remove long list of databases, match by regexp
    * Ntp: allow deprecated 'authenticate' setting;
           add tos directive, bug #297 (Jacob M. McCann)
    * OpenVPN: use the Quote module to manage quoted values
    * Pam: allow uppercase chars in 'types', remove /etc/pam.conf from filter;
           ignore allow.pamlist;
           exclude /etc/pam.d/README, bug #255
    * PamConf: new lens for /etc/pam.conf
    * Passwd: allow asterisk in password field, bug #255
    * Pg_Hba: support multiple options, bug #313;
              add a path to pg_hba.aug, bug #281 (Marc Fournier)
    * Php: support include() statements
    * Phpvars: map arrays with @arraykey subnodes to make working paths;
               support classes and public/var values, bug #299 (aheahe)
    * Postfix_Transport: new lens for Postfix transport files;
               allow host:port and [host]:port syntaxes, bug #303
    * Postfix_Virtual: new lens for Postfix virtual files
    * Postgresql: new lens for postgresql.conf;
                  properly support quotes, bug #317
    * Properties: improve handling of whitespace, empty props, and underscores
                  in keys (Brett Porter, Carlos Sanchez)
    * Protocols: new lens for /etc/protocols
    * Puppet: add /usr/local/etc/puppet paths (Tim Bishop)
    * Puppet_Auth: new lens for /etc/puppet/auth.conf
    * PuppetFileserver: add /usr/local/etc/puppet paths (Tim Bishop)
    * PythonPaste: new lens for Py