September 15th, 2009
· The tree->file transformation can now insert quotes etc. as needed.
· Path expressions support preceding-sibling and following-sibling axes, to, for example, locate a comment just before or after a specific entry.
· A much better lens was provided for xorg.conf along with new lenses for inetd.conf and multipath.conf.
· Augeas now works on AIX.
June 10th, 2009
· augeas.h: flag AUG_NO_MODL_AUTOLOAD suppresses initial loading modules; exposed as --noautoload in augtool
· augtool: don't prompt when input is not from tty (Raphael Pinson)
· augparse: add --notypecheck option
· path expressions: allow things like '/foo and /bar' in predicates
· Aliases: map comments as #comment (Raphael Pinson)
· Build, Rx, Sep: new utility modules (Raphael Pinson)
· Cron: new lens (Raphael Pinson)
· Dnsmasq: process files in /etc/dnsmasq.d/* (ticket #65)
· Grub: parse kernel and module args into separate nodes; parse arguments for 'serial', 'terminal', and 'chainloader'; allow optional argument for 'savedefault'
· Interfaces: make compliant with actual Debian spec (Matt Palmer)
· Iptables: relax regexp for chain names; allow comment lines mixed in with chains and rules (ticket #51)
· Logrotate: allow '=' as separator (ticket #61); make newline at end of scriptlet optional
· Modprobe: handle comments at end of line
· Ntp: parse fudge record (Raphael Pinson); parse all directives in default Fedora ntp.conf; process 'broadcastdelay', 'leapfile', and enable/disable flags (ticket #62)
· Pbuilder: new lens for Debian's personal builder (Raphael Pinson)
· Php: add default path on Fedora/RHEL (Marc Fournier)
· Squid: handle indented entries (Raphael Pinson)
· Shellvars: map 'export' and 'unset'; map comments as #comment (Raphael Pinson)
· Sudoers: allow backslashes inside values (ticket #60) (Raphael Pinson)
· Vsftpd: map comments as #comment; handle empty lines; find vsftpd.conf on Fedora/RHEL
· Xinetd: map comments as #comment (Raphael Pinson)
March 31st, 2009
· Clean up interface for libfa; the interface is now considered stable
· New aug_load API call; allows controlling which files to load by modifying /augeas/load and then calling aug_load; on startup, the transforms marked with autoload are reported under /augeas/load
· New flag AUG_NO_LOAD for aug_init to keep it from loading files on startup; add --noload option to augtool
· New API calls aug_defvar and aug_defnode to define variables for path expressions; exposed as 'defvar' and 'defnode' in augtool
· Lenses distributed with Augeas are now installed in /usr/share/augeas/lenses/dist, which is searched after /usr/share/augeas/lenses, so that lenses installed by other packages take precedence
· New program examples/fadot to draw various finite automata (Francis Giraldeau)
· Report line number and character offset in the tree when parsing a file with a lens fails
· Fix error in propagation of dirty flag, which could lead to only parts of a tree being saved when multiple files were modified
· Flush files to disk before moving them
· Fix a number of memory corruptions in the XPath evaluator
· Several performance improvements in libfa
· Lens changes/additions
· Grub: process embedded comments for update-grub (Raphael Pinson)
· Iptables: new lens for /etc/sysconfig/iptables
· Krb5: new lens for /etc/krb5.conf
· Limits: map dpmain as value of 'domain' node, not as label (Raphael Pinson)
· Lokkit: new lens for /etc/sysconfig/system-config-firewall
· Modprobe: new lens for /etc/modprobe.d/*
· Sudoers: more finegrained parsing (ticket #48) (Raphael Pinson)
March 11th, 2009
· Possible data corruption in aug_save was fixed.
· The meanings of "
March 3rd, 2009
· The underlying file is now deleted when the corresponding part of the tree is deleted.
· XPath support was enhanced with additional functions and Boolean expressions. Several bugs were fixed.
February 16th, 2009
· This release expands support for XPath-like expressions in the public API, making it possible to search across a whole subtree, e.g. to find a node labeled 'error' anywhere, and matching nodes based on various attributes, e.g. to find nodes that have a child labeled 'ipaddr' with a given value.
January 27th, 2009
· This release reports version and legal save modes in /augeas/version.
· It allows changing the save mode at runtime.
· There are various enhancements and fixes to lenses.
December 24th, 2008
· Files can be optionally changed in place if rename(2) fails.
· Several path expression bugs were fixed.
· Many new lenses were added.
November 6th, 2008
· Saving of backup files was fixed: in 0.3.3, when AUG_SAVE_BACKUP was passed to aug_init, aug_save would always fail.
October 25th, 2008
· An API regression was fixed: aug_save now returns 0 on success. Version 0.3.2 broke that by returning the number of saved files, which broke various clients.
October 22nd, 2008
· Various fixes for file saving (preserving the file attributes/SELinux label, reporting which files were changed, and making save idempotent).
· Lens documentation is generated with NaturalDocs.
· There are various lens fixes and enhancements.
September 5th, 2008
· Processes many more config files, including configs for sudoers, puppet, OpenLDAP, OpenVPN, dhclient, Samba, Slapd, dnsmasq, and sysctl.
· Improvements to many existing lenses, including better handling of shell variable assignments, and handling of comments and whitespace in /etc/hosts, /etc/fstab, xinetd, php.ini, dput.conf, and pam.d.
· Major performance improvements when processing large files.
· Several important bugfixes.