2 - General changes/additions
3 * augtool: add a 'source' command exposing the aug_source API call
4 * augtool: add a 'context' command to make changing into a node more
6 * augtool: add an 'info' command to print important information
7 * augtool: dramatically reduce memory consumption when all lenses are
8 loaded by more aggressively releasing temporary data structures. On
9 my machine, maximum memory usage of 'augtool -L' drops from roughly
10 90MB to about 20MB. This will not change the amount of memory used
11 when only specific lenses are used, only the default behavior of
12 loading all lenses, i.e., when -A is not passed.
13 * make building augtool statically possible (Jörg Krause)
14 * split aug_to_xml into its own source file, so that statically linking
15 against libaugeas.a doesn't require also linking against libXml2 and
16 its dependencies, provided aug_to_xml is not needed.
18 * add aug_source to find the source file for a particular node
19 * reduce memory consumption when AUG_NO_MODL_AUTOLOAD is _not_ passed;
20 exact same details as described above for augtool
21 - Lens changes/additions
22 * Chrony: allow floating point numbers (Miroslav Lichvar)
23 add new directives from chrony 3.0 and 3.1 (Miroslav Lichvar)
24 * Krb5: support include/includedir directives (Jason Smith) (Issue #430)
25 support realms that start with numbers (Dustin Wheeler) (Issue #437)
26 * Multipath: update to multipath-0.4.9-99.el7 (Xavier Mol)
27 * Php: also look for FPM files in /etc/php/*/fpm/pool.d (Daniel Dico)
28 * Postfix_virtual: allow underscores in e-mail addresses (Jason Lingohr)
30 * Radicale: new lens for config of http://radicale.org/ (James Valleroy)
31 * Rsyslog: support multiple options in module statements (Craig Miskell)
32 * Ssh: also look for files in in /etc/ssh/ssh_config.d (Ian Mortimer)
33 * Tmpfiles: parse 'q'/'Q' modes, parse two-character arguments,
34 parse three-digit file modes
35 * Xml: support external entity declarations in the doctype (Issue #142)
36 * Yum: also read DNF files from /etc/dnf (Pat Riehecky) (Issue #434)
39 - General changes/additions
40 * allow multiple transforms handling the same file as long as they
41 also use the same lens (reported by Rich Jones)
42 * fix a use-after-free in recursive lenses when spans are
44 * fix an illegal memory access during put that can be triggered by a
45 lens of the form 'del ... | l1 . l2' when the put has to jump
46 branches in the union (Issue #398)
47 * a large number of fixes based on Coverity scanning and running with
48 gcc's address sanitizer. None of the issues uncovered would have lead
49 to particularly significant leaks (they were all on the order 100-200
50 bytes) and often hard to trigger, but we now have proof that at least
51 while running tests there are no leaks at all.
52 See https://github.com/hercules-team/augeas/pull/405 for details.
53 * The type checker now checks regexes that are involved in
54 expressions. For example, it used to be possible to write 'let rx =
55 /a/ | /b)/' and not get an error from the syntax checker, even though
56 'let rx = /b)/' would result in an error. Such constructs are now
57 checked properly. This new check might lead to errors in existing
58 lenses, requiring that they be fixed.
59 - Lens changes/additions
60 * Cron_User: New lens to handle user crontab files in /var/spool/cron
61 * Csv: fix failure to load lens on OpenBSD (Issue #396)
62 * Grub: also look for UEFI grub files in /boot/efi/EFI/*/grub.conf
64 * Opendkim: new lens for /etc/opendkim.conf (Craig Miskell)
65 * Php: look for php.ini where Ubunto 16.04 puts it, too (Michael Wodniok)
66 * Splunk: support Splunk Universal Forwarder and underscore-prefixed
67 keys for 6.x (Jason Antman)
70 - General changes/additions
71 * augtool: add --load-file option, and corresponding load-file command
72 to load individual files based on the autoload information in lenses
73 * path expressions: numbers in path expressions are now 64 bit integers
74 rather than whatever the C compiler decided 'int' would be
76 * add aug_load_file to load individual files, bug #135
77 - Lens changes/additions
78 * Httpd: follow line continuations in comments
79 * Nginx: look for nginx.conf in /usr/local/etc, too (Omer Katz)
80 * Ntp: allow 'pool' (Craig Miskell) (Issue #378);
81 fix restrict to allow also -4 and also fix
82 save/store ability (Josef Reidinger) (Issue #386)
83 * Pam: use spaces instead of tabs as the separator in new entries
84 (Loren Gordon) (Issue #236)
85 * Postfix_Passwordmap: New lens to parse Postfix password maps
86 (Anton Baranov) (Issue #380)
87 * Rsyslog: Support for rsyslog RainerScript syntax
88 (Craig Miskell) (Issue #379)
89 * Shellvars: Load /etc/lbu/lbu.conf, the config for Alpine's Local
90 Backup Utility (Kaarle Ritvanen)
91 Load /etc/profile, /etc/profile.d/*, and /etc/byobu
92 * Vsftpd: Add allow_writeable_chroot boolead option
93 (Robert Moucha) (Issue #376)
96 - General changes/additions
97 * augtool: new --timing option that prints after each operation how long
99 * augtool: print brief help message when incorrect options are given rather
100 than dumping all help text
101 * Path expressions: optimize performance of evaluating certain
103 * lots of safety improvements in libfa to avoid using uninitialized
104 values and the like (Daniel Trebbien)
105 * tolerate building against OSX' libedit (Issue #256)
107 * aug_match: fix a bug where expressions like /foo/*[2] would match a
108 hidden node and pretend there was no match at all. We now make sure
109 we never match a hidden node. Thanks to Xavier Mol for reporting the
111 * aug_get: make sure we set *value to NULL, even if the provided path is
113 * aug_rm: fix segfault when deleting a tree and one of its ancestors
115 * aug_save: fix segfault when trying to save an invalid subtree. A
116 routine that was generating details for the error message overflowed
117 a buffer it had created (Issue #349)
118 - Lens changes/additions
119 * AptConf: support hash comments
120 * AptSources: support options (Issue #295),
121 support brackets with spaces in URI (GH #296)
122 rename test file to test_aptsources.aug
123 * Chrony: allow signed numbers and indentation, fix stray EOL entry,
124 disallow comment on EOL, add many missing directives and
125 options (Miroslav Lichvar, RHBZ#1213281)
126 add new directives and options that were added in
127 chrony-2.2 and chrony-2.3 and improve parsing of
128 access configuration (Miroslav Lichvar, Issue #348)
129 add new options for chrony-2.4 (Miroslav Lichvar)
130 * Dhclient: avoid put ambiguity for node without value (Issue #294)
131 * Group: support NIS map, support an overridden and disabled password,
132 i.e. `+:*::` (Matt Dainty) (Issue #258)
133 * Host_Conf: support spaces between list items (Cedric Bosdonnat, Issue #358)
134 * Httpd: add paths to SLES vhosts
135 (Jan Doleschal) (Issue #268)
136 parse backslashes in directive arguments (Issue #307)
137 parse mismatching case of opening/closing tags
138 parse multiple ending section tags on one line
139 parse wordlists in braces in SSLRequire directives
140 parse directive args starting with double quote (Issue #330)
141 parse directive args containing quotes
142 support perl directives (Issue #327)
143 parse line breaks/continuations in section arguments
144 parse escaped spaces in directive/section arguments
145 parse backslashes at the start of directive args (Issue #324)
146 * Inputrc: support $else (Cedric Bosdonnat, Issue #359)
147 * Interfaces: add support for source-directory (Issue #306)
148 * Json: add comments support, refactor,
149 allow escaped quotes and blackslashes
150 * Keepalived: fix space/tag alignments and hanging spaces,
151 add vrrp_mcast_group4 and vrrp_mcast_group6,
152 add more vrrp_instance flags,
153 add mcast/unicast_src_ip and unicast_peer,
154 add missing garp options,
155 add vrrp_script options,
156 expand vrrp_sync_group block,
158 (Joe Topjian) (Issue #266)
159 * Known_Hosts: refactoring and description fixed
160 * Logrotate: support dateyesterday option (Chris Reeves) (GH #367, #368)
161 * MasterPasswd: new lens to parse /etc/master.passwd
162 (Matt Dainty) (Issue #258)
163 * Multipath: add various missing keywoards (Olivier Mangold) (Issue #289)
164 * MySQL: include /etc/my.cnf.d/*.cnf (Issue #353)
165 * Nginx: improve typechecking of lens,
166 allow masks in IP keys and IPv6 (Issue #260)
167 add @server simple nodes (Issue #335)
168 * Ntp: add support for basic interface syntax
169 * OpenShift_Quickstarts: Use Json.lns
170 * OpenVPN: add all options available in OpenVPN 2.3o
171 (Justin Akers) (Issue #278)
172 * Puppetfile: name separator is not mandatory
173 add support for moduledir (Christoph Maser)
174 * Rabbitmq: remove space in option name,
175 add support for cluster_partitioning_handling,
176 add missing simple options (Joe Topjian) (Issue #264)
177 * Reprepro_Uploaders: add support for distribution field
178 (Mathieu Alorent) (Issue #277),
179 add support for groups (Issue #283)
180 * Rhsm: new lens to parse subscription-manager's /etc/rhsm/rhsm.conf
181 * Rsyslog: improve property filter parsing,
182 treat whitespace after commas as optional.
183 recognize '~' as a valid syslog action (discard)
184 (Gregory Smith) (Issue #282),
185 add support for redirecting output to named pipes
186 (Gerlof Fokkema) (Issue #366)
187 * Shellvars: allow partial quoting, mixing multiple styles
188 (Kaarle Ritvanen) (Issue #183);
189 allow wrapping builtin argument to multiple lines
190 (Kaarle Ritvanen) (Issue #184);
191 support ;; on same line with multiple commands
192 (Kaarle Ritvanen) (Issue #185);
193 allow line wrapping and improve quoting support
194 (Kaarle Ritvanen) (Issue #187);
195 accept [] and [[]] builtins (Issue #188);
196 allow && and || constructs after condition
197 (Kaarle Ritvanen) (Issue #265);
198 add pattern nodes in case entries
199 (BREAKING CHANGE: case entry values are now in a
200 @pattern subnode) (Kaarle Ritvanen) (Issue #265)
201 add eval builtin support;
202 add alias builtin support;
203 allow (almost) any command;
204 allow && and || after commands (Issue #215);
205 allow wrapping command sequences
206 (Kaarle Ritvanen) (Issue #333);
207 allow command-specific environment variable
208 (Kaarle Ritvanen) (Issue #332);
209 support subshells (Issue #339)
210 newlines in start of functions
211 allow newlines after actions
212 support comments after function name (Issue #339)
213 exclude SuSEfirewall2 (Cedric Bosdonnat, Issue #357)
214 * Simplelines: parse OpenBSD's hostname.if(5)
215 files (Jasper Lievisse Adriaanse) (Issue #252)
216 * Smbusers: add support for ; comments
217 * Spacevars: support flags (Issue #279)
218 * Ssh: add support for HostKeyAlgorithms, KexAlgorithms
219 and PubkeyAcceptedKeyTypes (Oliver Mangold) (Issue #290),
220 add support for GlobalKnownHostsFile (Issue #316)
221 * Star: New lens to parse /etc/default/star
222 * Sudoers: support for negated command alias
223 (Geoff Williams) (Issue #262)
224 * Syslog: recognize '~' as a valid syslog action (discard)
225 (Gregory Smith) (Issue #282)
226 * Tmpfiles: new lens to parse systemd's tempfiles.d configuration
227 files (Julien Pivotto) (Issue #269)
228 * Trapperkeeper: new lens for Puppet server configuration files
229 * Util: add comment_c_style_or_hash lens
231 * Vsftpd: add isolate and isolate_network options
232 (Florian Chazal) (Issue #334)
233 * Xml: allow empty document (Issue #255)
234 * YAML: new lens (subset) (Dimitar Dimitrov) (Issue #338)
237 - General changes/additions
238 * add a aug_escape_name call to sanitize strings for use in path
239 expressions. There are a few characters that are special in path
240 expressions. This function makes it possible to have them all escaped
241 so that the resulting string can be used in a path expression and is
242 guaranteed to only match a node with exactly that name
243 * paths generated by Augeas are now properly escaped so that, e.g., the
244 strings returned by aug_match can always be fed to aug_get, even if
245 they contain special characters
246 * augtool: correctly record history when reading commands from a file
247 and then switching to interactive mode (Robert Drake)
248 * augtool: new command 'errors' that pretty-prints /augeas//error
249 messages; improve the information provided with 'short iteration'
251 * fix segfault when saving to a file that was not writable (Issue #178)
252 * augtool: on interrupt (Ctrl-C), cancel current line instead of
254 * updated parser.y to work with Bison 3.0.2
255 * fix put-symlink-augsave test to run on Solaris (Geoffrey Gardella,
257 - Lens changes/additions
258 * AFS_Cellalias: new lens (Pat Riehecky)
259 * Authorized_keys: allow double quotes in option values (Issue #135)
260 * Chrony: fix typo in log flag 'measurements' (Pat Riehecky)
261 * Clamav: new lens (Andrew Colin Kissa)
262 * Dns_Zone: New lens to parse DNS zone files (Kaarle Ritvanen)
263 * Dnsmasq: Parse the structure of the 'address' and 'server' options
264 (incompatible change) (Kaarle Ritvanen)
265 * Erlang: parse kernel app config, handle empty lists (RHBZ#1175546)
266 * Exports: support brackets in machine names (Vincent Desjardins)
267 * Grub: support password stanza inside boot/title section (Issue #229)
268 * Httpd: handle eol after opening tag (Issue #220); fix type checking
270 * Iscsid: new lens (Joey Boggs and Pat Riehecky) (Issue #174)
271 * Jaas: several improvements to cover more valid syntax (Steve Shipway)
272 * Known_Hosts: handle aliases for the host name
273 * Krb5: support keyword krb524_server; allow realm names starting
274 with lower-case characters (Jurjen Bokma)
275 * Limits: allow comments at end of line (timdeluxe)
276 * Logrotate: support 'dateformat' directive (Issue #217)
277 support 'maxsize' directive (RHBZ#1213292)
278 do not require a space before an opening '{' (Issue #123)
279 * Mailscanner: new lens (Andrew Colin Kissa)
280 * Mailscanner_Rules: new lens for MailScanner rules (Andrew Colin Kissa)
281 * NagiosCfg: default to no spaces around equal (Issue #177)
282 * Nginx: significantly reworked, now parses entire Nginx stock
283 config successfully (Issue #179)
284 * Pagekite: more fine-grained control of service_on entries; instead of
285 'source' and 'destination', parse into protocol, kitename,
286 backend_host, backend_port, and secret (Michael Pimmer)
287 (incompatible change)
288 * Passwd: support nis [+-]username syntax (Borislav Stoichkov); fix
289 @nisdefault on OpenBSD (Matt Dainty)
290 * Pgbouncer: new lense for the pgbouncer connection pooler (Andrew
292 * Postfix_sasl_smtpd: new lens contributed by larsen0815 (Issue #182)
293 * Postgresql: look for postgresql.conf in paths used on Red Hat based
294 distros (Haotian Liu)
295 * Puppetfile: new lens to parse librarian-puppet's Puppetfile
296 * Pylonspaste: new lense for Pylon's paste init configuration files
298 * PythonPaste: parse "set" keyword for default overrides (RHBZ#1175545)
299 * Shadow: allow NIS entries (Borislav Stoichkov)
300 * Shellvars: case: support ;; on same line with multiple commands
301 (Kaarle Ritvanen); make insertion at the beginning of a
302 file that starts with blank lines work; the new lens will
303 remove blank lines from the beginning of a file as soon as
304 lines are added to or removed from it (GH issue #202);
305 handle associative arrays; add /etc/periodic.conf for
306 FreeBSD (Michael Moll)
307 * Shellvars_list: support double-quoted continued lines
308 * Sudoers: allow '+' in user/groupnames (Andreas Grüninger)
309 * Sysctl: add /boot/loader.conf for FreeBSD (Michael Moll)
310 * Sysconfig: handle leading whitespace at beginning of a line,
314 - General changes/additions
315 * Add missing cp entry in manpage (GH issue #78)
316 * Add seq to vim syntax highlight (Robert Drake)
317 * Update augtool.1 man page with new commands and --span, RHBZ#1100077
318 * augtool autocomplete includes command aliases, RHBZ#1100184
319 * Remove unused "filename" argument from dump-xml command, RHBZ#1100106
320 * aug_save returns non-zero result when unable to delete files,
322 - Lens changes/additions
323 * Aliases: permit missing whitespace between colon and recipients
324 * AptPreferences: Support spaces in origin fields
325 * Cgconfig: handle additional valid controllers (Andy Grimm)
326 * Chrony: New lens to parse /etc/chrony.conf (Pat Riehecky)
327 * CPanel: New lens to parse cpanel.config files
328 * Desktop: Allow @ in keys (GH issue #92)
329 * Device_map: Parse all device.map files under /boot (Mike Latimer)
330 * Dhclient: Add support for option modifiers (Robert Drake,
332 Parse hash statements with dhcp-eval strings
333 * Dhcpd: stmt_string quoted blocks no longer store quote marks
334 (incompatible change),
335 many changes to support more record types (Robert Drake)
336 * Group: NIS support (KaMichael)
337 * Grub: handle "foreground" option, RHBZ#1059383 (Miguel Armas)
338 * Gshadow: New lens (Lorenzo Catucci)
339 * Httpd: Allow eol comments after section tags
340 Allow continued lines inside quoted value (GH issue #104)
341 Allow comparison operators in tags (GH issue #154)
342 * IPRoute2: handle "/" in protocol name, swap ID and name fields
343 (incompatible change), RHBZ#1063968,
344 handle hex IDs and hyphens, as present in
345 rt_dsfield, RHBZ#1063961
346 * Iptables: parse /etc/sysconfig/iptables.save, RHBZ#1144651
347 * Kdump: parse new options, permit EOL comments, refactor, RHBZ#1139298
348 * Keepalived: Add more virtual/real server settings and checks, RHBZ#1064388
349 * Known_Hosts: New lens for SSH known hosts files
350 * Krb5: permit braces in values when not in sub-section, RHBZ#1066419
351 * Ldso: handle "hwcap" lines (GH issue #100)
352 * Lvm: support negative numbers, parse /etc/lvm/lvm.conf (Pino Toscano)
353 * Multipath: add support for rr_min_io_rq (Joel Loudermilk)
354 * NagiosConfig and NagiosObjects: Fix documentation (Simon Sehier)
355 * NetworkManager: Use the Quote module, support # in values (no eol comments)
356 * OpenVPN: Add support for fragment, mssfix, and script-security
358 * Pagekite: New lens (Michael Pimmer)
359 * Pam: Add partial support for arguments enclosed in [] (Vincent Brillault)
360 * Passwd: Refactor lens (Lorenzo Catucci)
361 * Redis: Allow empty quoted values (GH issue #115)
362 * Rmt: New lens to parse /etc/default/rmt, RHBZ#1100549
363 * Rsyslog: support complex $template lines, property filters and file
364 actions with templates, RHBZ#1083016
365 * Services: permit colons in service name, RHBZ#1121263
366 * Shadow: New lens (Lorenzo Catucci)
367 * Shellvars: Handle case statements with same-line ';;', RHBZ#1033799
368 Allow any kind of quoted values in block
369 conditions (GH issue #118)
370 Support $(( .. )) arithmetic expansion in variable
371 assignment, RHBZ#1100550
372 * Simplevars: Support flags and empty values
373 * Sshd: Allow all types of entries in Match groups (GH issue #75)
374 * Sssd: Allow ; for comments
375 * Squid: Support configuration files for squid 3 (Mykola Nikishov)
376 * Sudoers: Allow wuoted string in default str/bool params (Nick Piacentine)
377 * Syslog: Support "# !" style comments (Robert Drake, GH issue #65)
378 Permit IPv6 loghost addresses, RHBZ#1129388
379 * Systemd: Allow quoted Environment key=value pairs, RHBZ#1100547
380 Parse /etc/sysconfig/*.systemd, RHBZ#1083022
381 Parse semicolons inside entry values, RHBZ#1139498
382 * Tuned: New lens for /etc/tuned/tuned-main.conf (Pat Riehecky)
383 * UpdateDB: New lens to parse /etc/updatedb.conf
384 (incompatible change as this file used to be processed with
386 * Xml: Allow backslash in #attribute values (GH issue #145)
387 Parse CDATA elements (GH issue #80)
388 * Xymon_Alerting: refactor lens (GH issue #89)
392 * Add aug_cp and the cp and copy commands
393 * aug_to_xml now includes span information in the XML dump
394 - General changes/additions
395 * Fix documentation link in c_api NaturalDocs menu
396 * Fix NaturalDocs documentation for various lenses
397 * src/transform.c (filter_matches): wrap fnmatch to ensure that an incl
398 pattern containing "//" matches file paths, RHBZ#1031084
399 * Correct locations table for transform_save() (Tomas Hoger)
400 * Corrections for CVE-2012-0786 tests (Tomas Hoger)
401 * Fix umask handling when creating new files, RHBZ#1034261
402 - Lens changes/additions
403 * Access: support DOMAIN\user syntax for users and groups, bug #353
404 * Authorized_Keys: Allow 'ssh-ed25519' as a valid authorized_key
405 type (Jasper Lievisse Adriaanse)
406 * Automounter: Handle hostnames with dashes in them, GH issue #27
407 * Build: Add combinatorics group
408 * Cyrus_Imapd: Create new entries without space before separator,
409 RHBZ#1014974 (Dietmar Kling)
410 * Desktop: Support square brackets in keys
411 * Dhclient: Add dhclient.conf path for Debian/Ubuntu (Esteve Fernandez)
412 * Dhcpd: Support conditionals, GH issue #34
413 Support a wider variety of allow/deny statement, including
414 booting and bootp (Yanis Guenane)
415 Support a wider variety of DHCP allow/deny/ignore statements
417 * Dovecot: Various enhancements and bug fixes (Michael Haslgrübler):
418 add mailbox to block_names, fix for block_args in quotes,
419 fix for block's brackets upon write,
420 fixes broken tests for mailbox,
422 test case for block_args with ""
423 fixes broken indention
425 * Exports: Permit colons for IPv6 client addresses, bug #366
426 * Grub: Support the 'setkey' and 'lock' directives
427 NFC fix whitespace errors
428 Handle makeactive menu command, bug #340
429 Add 'verbose' option, GH issue #73
430 * Interfaces: Add in support for the source stanza in
431 /etc/network/interfaces files
432 Map bond-slaves and bridge-ports to arrays (incompatible
433 change) (Kaarle Ritvanen)
434 Add /etc/network/interfaces.d/* support
435 Allow numeric characters in stanza options (Pascal Lalonde)
436 * Koji: New lens to parse Koji configs (Pat Riehecky)
437 * MongoDBServer: Accept quoted values (Tomas Klouda)
438 * NagiosCfg: Do not try to parse /etc/nagios/nrpe.cfg anymore, GH issue #43
439 /etc/nagios/nrpe.cfg is parsed by Nrpe (Yanis Guenane)
440 * Nagiosobjects: Add support for optional spaces and indents
441 and whole-line comments (Sean Millichamp)
442 * OpenVPN: Support daemon, client-config-dir, route, and management
443 directives (Freakin https://github.com/Freakin)
444 * PHP: allow php-fpm syntax in keys, GH issue #35
445 * Postfix_Main: Handle stray whitespace at end of multiline lines, bug #348
446 * Postfix_virtual: allow '+' and '=' in email addresses (Tom Hendrikx)
447 * Properties: support multiline starting with an empty string, GH issue #19
448 * Samba: Permit asterisk in key name, bug #354
449 * Shellvars: Read /etc/firewalld/firewalld.conf, bug #363
450 Support all types of quoted strings in arrays, bug #357
451 Exclude /etc/sysconfig/ip*tables.save files
452 * Shellvars, Sysconfig: map "bare" export and unset lines to seq numbered
453 nodes to handle multiple variables (incompatible change), RHBZ#1033795
454 * Shellvars_list: Handle backtick variable assignments, bug #368
455 Allow end-of-line comments, bug #342
456 * Simplevars: Add /etc/selinux/semanage.conf
457 * Slapd: use smart quotes for database entries; rename by/what to by/access;
458 allow access to be absent as per official docs (incompatible change)
459 * Sshd: Indent Match entries by 2 spaces by default
460 Support Ciphers and KexAlgorithms groups, GH issue #69
461 Let all special keys be case-insensitive
462 * Sudoers: Permit underscores in group names, bug #370 (Matteo Cerutti)
463 Allow uppercase characters in user names, bug #376
464 * Sysconfig: Permit empty comments after comment lines, RHBZ#1043636
465 * Sysconfig_Route: New lens for RedHat's route configs
466 * Syslog: Accept UDP(@) and TCP(@@) protocol, bug #364 (Yanis Guenane)
467 * Xymon_Alerting: New lens for Xymon alerting files (François Maillard)
468 * Yum: Add yum-cron*.conf files (Pat Riehecky)
469 Include only *.repo files from yum.repos.d (Andrew N Golovkov)
470 Permit spaces after equals sign in list options, GH issue #45
471 Split excludes as lists, bug #275
474 - General changes/additions
475 * Handle files with special characters in their name, bug #343
476 * Fix type error in composition ('f; g') of functions, bug #328
477 * Improve detection of version script; make build work on Illumos with
479 * augparse: add --trace option to print filenames of all modules being
481 * Various lens documentation improvements (Jasper Lievisse Adriaanse)
482 - Lens changes/additions
483 * ActiveMQ_*: new lens for ActiveMQ/JBoss A-MQ (Brian Harrington)
484 * AptCacherNGSecurity: new lens for /etc/apt-cacher-ng/security.conf
486 * Automaster: accept spaces between options
487 * BBHosts: support more flags and downtime feature (Mathieu Alorent)
488 * Bootconf: new lens for OpenBSD's /etc/boot.conf (Jasper Lievisse Adriaanse)
489 * Desktop: Support dos eol
490 * Dhclient: read /etc/dhclient.conf used in OpenBSD (Jasper Lievisse Adriaanse)
491 * Dovecot: New lens for dovecot configurations (Serge Smetana)
492 * Fai_Diskconfig: Optimize some regexps
493 * Fonts: exclude all README files (Jasper Lievisse Adriaanse)
494 * Inetd: support IPv6 addresses, bug #320
495 * IniFile: Add lns_loose and lns_loose_multiline definitions
497 Warning: Smart quotes support means users should not add
498 escaped double quotes themselves. Tests need to be fixed
500 Use standard Util.comment_generic and Util.empty_generic
501 Warning: Existing lens tests must be adapted to use standard
502 comments and empty lines
503 Allow spaces in entry_multiline* values
504 Add entry_generic and entry_multiline_generic
505 Add empty_generic and empty_noindent
506 Let multiline values begin with a single newline
508 Warning: Support for dos eol means existing lenses usually
509 need to be adapted to exclude \r as well as \n.
510 * IPRoute2: Support for iproute2 files (Davide Guerri)
511 * JaaS: lens for the Java Authentication and Authorization Service
513 * JettyRealm: new lens for jetty-realm.properties (Brian Harrington)
514 * JMXAccess, JMXPassword: new lenses for ActiveMQ's JMX files
516 * Krb5: Use standard comments and empty lines
519 Accept pkinit_anchors (Andrew Anderson)
520 * Lightdm: Use standard comments and empty lines
521 * LVM: New lens for LVM metadata (Gabriel)
522 * Mdadm_conf: optimize some regexps
523 * MongoDBServer: new lens (Brian Harrington)
524 * Monit: also load /etc/monitrc (Jasper Lievisse Adriaanse)
525 * MySQL: Use standard comments and empty lines
527 * NagiosCfg: handle Icinga and resources.cfg (Jasper Lievisse Adriaanse)
528 * Nrpe: accept any config option rather than predefined list (Gonzalo
529 Servat); optimize some regexps
530 * Ntpd: new lense for OpenNTPD config (Jasper Lievisse Adriaanse)
531 * Odbc: Use standard comments and empty lines
532 * Openshift_*: new lenses for Openshift support (Brian Harrington)
533 * Quote: allow multiple spaces in quote_spaces; improve docs
534 * Passwd: allow period in user names in spec, bug #337; allow overrides
536 * PHP: Support smart quotes
537 Use standard comments and empty lines
538 Load /etc/php*/fpm/pool.d/*.conf (Enrico Stahn)
539 * Postfix_master: allow [] in words, bug #345
540 * Resolv: support 'lookup' and 'family' key words, bug #320
541 (Jasper Lievisse Adriaanse))
542 * Rsyslog: support :omusrmsg: list of users in actions
543 * RX: add CR to RX.space_in
544 * Samba: Use standard comments and empty lines
546 * Schroot: Support smart quotes
547 * Services: support port ranges (Branan Purvine-Riley)
548 * Shellvars: optimize some regexps; reinstate /etc/sysconfig/network,
549 fixes bug #330, RHBZ#904222, RHBZ#920609; parse /etc/rc.conf.local
551 * Sip_Conf: New lens for sip.conf configurations (Rob Tucker)
552 * Splunk: new lens (Tim Brigham)
553 * Subversion: Support smart quotes
554 Use standard comments and empty lines
555 Use IniFile.entry_multiline_generic
556 Use IniFile.empty_noindent
558 * Sudoers: allow user aliases in specs
559 * Sysctl: exclude README file
560 * Systemd: Support smart quotes; allow backslashes in values
561 * Xinetd: handle missing values in list, bug #307
562 * Xorg: allow 'Screen' in Device section, bug #344
563 * Yum: Support dos eol, optimize some regexps
566 - General changes/additions
567 * fix missing requirement on libxml2 in pkg-config
568 * do not replace pathin with '/*' unless the length is 0
569 or pathin is '/', bug #239
570 * create context path if it doesn't exist
571 * add missing argument to escape() to fix build on solaris, bug #242
572 * fix fatest linking with libfa
573 * don't use variables uninitialized upon error (Jim Meyering)
574 * bootstrap: add strchrnul gnulib module (for Solaris)
575 * remove Linux-isms so tests can run on Solaris
576 * re-open rl_outstream/stdout only when stdout isn't a tty
577 (fixes -e -i); use /dev/tty instead of /dev/stdout when re-opening
578 to prevent permission errors, bug #241
579 * take root into account for excludes, bug #252
580 * fix different errors for parse and put failure
581 * fix various memory leaks
583 * allocate exception instead of static const value
584 * improve aug_srun quoting to permit concatenation and better detect
586 * rename echo to echo_commands to fix differing types reported
587 with Solaris linker (Tim Mooney), bug #262
588 * fix excl filters that only specify a filename or wildcard
589 * make sure reloading discards changes after save with mode 'newfile'
590 * remove loop that added a second iteration around children of /files,
591 causing multiple saves in newfile and noop modes when editing under
592 /files/boot, bug #264
593 * support \t and \n in aug_srun tokens, bug #265
594 * compile_exp: don't return an uninitialized pointer upon failure
596 * include 'extern "C"' wrapper for C++, bug #272 (Igor Pashev)
597 * src/try: don't overwrite gdbcmds.txt if it exists
598 * fix behavior of set with empty strings
599 * allow running individual tests with test-run
600 * test-augtool.sh: escape all possible regular expressions before
601 they are sent to sed (Micah Anderson)
602 * add new print_tree primitive
603 * fix bad memory access in regexp.c
604 * case-insensitive regexps: fix a problem with number of groups
605 * prevent symlink attacks via .augnew during saving,
606 RedHat bug #772257, CVE-2012-0786
607 * prevent cross-mountpoint attacks via .augsave during saving,
608 RedHat bug #772261, CVE-2012-0787
609 * add bundled (gnulib) provides in augeas.spec.in, RedHat bug #821745
610 * make Travis CI builds
611 * src/transform.c (xread_file): catch failed fopen, e.g. EACCES
612 * src/augrun.c (cmd_retrieve_help): tidy line wrapping
613 * make get_square case insensitive on the ending key
614 * escape double quotes when dumping regexp
615 * use constants for "lens", "incl" and "excl"
616 * src/transform.c (filter_generate): remove duplicate variable assignment
617 * src/jmt.c (parse_add_item): ensure return is defined on goto error
618 * src/transform.c (transform_save): chmod after creating new files to
619 permissions implied by the umask
620 * ignore eclipse settings directory
621 * fix memory leak in dbg_visit
622 * build AST while visiting the parse v2
623 * rewrite square lens to be more generic, allowing e.g. square quoting
624 * tests/modules/fail_shadow_union.aug: fix unintended test failure
625 * src/syntax.c (compile_test): print which test failed when missing
627 * libfa (fa_enumerate): new function
628 * use precise ctype of a square lens if it is indeed regula
629 * square: properly handle first lens matching empty string
630 * square lens: correctly process skeletons during put
631 * src/pathx.c: disallow ',' in names in path expressions
632 * src/pathx.c: match functions by name and arity
633 * src/pathx.c: pass the number of actual arguments to the func
635 * correctly parse escaped string literals in vim syntax file (Domen Ko¿ar)
636 - API changes/additions
637 * add aug_text_store to write string to tree
638 * add aug_text_retrieve to turn tree into text
639 * add aug_rename to rename node labels without moving them in the tree
640 * add aug_transform to allow specifying transforms
641 * add aug_label to retrieve the label from a path
642 - Augtool/aug_srun changes/additions
643 * add "touch" command to create node if it doesn't exist, bug #276
644 * make <VALUE> argument to "set" and "setm" optional, bug #276
645 * add "text_store" and "text_retrieve" commands
646 * add "rename" command
647 * add "transform" command and "-t|--transform" option
648 * add "label" command
649 * arrange commands in groups for better help
650 * man/augtool.pod: update mentions of default load path
651 * fix exit code when using autosave
652 * output errors when sending a command as argument
653 * honor --echo when sending a command as argument
654 - XPath changes/additions
655 * add support for an 'i' flag in regexp builtin function
656 - Lens changes/additions
657 * Aliases: commands can be fully enclosed in quotes, bug #229
658 * Anacron: new lens for /etc/anacrontab
659 * Apt_Update_Manager: new lens for /etc/update-manager
660 * AptPreferences: #comments are accepted within entries
661 * AuthorizedKeys: new lens for SSH's authorized_keys
662 * AutoMaster: new lens for auto.master files
663 * AutoMounter: new lens for automounter maps (/etc/auto.*)
664 * Avahi: new lens for /etc/avahi/avahi-daemon.conf (Athir Nuaimi)
666 * Cachefilesd: new lens for /etc/cachefilesd.conf (Pat Riehecky)
667 * Carbon: new lens for /etc/carbon files (Marc Fournier)
668 * Cgconfig: add space between group and id (Filip Andres)
669 * Channels: new lens for channels.conf
670 * Collectd: new lens for /etc/collectd.conf
671 * Cron: exclude cron allow/deny files;
672 optimize typechecking;
673 records can be prefixed by '-' (Michal Filka)
674 * CronAllow: new lens for cron/at allow/deny files
675 * Cups: new lens for Cups files
676 * Cyrus_Imapd: new lens for /etc/imapd.conf, bug #296 (Jeroen van Meeuwen)
677 * Debctrl: fixed package paragraph keywords, allow variables
678 for version numbers in dependency lists,
679 allow DM-Upload-Allowed keyword, Debian bug #650887;
680 allow control extensions for Python packages, bug #267
681 * Dhcpd: fix primary statement arguments, bug #293;
682 use the Quote module to manage quoted values;
683 force double quotes for filename attribute, bug #311
684 * Dput: use Sys.getenv("HOME")
685 * Erlang: new generic lens to build Erlang config lenses
686 * Fonts: new lens for /etc/fonts files
687 * Fstab: handle options with empty values ("password=");
688 make options field optional;
689 allow end-of-line comment
690 * Fuse: new lens for fuse.conf
691 * Gdm: include /etc/gdm/custom.conf
692 * Grub: parse "password --encrypted" properly, bug #250;
693 optimize typechecking;
694 add /boot/grub/grub.conf to transform (Josh Kayse)
695 * GtkBookmarks: new lens for $HOME/.gtk-bookmarks
696 * Hosts_Access: add netmask;
697 permit more client list formats
698 (whitespace separated lists, @netgroups,
699 IPv6 hosts, inc. zone indices,
700 paths to lists of clients, wildcards,
701 hosts_options), bug #256
702 * Htpasswd: new lens for htpasswd/rsyncd.secret files (Marc Fournier)
703 * Httpd: support DOS eol
704 * IniFile: allow # and ; in quoted values, bug #243;
705 add entry_list and entry_list_nocomment
706 * Inputrc: new lens for /etc/inputrc
707 * Iptables: test that blank lines are accepted (Terence Haddock)
708 * Json: allow JSON number literals to be followed by whitespace;
709 correctly parse empty object and arrays (Lubomir Rintel)
710 * Keepalived: various improvements, optimize typechecking
711 * Krb5: handle host{} sections in v4_name_convert;
712 support ticket_lifetime;
713 handle multiple arguments to *_enctypes (Pat Riehecky);
714 better whitespace and semicolon comment support
715 * Ldif: new lens to read LDIF files per RFC2849
716 * Ldso: new lens for ld.so.conf files
717 * Lightdm: new lens for /etc/lightdm/*.conf, bug #302 (David Salmen)
718 * Logrotate: rewrite with Build, Rx, and Sep;
719 add su logrotate.conf option (Luc Didry);
720 accept integers prefixed by a sign (Michal Filka)
721 * Logwatch: new lens for /etc/logwatch/conf/logwatch.conf (Francois Lebel)
722 * Mcollective: new lens for Mcollective files (Marc Fournier)
723 * Memcached: new lens for /etc/memcached.conf (Marc Fournier)
724 * Mdadm_conf: include /etc/mdadm/mdadm.conf
725 * Mke2fs: add support for default_mntopts, enable_periodic_fsck,
726 and auto_64-bit_support
727 * Modprobe: support softdep command, Debian bug #641813;
728 allow spaces around '=' in option, RedHat bug #826752;
729 support multiline split commands, Ubuntu bug #1054306;
730 revert inner lens name change, fixes Modules_conf
731 * Modules: define own entry regexp as referenced Modprobe inner lens
732 doesn't match file format
733 * Multipath: allow devices to override defaults, bug #278 (Jacob M. McCann)
734 * NagiosCfg: support syntax for commands.cfg and resource.cfg
735 * Netmask: new lens for /etc/inet/netmasks on Solaris
736 * NetworkManager: new lens for NetworkManager files
737 * Networks: handle multiple missing network octets,
738 fix sequencing of aliases
739 * Nginx: new lens for /etc/nginx/nginx.conf (Ian Berry)
740 * Nsswitch: add passwd_compat, group_compat and shadow_compat
741 GNU extensions (Travis Groth);
742 remove long list of databases, match by regexp
743 * Ntp: allow deprecated 'authenticate' setting;
744 add tos directive, bug #297 (Jacob M. McCann)
745 * OpenVPN: use the Quote module to manage quoted values
746 * Pam: allow uppercase chars in 'types', remove /etc/pam.conf from filter;
747 ignore allow.pamlist;
748 exclude /etc/pam.d/README, bug #255
749 * PamConf: new lens for /etc/pam.conf
750 * Passwd: allow asterisk in password field, bug #255
751 * Pg_Hba: support multiple options, bug #313;
752 add a path to pg_hba.aug, bug #281 (Marc Fournier)
753 * Php: support include() statements
754 * Phpvars: map arrays with @arraykey subnodes to make working paths;
755 support classes and public/var values, bug #299 (aheahe)
756 * Postfix_Transport: new lens for Postfix transport files;
757 allow host:port and [host]:port syntaxes, bug #303
758 * Postfix_Virtual: new lens for Postfix virtual files
759 * Postgresql: new lens for postgresql.conf;
760 properly support quotes, bug #317
761 * Properties: improve handling of whitespace, empty props, and underscores
762 in keys (Brett Porter, Carlos Sanchez)
763 * Protocols: new lens for /etc/protocols
764 * Puppet: add /usr/local/etc/puppet paths (Tim Bishop)
765 * Puppet_Auth: new lens for /etc/puppet/auth.conf
766 * PuppetFileserver: add /usr/local/etc/puppet paths (Tim Bishop)
767 * PythonPaste: new lens for Python Paste configs (Dan Prince)
768 * Qpid: new lens to read Apache Qpid daemon/client configs (Andrew Replogle)
769 * Quote: new generic lens to manage quoted values using square lenses
770 * Rabbitmq: new lens for /etc/rabbitmq/rabbitmq.config
771 * Redis: new lens for /etc/redis/redis.conf (Marc Fournier)
772 * Resolv: add in single-request-reopen (Erinn Looney-Triggs)
773 * Rsyslog: new lens for rsyslog files
774 * Rx: add continous lines (cl, cl_or_space, cl_or_opt_space)
775 * Sep: add space_equal;
776 add continous lines (cl_or_space, cl_or_opt_space)
777 * Shellvars: support @return;
778 allow multiple elif statements;
781 autoload some SuSe and RHN specific files (Duncan Mac-Vicar P);
782 add BSD's /etc/rc.conf, bug #255;
783 remove non-shell files, up2date now has a lens,
784 move updatedb.conf to Simplevars;
785 include /etc/{default,sysconfig}/* and /etc/selinux/config;
786 add systemd's /etc/os-release file;
787 exclude bootloader from shellvars (Duncan Mac-Vicar P);
788 handle bash's implicit concatenation of quoted strings
790 exclude /etc/default/whoopsie;
791 fix ambiguity by making semi-colons illegal in bquot
793 add lns_norec to check for ambiguities;
794 allow newlines in quoted values;
795 allow semi-colons in bquot and dollar_assign;
796 make end-of-line comments begin with a space;
797 allow double backquoted values;
798 support matching keys in var_action, bug #290;
799 fix empty lines after comments;
800 add shift and exit builtins, with optional args;
801 allow double quotes around variables in case statements;
803 add locale.conf, vconsole.conf systemd configs,
805 * Shells: permit same-line comments
806 * Simplelines: new lens for simple lines files
807 * Simplevars: new lens for simple key/value, non shellvars files
808 * Smbusers: new lens for Samba's smbusers
809 * Sssd: new lens for sssd.conf (Erinn Looney-Triggs)
810 * Ssh: use Sys.getenv('HOME') in filter instead of ~ since it's not
812 * Sshd: permit hyphens in subsystem names
813 * Subversion: new lens for /etc/subversion files
814 * Sudoers: optimize typechecking;
815 allow = in commands (but force ! or / as first character
817 allow commands without full path if they begin with a lowcase
819 allow "!" as a type of Defaults entry, Debian bug #650079;
820 allow quoted strings in Defaults parameters, bug #263
821 * Sysconfig: handle end of line comments and semicolons; strip quotes,
823 * Sysctl: include /etc/sysctl.d files
824 * Syslog: allow capital letters in tokens
825 * Systemd: new lens to parse systemd unit files
826 * Thttpd: new lens for /etc/thttpd/thttpd.conf (Marc Fournier)
827 * Up2date: new lens for /etc/sysconfig/rhn/up2date
828 * Util: add comment_noindent; add delim; add doseol;
829 support DOS eols in various places;
830 add *.bak and *.old to stdexcl, to match files in /etc/sysconfig
831 * Vfstab: new lens for /etc/vfstab config on Solaris
832 * Vmware_Config: new lens for /etc/vmware/config
833 * Vsftpd: add require_ssl_reuse option (Danny Yates)
834 * Xinetd: rewrite with Build, Sep, and Rx;
835 make attribute names case-insensitive (Michal Filka)
836 * Xml: support single _and_ double quoted attribute values,
837 RedHat bug #799885, bug #258
838 * Xymon: new lens for Xymon config files, bug #266 (Jason Kincl)
839 * Yum: rebase on IniFile, support for comments, bug #217
842 - support relative paths by taking them relative to the value
843 of /augeas/context in all API functions where paths are used
844 - add aug_to_xml to API: transform tree(s) into XML, exposed as dump-xml
845 in aug_srun and augtool. Introduces dependency on libxml2
846 - fix regular expression escaping. Previously, /[\/]/ match either a
847 backslash or a slash. Now it only matches a slash
848 - path expressions: add function 'int' to convert a node value (string)
850 - path expressions: make sure the regexp produced by empty nodesets from
851 regexp() and glob() matches nothing, rather than the empty word
852 - fix --autosave when running single command from command line, BZ 743023
853 - aug_srun: support 'insert' and 'move' as aliases for 'ins' and 'mv'
854 - aug_srun: allow escaping of spaces, quotes and brackets with \
855 - aug_init: accept AUG_NO_ERR_CLOSE flag; return augeas handle even when
856 intialization fails so that caller gets some details about why
857 initialization failed
858 - aug_srun: tolerate trailing white space in commands
859 - much improved, expanded documentation of many lenses
860 - always interpret lens filter paths as absolute, bug #238
861 - fix bug in libfa that would incorrectly calculate the difference of a
862 case sensistive and case insensitive regexp (/[a-zA-Z]+/ - /word/i
864 - new builtin 'regexp_match' for .aug files to make testing regexp
865 matching easier during development
866 - fix 'span' command, bug #220
867 - Lens changes/additions
868 * Access: parse user@host and (group) in users field; field separator
869 need not be surrounded by spaces
870 * Aliases: allow spaces before colons
871 * Aptconf: new lens for /etc/apt/apt.conf
872 * Aptpreferences: support origin entries
873 * Backuppchosts: new lens for /etc/backuppc/hosts, bug 233 (Adam Helms)
874 * Bbhosts: various fixes
875 * Cgconfig: id allowed too many characters
876 * Cron: variables aren't set like shellvars, semicolons are allowed in
877 email addresses; fix parsing of numeric fields, previously upper case
878 chars were allowed; support ranges in time specs
879 * Desktop: new lens for .desktop files
880 * Dhcpd: slashes must be double-quoted; add Red Hat's dhcpd.conf
882 * Exports: allow empty options
883 * Fai_diskconfig: new lens for FAI disk_config files
884 * Fstab: allow ',' in file names, BZ 751342
885 * Host_access: new lens for /etc/hosts.{allow,deny}
886 * Host_conf: new lens for /etc/host.conf
887 * Hostname: new lens for /etc/hostname
888 * Hosts: also load /etc/mailname by default
889 * Iptables: allow digits in ipt_match keys, bug #224
890 * Json: fix whitespace handling, removing some cf ambiguities
891 * Kdump: new lens for /etc/kdump.conf (Roman Rakus)
892 * Keepalived: support many more flags, fields and blocks
893 * Krb5: support [pam] section, bug #225
894 * Logrotate: be more tolerant of whitespace in odd places
895 * Mdadm_conf: new lens for /etc/mdadm.conf
896 * Modprobe: Parse commands in install/remove stanzas (this introduces a
897 backwards incompatibility); Drop support for include as it is not
898 documented in manpages and no unit tests are shipped.
899 * Modules: new lens for /etc/modules
900 * Multipath: add support for seveal options in defaults section, bug #207
901 * Mysql: includedir statements are not part of sections; support
902 \!include; allow indentation of entries and flags
903 * Networks: new lens for /etc/networks
904 * Nrpe: allow '=' in commands, bug #218 (Marc Fournier)
905 * Php: allow indented entries
906 * Phpvars: allow double quotes in variable names; accept case
907 insensitive PHP tags; accept 'include_once'; allow empty lines at
908 EOF; support define() and bash-style and end-of-line comments
909 * Postfix_master: allow a lot more chars in words/commands, including
911 * PuppetFileserver: support same-line comments and trailing whitespace,
913 * Reprepo_uploaders: new lens for reprepro's uploaders files
914 * Resolv: permit end-of-line comments
915 * Schroot: new lens for /etc/schroot/schroot.conf
916 * Shellvars: greatly expand shell syntax understood; support various
917 syntactic constructs like if/then/elif/else, for, while, until, case,
918 and select; load /etc/blkid.conf by default
919 * Spacevars: add toplevel lens 'lns' for consistency
920 * Ssh: new lens for ssh_config (Jiri Suchomel)
921 * Stunnel: new lens for /etc/stunnel/stunnel.conf (Oliver Beattie)
922 * Sudoers: support more parameter flags/options, bug #143
923 * Xendconfsxp: lens for Xen configuration (Tom Limoncelli)
924 * Xinetd: allow spaces after '{'
927 - augtool: keep history in ~/.augeas/history
928 - add aug_srun API function; this makes it possible to run a sequence of
929 commands through the API
930 - aug_mv: report error AUG_EMVDESC on attempts to move a node into one of
932 - path expressions: allow whitespace inside names, making '/files/etc/foo
933 bar/baz' a legal path, but parse [expr1 or expr2] and [expr1 and expr2]
934 as the logical and/or of expr1 and expr2
935 - path expressions: interpret escape sequences in regexps; since '.' does
936 not match newlines, it has to be possible to write '.|\n' to match any
938 - path expressions: allow concatenating strings and regexps; add
939 comparison operator '!~'; add function 'glob'; allow passing a nodeset
941 - store the names of the functions available in path expressions under
943 - fix several smaller memory leaks
944 - Lens changes/additions
945 * Aliases: allow spaces and commas in aliases (Mathieu Arnold)
946 * Grub: allow "bootfs" Solaris/ZFS extension for dataset name, bug #201
947 (Dominic Cleal); allow kernel path starting with a BIOS device,
949 * Inifile: allow multiline values
950 * Php: include files from Zend community edition, bug #210
951 * Properties: new lens for Java properties files, bug #194 (Craig Dunn)
952 * Spacevars: autoload two ldap files, bug #202 (John Morrissey)
953 * Sudoers: support users:groups format in a Runas_Spec line, bug #211;
954 add CSW paths (Dominic Cleal)
955 * Util: allow comment_or_eol to match whitespace-only comments,
956 bug #205 (Dominic Cleal)
957 * Xorg: accept InputClass section; autoload from /etc/X11/xorg.conf.d,
961 - augtool: respect autosave flag in oneshot mode, bug #193; fix segfault
962 caused by unmatched bracket in path expression, bug #186
963 - eliminate a global variable in the lexer, fixes BZ 690286
964 - replace an erroneous assert(0) with a proper error message when none of
965 the alternatives in a union match during saving, bug #183
966 - improve AIX support
967 - Lens changes/additions
968 * Access: support the format @netgroup@@nisdomain, bug #190
969 * Fstab: fix parsing of SELinux labels in the fscontext option (Matt Booth)
970 * Grub: support 'device' directive for UEFI boot, bug #189; support
971 'configfile' and 'background' (Onur Küçük)
972 * Httpd: handle continuation lines (Bill Pemberton); autoload
973 httpd.conf on Fedora/RHEL, BZ 688149; fix support for single-quoted
975 * Iptables: support --tcp-flags, bug #157; allow blank and comment
977 * Mysql: include /etc/my.cnf used on Fedora/RHEL, BZ 688053
978 * NagiosCfg: parse setting multiple values on one line (Sebastien Aperghis)
979 * NagiosObjects: process /etc/nagios3/objects/*.cfg (Sebastien Aperghis)
980 * Nsswitch: support 'sudoers' as a database, bug #187
981 * Shellvars: autoload /etc/rc.conf used in FreeBSD (Rich Jones)
982 * Sudoers: support '#include' and '#includedir', bug #188
983 * Yum: exclude /etc/yum/pluginconf.d/versionlock.list (Bill Pemberton)
986 - add new 'square' lens combinator
987 - add new aug_span API function
988 - augtool: short options for --nostdinc, --noload, and --noautoload
989 - augtool: read commands from tty after executing file with --interactive
990 - augtool: add --autosave option
991 - augtool: add --span option to load nodes' span
992 - augtool: add span command to get the node's span according to the input
994 - augtool: really be quiet when we shouldn't be echoing
995 - fix segfault in get.c with L_MAYBE lens; bug #180
996 - fix segfault when a path expression called regexp() with an invalid
998 - improved vim syntax file
999 - replace augtest by test-augtool.sh to obviate the need for Ruby to run
1001 - use sys_wait module from gnulib; bug #164
1002 - Lens changes/additions
1003 * Access: new lens for /etc/security/access.conf (Lorenzo Dalrio)
1004 * Crypttab: new lens for /etc/crypttab (Frederic Lespez)
1006 * Exports: accept hostnames with dashes; bug #169 (Sergio Ballestrero)
1007 * Grub: add various Solaris extensions (Dominic Cleal); support "map"
1009 * Httpd: new lens for Apache config
1010 * Inifile: new lens indented_title_label
1011 * Interfaces: allow indentation for "iface" entries; bug #182
1012 * Mysql: change default comment delimiter from ';' to '#'; bug #181
1013 * Nsswitch: accept various add'l databases; bug #171
1014 * PuppetFileserver: new lens for Puppet's fileserver.conf (Frederic Lespez)
1015 * REsolv: allow comments starting with ';'; bug #173 (erinn)
1016 * Shellvars: autoload various snmpd config files; bug #170 (erinn)
1017 * Solaris_system: new lens for /etc/system on Solaris (Dominic Cleal)
1018 * Util (comment_c_style, empty_generic, empty_c_style): new lenses
1019 * Xml: generic lens to process XML files
1020 * Xorg: make "position" in "screen" optional; allow "Extensions"
1021 section; bug #175 (omzkk)
1024 - augtool: new clearm command to parallel setm
1025 - augtool: add --file option
1026 - Fix SEGV under gcc 4.5, caused by difficulties of the gcc optimizer
1027 handling bitfields (bug #149; rhbz #651992)
1028 - Preserve parse errors under /augeas//error: commit 5ee81630, released
1029 in 0.7.3, introduced a regression that would cause the loss of parse
1031 - Avoid losing already parsed nodes under certain circumstances; bug #144
1032 - Properly record the new mtime of a saved file; previously the mtime in
1033 the tree was reset to 0 when a file was saved, causing unnecessary file
1035 - fix a SEGV when using L_MAYBE in recursive lens; bug #136
1036 - Incompatible lens changes
1037 * Fstab: parse option values
1038 * Squid: various improvements, see bug #46;
1039 * Xinetd: map service names differently
1040 - Lens changes/additions
1041 * Aptsources: map comments properly, allow indented lines; bug #151
1042 * Grub: add indomU setting for Debian. Allow '=' as separator in title;
1044 * Fstab: also process /etc/mtab
1045 * Inetd: support rpc services
1046 * Iptables: allow underscore in chain names
1047 * Keepalived: new lens for /etc/keepalived/keepalived.conf
1048 * Krb5: allow digits in realm names; bug #139
1049 * Login_defs: new lens for /etc/login.defs (Erinn Looney-Triggs)
1050 * Mke2fs: new lens for /etc/mke2fs.conf
1051 * Nrpe: new lens for Nagios nrpe (Marc Fournier)
1052 * Nsswitch: new lens for /etc/nsswitch.conf
1053 * Odbc: new lens for /etc/odbc.ini (Marc Fournier)
1054 * Pg_hba: New lens; bug #140 (Aurelien Bompard). Add system path on
1055 Debian; bug #154 (Marc Fournier)
1056 * Postfix_master: parse arguments in double quotes; bug #69
1057 * Resolv: new lens for /etc/resolv.conf
1058 * Shells: new lens for /etc/shells
1059 * Shellvars: parse ulimit builtin
1060 * Sudoers: load file from /usr/local/etc (Mathieu Arnold) Allow
1061 'visiblepw' parameter flag; bug #143. Read files from /etc/sudoers.d
1062 * Syslog: new lens for /etc/syslog.conf (Mathieu Arnold)
1063 * Util: exclude dpkg backup files; bug #153 (Marc Fournier)
1064 * Yum: accept continuation lines for gpgkey; bug #132
1067 - aug_load: only reparse files that have actually changed; greatly speeds
1069 - record all variables in /augeas/variables, regardless of whether they
1070 were defined with aug_defvar or aug_defnode; make sure
1071 /augeas/variables always exists
1072 - redefine all variables (by reevaluating their corresponding
1073 expressions) after a aug_load. This makes variables 'sticky' across
1075 - fix behavior of aug_defnode to not fail when the expression evaluates
1076 to a nonempty node set
1077 - make gnulib a git submodule so that we record the gnulib commit off
1079 - allow 'let rec' with non-recursive RHS
1080 - fix memory corruption when reloading a tree into which a variable
1081 defined by defnode points (BZ 613967)
1082 - plug a few small memory leaks, and some segfaults
1083 - Lens changes/additions
1084 * Device_map: new lens for grub's device.map (Matt Booth)
1085 * Limits: also look for files in /etc/security/limits.d
1086 * Mysql: new lens (Tim Stoop)
1087 * Shellvars: read /etc/sysconfig/suseconfig (Frederik Wagner)
1088 * Sudoers: allow escaped spaces in user/group names (Raphael Pinson)
1089 * Sysconfig: lens for the shell subdialect used in /etc/sysconfig; lens
1090 strips quotes automatically
1093 - new API call aug_setm to set/create multiple nodes simultaneously
1094 - record expression used in a defvar underneath /augeas/variables
1095 - Lens changes/additions
1096 * Group: add test for disabled account (Raphael Pinson)
1097 * Grub: handle comments within a boot stanza
1098 * Iptables: also look for /etc/iptables-save (Nicolas Valcarcel)
1099 * Modules_conf: new lens for /etc/modules.conf (Matt Booth)
1100 * Securetty: added handling of emtpy lines/comments (Frederik Wagner)
1101 * Shellvars: added SuSE sysconfig puppet files (Frederik Wagner),
1102 process /etc/environment (seph)
1103 * Shellvars_list: Shellvars-like lens that treats strings of
1104 space-separated words as lists (Frederik Wagner)
1107 - new primitive lens 'value' to set value of a node to a constant,
1108 similar to 'label' for the key (see http://augeas.net/docs/lenses.html)
1109 - new builtins for printing and getting the types of a lens (see
1110 http://augeas.net/docs/builtins.html)
1111 - add unit type to lens language; allow '_' as an identifier in let's to
1112 force evaluation for side effect only
1113 - Various fixes for Solaris. Augeas now builds cleanly on Solaris 5.10,
1114 and most of the tests pass. The three tests that fail all fail because
1115 the test scripts have Linux idiosyncrasies. This needs to be addressed
1116 in a future release. Much thanks to Dagobert Michelsen and the OpenCSW
1117 project (http://www.opencsw.org/) for providing me with access to their
1119 - fix crash when recursive lens was used in a nonrecursive lens (bug #100)
1120 - context free parser/recursive lenses: handle 'l?' properly (bug #119);
1121 distinguish between successful parse and parse with an error at end of
1122 input; do caller filtering to avoid spurious ambiguous parses with
1123 grammars containing epsilon productions
1124 - aug_get: return -1 when multiple nodes match (bug #121)
1125 - much better error message when iteration stops prematurely during
1126 put/create than the dreaded 'Short iteration'
1127 - augtool: ignore empty lines from stdin; report error when get fails
1128 - fix memory leak in file_info (transform.c); this was leaking a file
1129 name every time we loaded a file (Laine Stump)
1130 - nicer error message when typechecker spots ambiguity in atype
1131 - libfa: handle '(a|)' and 'r{min,}' properly
1132 - locale independence: handle a literal '|' properly on systems that lack
1134 - bootstrap: pull in isblank explicitly (needed on Solaris)
1135 - src/lens.c (lns_check_rec): fix refcounting mistake on error path (bug #120)
1136 - fix SEGV when loading empty files
1137 - improvements in handling some OOM's
1138 - Lens changes/additions
1139 * Approx: lens and test for the approx proxy server (Tim Stoop)
1140 * Cgconfig: lens and tests for libcgroup config (Ivana Hutarova Varekova)
1141 * Cgrules: new lens and test (Ivana Hutarova Varekova)
1142 * Cobblermodules: lens + tests for cobbler's modules.conf (Shannon Hughes)
1143 * Debctrl: new lens and test (Dominique Dumont)
1144 * Dput: add 'allow_dcut' parameter (bug #105) (Raphael Pinson)
1145 * Dhclient: add rfc code parsing (bug #107) (Raphael Pinson)
1146 * Group: handle disabled passwords
1147 * Grub: support empty kernel parameters, Suse incl.s (Frederik Wagner)
1148 * Inittab: allow ':' in the process field (bug #109)
1149 * Logrotate: tolerate whitespace at the end of a line (bug #101); files
1150 can be separated by newlines (bug #104) (Raphael Pinson)
1151 * Modprobe: Suse includes (Frederik Wagner)
1152 * Nagisocfg: lens and test for /etc/nagios3/nagios.cfg (Tim Stoop)
1153 * Ntp: add 'tinker' directive (bug #103)
1154 * Passwd: parse NIS entries on Solaris
1155 * Securetty: new lens and test for /etc/securetty (Simon Josi)
1156 * Shellvars: handle a bare 'export VAR'; Suse includes (Frederik
1157 Wagner); allow spaces after/before opening/closing parens for array
1158 * Sshd: allow optional arguments in subsystem commands (Matt Palmer)
1159 * Sudoers: allow del_negate even if no negate_node is found (bug #106)
1160 (Raphael Pinson); accept 'secure_path' (BZ 566134) (Stuart
1164 - Support for context-free lenses via the 'let rec' keyword. The syntax
1165 is experimental, though the feature is here to stay. See
1166 lenses/json.aug for an example of what's possible with that.
1167 - Support for case-insensitive regular expressions. Simply append 'i' to
1168 a regexp literal to make it case-insensitive, e.g. /hello/i will match
1169 all variations of hello, regardless of case.
1170 - Major revamp of augtool. In particular, path expressions don't need to
1171 be quoted anymore. The online help has been greatly improved.
1172 - Check during load/save that each file is only matched by one transform
1173 under /augeas/load. If there are multiple transforms for a file, the
1175 - New error codes AUG_ENOLENS and AUG_EMXFM
1176 - Do not choke on non-existing lens during save
1177 - Change the metadata for files under /augeas/files slightly: the node
1178 /augeas/files/$PATH/lens now has the name of the lens used to load the
1179 file; the source location of that lens has moved to
1180 /augeas/files/$PATH/lens/info
1181 - New public functions fa_nocase, fa_is_nocase, and fa_expand_nocase in
1183 - Various smaller bug fixes, performance improvements and improved error
1185 - Lens changes/additions
1186 * Cobblersettings: new lens and test (Bryan Kearney)
1187 * Iptables: allow quoted strings as arguments; handle both negation
1189 * Json: lens and tests for generic Json files
1190 * Lokkit: allow '-' in arguments
1191 * Samba: accept entry keys with ':' (Partha Aji)
1192 * Shellvars: allow arrays that span multiple lines
1193 * Xinetd (name): fix bad '-' in character class
1196 - Add error reporting API (aug_error and related calls); use to report
1197 error details in a variety of places
1198 - Path expressions: add regexp matching; add operator '|' to form union
1199 of nodesets (ticket #89)
1200 - Tolerate non-C locales from the environment (ticket #35); it is no
1201 longer necessary to set the locale to C from the outside
1202 - use stpcpy/stpncpy from gnulib (needed for building on Solaris)
1203 - Properly check regexp literals for syntax errors (ticket #93)
1204 - Distribute and install vim syntax files (ticket #97)
1205 - many more bugfixes
1206 - Lens changes/additions
1207 * Apt_preferences: support version pin; filter out empty lines (Matt
1209 * Cron: variables can contain '_' etc. (ticket #94)
1210 * Ethers: new lens for /etc/ethers (Satoru SATOH)
1211 * Fstab: allow '#' in spec (ticket #95)
1212 * Group: allow empty password field (ticket #95)
1213 * Inittab: parse end-of-line comments into a #comment
1214 * Krb5: support kdc section; add v4_name_convert subsection to
1215 libdefaults (ticket #95)
1216 * Lokkit: add mising eol to forward_port; make argument for --trust
1218 * Pam: allow '-' before type
1219 * Postfix_access: new lens for /etc/postfix/access (Partha Aji)
1220 * Rx: allow '!' in device_name
1221 * Sudoers: allow certain backslash-quoted characters in a command (Matt
1223 * Wine: new lens to read Windows registry files
1226 - Match trees on label + value, not just label; see
1227 tests/modules/pass_strip_quotes.aug for how that enables stripping
1229 - Do not trip over symlinks to files on a different device during save;
1230 fixes problems with writing to /etc/grub.conf on Fedora/RHEL
1231 - API (defnode): always add the newly created node into the resulting
1233 - Add preceding-sibling and following-sibling axes to path expressions
1234 - augtool, augparse: add --version option (bug #88)
1235 - Change file info recorded under /augeas/files/FILE/*: remove lens/id
1236 and move lens/info to lens
1237 - Properly record new files under /augeas/files (bug #78)
1238 - aug_load: clean up variables to avoid dangling references (bug #79)
1239 - Make Augeas work on AIX
1240 - Ignore anything but regular files when globbing
1241 - Add 'clear' function to language for use in unit tests
1242 - typechecker: print example trees in tree format
1243 - libfa: properly support regexps with embedded NUL's
1244 - Lens changes/additions
1245 * Xorg: revamped, fixes various parse failures (Matt Booth)
1246 * Inetd: new lens and test (Matt Palmer)
1247 * Multipath: new lens and test
1248 * Slapd: also read /etc/openldap.slapd.conf (bug #85)
1251 - Make Augeas work on Mac OS/X (bug #66) (Anders Bjoerklund)
1252 - reduce symbols exported from libfa with linker script
1253 - add --echo option to augtool
1254 - require Automake 1.11 (Jim Meyering)
1255 - avoid spurious save attempts for freshly read files
1256 - Lens changes/additions
1257 * Inittab: schema change: use 'id' field as name of subtree for a line,
1258 instead of a generated number. Map comments as '#comment' (Matt Palmer)
1259 * Logrotate: make owner/group in create statement optional, allow
1260 filenames to be indented
1261 * Ntp: allow additional options for server etc. (bug #72)
1262 * Shellvars: allow backticks as quote characters (bug #74)
1263 * Yum: also read files in /etc/yum/pluginconf.d (Marc Fournier)
1266 - augeas.h: flag AUG_NO_MODL_AUTOLOAD suppresses initial loading
1267 of modules; exposed as --noautoload in augtool
1268 - augtool: don't prompt when input is not from tty (Raphael Pinson)
1269 - augparse: add --notypecheck option
1270 - path expressions: allow things like '/foo and /bar[3]' in predicates
1271 - Lens changes/additions
1272 * Aliases: map comments as #comment (Raphael Pinson)
1273 * Build, Rx, Sep: new utility modules (Raphael Pinson)
1274 * Cron: new lens (Raphael Pinson)
1275 * Dnsmasq: process files in /etc/dnsmasq.d/* (ticket #65)
1276 * Grub: parse kernel and module args into separate nodes; parse
1277 arguments for 'serial', 'terminal', and 'chainloader'; allow
1278 optional argument for 'savedefault'
1279 * Interfaces: make compliant with actual Debian spec (Matt Palmer)
1280 * Iptables: relax regexp for chain names; allow comment lines mixed
1281 in with chains and rules (ticket #51)
1282 * Logrotate: allow '=' as separator (ticket #61); make newline at end
1283 of scriptlet optional
1284 * Modprobe: handle comments at end of line
1285 * Ntp: parse fudge record (Raphael Pinson); parse all directives in
1286 default Fedora ntp.conf; process 'broadcastdelay', 'leapfile',
1287 and enable/disable flags (ticket #62)
1288 * Pbuilder: new lens for Debian's personal builder (Raphael Pinson)
1289 * Php: add default path on Fedora/RHEL (Marc Fournier)
1290 * Squid: handle indented entries (Raphael Pinson)
1291 * Shellvars: map 'export' and 'unset'; map comments as #comment
1293 * Sudoers: allow backslashes inside values (ticket #60) (Raphael Pinson)
1294 * Vsftpd: map comments as #comment; handle empty lines; find
1295 vsftpd.conf on Fedora/RHEL
1296 * Xinetd: map comments as #comment (Raphael Pinson)
1299 - Clean up interface for libfa; the interface is now considered stable
1300 - New aug_load API call; allows controlling which files to load by
1301 modifying /augeas/load and then calling aug_load; on startup, the
1302 transforms marked with autoload are reported under /augeas/load
1303 - New flag AUG_NO_LOAD for aug_init to keep it from loading files on
1304 startup; add --noload option to augtool
1305 - New API calls aug_defvar and aug_defnode to define variables for
1306 path expressions; exposed as 'defvar' and 'defnode' in augtool
1307 - Lenses distributed with Augeas are now installed in
1308 /usr/share/augeas/lenses/dist, which is searched after
1309 /usr/share/augeas/lenses, so that lenses installed by other packages
1311 - New program examples/fadot to draw various finite automata (Francis
1313 - Report line number and character offset in the tree when parsing a
1314 file with a lens fails
1315 - Fix error in propagation of dirty flag, which could lead to only
1316 parts of a tree being saved when multiple files were modified
1317 - Flush files to disk before moving them
1318 - Fix a number of memory corruptions in the XPath evaluator
1319 - Several performance improvements in libfa
1320 - Lens changes/additions
1321 * Grub: process embedded comments for update-grub (Raphael Pinson)
1322 * Iptables: new lens for /etc/sysconfig/iptables
1323 * Krb5: new lens for /etc/krb5.conf
1324 * Limits: map dpmain as value of 'domain' node, not as label
1326 * Lokkit: new lens for /etc/sysconfig/system-config-firewall
1327 * Modprobe: new lens for /etc/modprobe.d/*
1328 * Sudoers: more finegrained parsing (ticket #48) (Raphael Pinson)
1331 - Do not delete files that had an error upon parsing
1332 - For Fedora/EPEL RPM's, BuildRequire libselinux-devel (bug #26)
1333 - Bug fixes in path expressions
1334 * for numbers, the meaning of '<' and '<=' was reversed
1335 - Always create an entry /files in aug_init
1336 - New builtin 'Sys' module with functions 'getenv' and 'read_file',
1337 the latter reads a the contents of a file into a string
1338 - Lens changes/additions
1339 * Postfix_main: handle continuation lines
1340 * Bbhosts, Hosts, Logrotate, Sudoers: label comment nodes as '#comment'
1341 * Sshd: map comments as '#comment' nodes
1342 * Squid: add all keywords from squid 2.7 and 3 (Francois Deppierraz)
1343 * Logrotate: process unit suffixes for 'size' and 'minsize'
1346 - Remove files when their entire subtree under /files is deleted
1347 - Various bug fixes and syntax enhancements for path expressions
1348 (see tests/xpath.tests for details)
1349 - Evaluate path expressions with multiple predicates correctly
1350 - Fix incorrect setting of /augeas/events/saved
1351 - Major cleanup of matching during get; drastically improves
1352 performance for very large (on the order of 10k lines) config files
1353 - Small performance improvement in the typechecker
1354 - Reject invalid character sets like [x-u] during typecheck
1355 - Build with compile warnings set to 'maximum' instead of 'error', so
1356 that builds on platforms with broken headers will work out of the box
1357 - Lens changes/additions
1358 * Util.stdexcl now excludes .augsave and .augnew files
1359 * Logrotate: allow 'yearly' schedule, spaces around braces
1360 * Ntp: fix so that it processes ntp.conf on Fedora 10
1361 * Services: lens for /etc/services (Raphael Pinson)
1362 * Xorg: new lens and tests (Raphael Pinson)
1365 - Much improved and expanded support for path expressions in the public
1366 API. See doc/xpath.txt and tests/xpath.tests for details.
1367 - Solaris support: builds at least on OpenSolaris 2008.11
1368 - Lens changes/additions
1369 * Grub: support color and savedefault
1370 * DarkIce: new lens for http://darkice.tyrell.hu/ (Free Ekanayaka)
1373 - report version in /augeas/version, report legal save modes in
1374 /augeas/version/save/mode for feature tests/version checking
1375 - dynamically change behavior of aug_save; add noop save mode
1377 - plug memory leak, more portable SELinux test (Jim Meyering)
1378 - fix bz #478619 - do not use abspath (Arnaud Gomes-do-Vale)
1379 - fix segfault when branch in a union does not have a ktype
1380 - Lens changes/additions
1381 * Dpkg: new lens for Debian's dpkg.cfg (Robin Lee Powell)
1382 * Limits: new lens for /etc/security/limits.conf (Free Ekanayaka)
1383 * Soma: new lens for http://www.somasuite.org/ config
1385 * Php, Gdm: fix minor regexp error (Marc Fournier)
1386 expand filter for Php config files (Robin Lee Powell)
1387 * Phpvars: whitspace fixes (Free Ekanayaka)
1388 * Puppet: accept indented puppet.conf (ticket #25)
1391 - add an option to rewrite files by overwriting their contents instead of
1392 putting the new file in place atomically with rename(2); file contents
1393 are only copied after rename fails with EXDEV or EBUSY, and only if the
1394 node /augeas/save/copy_if_rename_fails (fix #32)
1395 - saving of backup (.augsave) files now works even if the original and
1396 backup files are on different devices
1397 - major refactoring of how path expressions are handled internally. Fixes
1398 a number of bugs and oddities (e.g. tickets #7 and #23)
1399 - fix a bug in fa_as_regexp: a '.' wasn't escaped, ultimately leading to
1400 spurious errors from the typechecker
1401 - Lens changes/additions
1402 * Group: process /etc/group (Free Ekanayaka)
1403 * Passwd: process /etc/passwd (Free Ekanayaka)
1404 * Phpvars: process files that set PHP variables, in particular
1405 /etc/squirrelmail/config.php (Free Ekanayaka)
1406 * Rsyncd: process /etc/rsyncd.conf (Marc Fournier)
1407 * Shellvars: process /etc/arno-iptables-firewall/debconf.cfg and
1408 /etc/cron-apt/config (Free Ekanayaka), load /etc/sysconfig/sendmail
1409 * Postfix: process postfix's main.cf and master.cf (Free Ekanayaka)
1410 * Squid: new lens for squid.conf (Free Ekanayaka)
1411 * Webmin: new lens (Free Ekanayaka)
1412 * Xinetd: make sure equal sign is surrounded by spaces (#30)
1413 * Sshd: change the structure of Condition subtrees (Dominique Dumont)
1416 - fix saving of backup files; in 0.3.3, when AUG_SAVE_BACKUP was passed
1417 to aug_init, aug_save would always fail
1420 - restore the behavior of aug_save; in 0.3.2, aug_save broke API by
1421 returning the number of files changed on success instead of 0
1424 - saving now reports which files were actually changed in
1425 /augeas/events/saved; aug_save also returns the number of files
1427 - preserve file owner, permissions and SELinux context when changing a file.
1428 - make saving idempotent, i.e. when a change to the tree does not result
1429 in changes to the actual file's content, do not touch the original file
1430 - report an error if there are nodes in the tree with a label that
1431 is not allowed by the lens
1432 - quietly append a newline to files that do not have one
1433 - generate lens documentation using NaturalDocs and publish those
1434 on the Auegas website (Raphael Pinson)
1435 - Lens changes/additions
1436 * Grub: support the 'password' directive (Joel Nimety)
1437 * Grub: support 'serial' and 'terminal' directives (Sean E. Millichamp)
1438 * Samba: change default indentation and separators (Free Ekanayaka)
1439 * Logrotate: process tabooext, add dateext flag (Sean E. Millichamp)
1440 * Sshd: Cleaner handling of 'Match' blocks (Dominique Dumont)
1441 * Monit: new lens (Free Ekanayaka)
1442 * Ldap: merge with Spacevars (Free Ekanayaka)
1443 * Shellvars: support /etc/default (Free Ekanayaka)
1444 * Shellvars: handle space at the end of a line
1447 - Major performance improvement when processing huge files, reducing some
1448 O(n^2) behavior to O(n) behavior. It's now entirely feasible to
1449 manipulate for example /etc/hosts files with 65k lines
1450 - Handle character escapes '\x' in regular expressions in compliance with
1452 - aug_mv: fix bug when moving at the root level
1453 - Fix endless loop when using a mixed-case module name like MyMod.lns
1454 - Typecheck del lens: for 'del RE STR', STR must match RE
1455 - Properly typecheck the '?' operator, especially the atype; also allow
1456 '?' to be applied to lenses that contain only 'store', and do not
1458 - Many new/improved lenses
1459 * many lenses now map comments as '#comment' nodes instead of just
1461 * Sudoers: added (Raphael Pinson)
1462 * Hosts: map comments into tree, handle whitespace and comments
1463 at the end of a line (Kjetil Homme)
1464 * Xinetd: allow indented comments and spaces around "}" (Raphael Pinson)
1465 * Pam: allow comments at the end of lines and leading spaces
1467 * Fstab: map comments and support empty lines (Raphael Pinson)
1468 * Inifile: major revamp (Raphael Pinson)
1469 * Puppet: new lens for /etc/puppet.conf (Raphael Pinson)
1470 * Shellvars: handle quoted strings and arrays (Nahum Shalman)
1471 * Php: map entries outside of sections to a '.anon' section
1473 * Ldap: new lens for /etc/ldap.conf (Free Ekanayaka)
1474 * Dput: add allowed_distributions entry (Free Ekanayaka)
1475 * OpenVPN: new lens for /etc/openvpn/{client,server}.conf (Raphael Pinson)
1476 * Dhclient: new lens for /etc/dhcp3/dhclient.conf (Free Ekanayaka)
1477 * Samba: new lens for /etc/samba/smb.conf (Free Ekanayaka)
1478 * Slapd: new lens for /etc/ldap/slapd.conf (Free Ekanayaka)
1479 * Dnsmasq: new lens for /etc/dnsmasq.conf (Free Ekanayaka)
1480 * Sysctl: new lens for /etc/sysctl.conf (Sean Millichamp)
1483 - Add aug_mv call to public API
1484 - Do not clobber symlinks, instead write new files to target of symlink
1485 - Fail 'put' when tree has invalid entries
1486 - Set exit status of augtool
1487 - Avoid picking special characters, in particular '\0', in examples (libfa)
1488 - Store system errors, using strerror, in the tree during writing of files
1490 * Generic inifile module (Raphael Pinson)
1491 * logrotate (Raphael Pinson)
1492 * /etc/ntp.conf (Raphael Pinson)
1493 * /etc/apt/preferences (Raphael Pinson)
1494 * bbhosts for Big Brother [http://www.bb4.org/] (Raphael Pinson)
1495 * php.ini (Raphael Pinson)
1498 - Fix segfault in store.put on NULL values
1499 - Properly move default lens dir with DATADIR (Jim Meyering)
1500 - Fix 'short iteration' error on get/parse of empty string; this bug
1501 made it impossible to save into a new file
1502 - Add 'insa' and 'insb' primitives to allow insertion from
1504 - aug_insert: handle insertion before first child properly
1506 * /etc/exports: NFS exports
1507 * /etc/dput.cf: Debian's dput (Raphael Pinson)
1508 * /etc/aliases: don't require whitespace after comma (Greg Swift)
1511 - Address some compilation issues found on Ubuntu/Debian unstable
1512 - Fix segfault when aug_init/close are called multiple times
1513 - Man page for augparse
1515 * /etc/sysconfig/selinux
1516 * Bugfixes for grub.conf
1519 - Augeas is now much more portable
1520 * Pull in gnulib on non-glibc systems
1521 * Augeas now builds and runs on FreeBSD (possibly others, too)
1522 - Various fixes for memory corruption and the like
1523 (Jim Meyering, James Antill)
1526 * various bugfixes in existing lenses
1529 - Add subtraction of regexps to the language, for example
1530 let re = /[a-z]+/ - /(Allow|Deny)Users/
1531 - Report errors during get/put in the tree; added subnodes to
1532 /augeas/files/PATH/error for that purpose
1533 - Many many bugfixes:
1534 * plugged all known memory leaks
1535 * fixed typecheck for lens union (l1 | l2) which was plain wrong
1536 * reduce overall memory usage by releasing unused compiled regexps
1537 * further performance improvements in libfa
1538 * check that values match the regexps in STORE when saving
1539 - libfa can now convert an automaton back to a regular expression
1543 * /etc/xinetd.conf and /etc/xinetd.d/*
1546 - Various changes to public API:
1547 * Remove aug_exists from public API, and merge functionality into aug_get
1548 * Do not hide pointer behind typedef; instead Augeas 'handle' type is now
1549 struct augeas, typedef'd to augeas (Jim Meyering)
1550 * Const-correctness of public API, return error indication
1551 from aug_print (Jim Meyering)
1552 * Make buildable on Debian Etch (remove -fstack-protector from compiler
1554 - Public API is now stable, and existing calls will be supported without
1557 * /etc/sysconfig/network-scripts/ifcfg-* (Alan Pevec)
1558 * Assorted other files from /etc/sysconfig (the ones that just set
1560 * /etc/apt/sources.list and /etc/apt/sources.list.d/* (Dean Wilson)
1561 - Man page for augtool (Dean Wilson)
1564 - Complete rewrite of the language for schema descriptions
1567 - Typecheck lenses; in particular, discover and complain about ambiguous
1568 concatenation and iteration
1569 - Enable typechecking for augparse by default, and for augtool via the
1571 - Fixed lens definitions in spec/ to pass typechecking. They contained
1572 quite a few stupid and subtle problems
1573 - Greatly improved libfa performance to make typechecking reasonably
1574 fast. Typechecking cmfm.aug went from more than two hours to under two
1578 - Make it possible to overwrite files when saving with and without
1580 - Take the filesystem root as an optional argument to aug_init
1581 - Expose these two things as command line options in augtool
1584 - Changed public API to contain explicit reference to augeas_t
1585 structure. This makes it easier to write threadsafe code using Augeas
1586 - Added libfa, finite automata library, though it's not yet used by
1590 - package as RPM and make sure Augeas can be build on Fedora/RHEL
1593 - further rework; file processing now resembles Boomerang lenses much
1595 - major revamp of the internal tree representation (ordered tree where
1596 multiple children can have the same label, including NULL labels)
1597 - move away from LL(1) parsing in favor of regular languages, since they
1598 enable much better ahead-of-time checks (which are not implemented yet)
1601 - completely reworked
1602 - processing of files is now based on a textual description of the
1603 structure of the files (basically a LL(1) grammar)
1607 - Public API and basic tree data structure.
1608 - Record scanning works.
1609 - Providers for pam.d, inittab and /etc/hosts
1610 - Simple tests and test driver