This is a list of the changes made to the penv program over time. If things do not look quite right, please complain to the author Peter Pentchev <roam@ringlet.net> :)
27 January, 2004: [roam] Fixed the setting of new variables. Reported by curly.
27 January, 2004: [roam] Corrected the year of the 1.2 release.
6 January, 2004: [roam] Implement the 'filemode' configuration variable and the '-m' command-line option to control the access mode of the files created in the environment directory. Requested by yurtesen.
6 January, 2004: [roam] Fix the Makefile.inc behavior when using the BSD-style build framework with a different object directory.
22 March, 2002: [roam] Process a per-user configuration file before the global one and allow the former to override the name of the latter by setting the "conffile" variable.
22 March, 2002: [roam] Allow environment variables to override configuration file values, yet be overridden by command-line arguments.
21 March, 2002: [roam] Moved the Authors/Contributors section to the top of the file.
21 March, 2002: [roam] Added an SGML DocBook article describing penv(1). Requested by swear.
21 March, 2002: [roam] Converted the documentation to SGML DocBook format.
25 December, 2001: [roam] Fix the "list" command to not report an error if changing to the envdir should fail (e.g. the envdir does not exist). Reported by curly.
19 November, 2001: [roam] Fixed the "mkdir" command to also create parent directories as needed.
19 November, 2001: [roam] Correct a couple of option names in the manual page synopsis. Submitted by olgeni.
8 November, 2001: [roam] Replace the use of printenv(1) with local envdir parsing code. Remove printenv_p from the config file.
8 November, 2001: [roam] Rework the variable setting code, allow for the creation of zero-length files representing variables to be unset in the environment.
2 November, 2001: [roam] Fix a segfault if no arguments are specified to the default "exec" command, reported by curly.
31 October, 2001: [roam] Add command descriptions to the output of "penv -c help"
30 October, 2001: [roam] Add the "set" and "reset" commands to manipulate the envdir.
30 October, 2001: [roam] Add the "mkdir" command to create the envdir.
30 October, 2001: [roam] Add the ability to specify commands using the -c command-line argument.
27 October, 2001: [roam] Add a -p command-line argument to only display the envdir path.
26 October, 2001: [roam] Add FreeBSD-like __RINGID() VCS macros.
26 October, 2001: [roam] Header files: VCS tags left only as comments.
26 October, 2001: [roam] Id -> Ringlet VCS tag change.
3 September, 2001: [roam] Generate the manual page dynamically, substituting paths and program names as done with penv.conf.default.
3 September, 2001: [roam] In penv.conf.default, also substitute the correct paths for the config file directory and the database directory.
31 August, 2001: [roam] Added the -C command-line flag to clean the environment before executing the processor.
31 August, 2001: [roam] Added the -L command-line flag to not run a specified program, but an environment-list utility.
31 August, 2001: [roam] Generate penv.conf.default dynamically, substituting the correct paths for envdir_p and printenv_p.
27 August, 2001: [roam] Slapped a two-clause BSD license on all the source files.
6 August, 2001: [roam] Added pe_compat, providing strlcpy(3) and fgetln(3). Removed the unfortunate dep_strlcpy.h.
6 August, 2001: [roam] Added dep_strlcpy.h to work around strlcpy(3) dependence.
6 August, 2001: [roam] Variable default basedir and config file placement.
6 August, 2001: [roam] Added a manual page note about the origin of the "penv" name.
6 August, 2001: [roam] Added a command-line option (-o) to process directives in the format of the configuration file.
6 August, 2001: [roam] Added a penv.conf.default config file.
6 August, 2001: [roam] Variable handling! Configuration file slurping! Yay! :)
5 August, 2001: [roam] Added verbose/debugging tracking of the envdir name formation.
5 August, 2001: [roam] Introduced general output routines and, in particular, pe_verbose() for verbose-mode only output.
5 August, 2001: [roam] Slightly optimized the directory suffix extraction.
5 August, 2001: [roam] Made the depth configurable (-D cmdline option).
5 August, 2001: [roam] Added contributor names/aliases to this file.
5 August, 2001: [roam] Reworked usage() to use an array instead of a single long string.
5 August, 2001: [roam] This works! Well, sort of.. No config file parsing, a hardwired depth of 2 for the extracted directory name and a hardwired envdir(1) environment processor.