20101202 * Implemented {/} for the input line with the path removed (basename). * Implemented {/.} for the input line with extension and path removed (basename). * Output from --progress is now sent to standard error instead of standard output. * --eta was broken and counted down from 0. Now fixed. * Standard output and standard error are flushed after every job so if standard output does not end with a newline it will still be grouped with the rest of standard output. * --command, -c, --file, and -f are now removed as options. They were never used in practice. * GetOptionsFromArray rewritten to work with old Perl libraries. * The file COPYING now contains the GNU General Public License 3 * Major rewrite to make the code more object oriented and easier to maintain in the future. 20101113 * Using -j myfile the number of jobs can be changed while GNU Parallel is running simply by changing the content of myfile. * Implemented --profile to use different .parallel/config for different situations. * Ugly newlines in $PARALLEL and .parallel/config are no longer needed. Instead you have to use \ in front of special shell characters. * --workdir puts the files transferred to remote machines in a specified directory. * $PARALLEL_PID is set to the process id of GNU Parallel. * $PARALLEL_SEQ is set to the sequence number of the job. * -v now only shows the command to run. Use -v -v to show the ssh/rsync wrapping. * Slow spawning error is now only a warning. * If stdin is a tty and input is read from stdin you now get a warning. * GNU sql: \n and \x0a in arguments is replaced with newline. * Patch for Debian package and spelling mistakes. Thanks to Rogério Brito * Mac OS X Homebrew package. Thanks to Jonathan Palardy * FreeBSD port. Thanks to Chris Howey * Pardus package. Thanks to Fethican Coşkuner * First review in Chinese. Thanks to 曾義峰: http://antbsd.twbbs.org/~ant/wordpress/?p=2876 * First review in print: http://www.linux-magazine.com/Issues/2010 Nov 2010 * First review in Spanish: http://www.muylinux.com/2010/10/18/gnu-parallel-computacion-paralela-a-golpe-de-comando * First review in Dutch thanks to Koen Vervloesem : http://techworld.nl/technologie/33493/gebruik-al-je-processorkernen-met-gnu-parallel.html * Blog review thanks to R. Tyler Croy : http://unethicalblogger.com/posts/2010/11/gnuparallel_changed_my_life * 5000 views of the intro video: http://www.youtube.com/watch?v=OpaiGYxkSuQ * As usual a bunch of bugfixes and more usage examples in the man page. * GNU Parallel was presented at FSCONS 2010-11-07: http://www.fscons.org/fs/gnu-parallel Hopefully the video will be online soon. 20100922 * See GNU Parallel live at FSCONS 2010-11-07: http://www.fscons.org/fs/gnu-parallel * Untested Debian and xUbuntu packages available through OpenSUSE build service: https://build.opensuse.org/package/show?package=parallel&project=home%3Atange * Using --retries a job will be retried on another computer if it fails. This is useful if some jobs fail for no apparent reason (such as network failure). * BSD xargs -o (open /dev/tty) is now default for the job running in foreground. Useful for interactive commands like: ls | parallel -Xuj1 vi * GNU sql now supports SQLite. * Renamed .dburl.aliases to .sql/aliases and /etc/sql/aliases. * GNU sql now support --list-tables * Alias for DBURL can contain '?query' part with %-quoting. 20100906 * Using --shebang GNU Parallel can be used as the parser for a script. E.g: #!/usr/bin/parallel --shebang traceroute (followed by lines of hosts) * First community generated bugfixes * Alt Linux package of GNU Parallel. Thanks to Michael Shigorin * Sunfreeware package of GNU Parallel. Thanks to Steven M. Christensen * Untested CentOS, Fedora, Mandriva, RedHat, and SUSE packages available through OpenSUSE build service: https://build.opensuse.org/package/show?package=parallel&project=home%3Atange * Review of GNU Parallel. Thanks to Andrew McFague amcfague at wgen dot net http://www.andrew-mcfague.com/linux/utilities-linux/ commands-every-serious-nix-user-should-know/#parallel * First 1000 views of the intro video * sql - a small script to access sql bases from the command line which is a handy companion to parallel --colsep 20100822 * Counting semaphore functionality: start a job in the background. If N jobs are already running, wait for one to complete. Examples: sem 'sleep 2; echo foo'; sem 'sleep 1; echo bar'; sem --wait sem -j2 'sleep 2; echo foo'; sem -j2 'sleep 1; echo bar'; sem --wait * With --colsep a table can be used as input. Example: cat tab_sep_table | parallel --colsep '\t' echo col1 {1} col2 {2} * --trim can remove white space around arguments. * --sshloginfile '..' means use ~/.parallel/sshloginfile * Zero install package. Thanks to Tim Cuthbertson * OpenSUSE package. Thanks to Markus Ammer * NixOS package. Thanks to Ludovic Courtès * Web review http://oentend.blogspot.com/2010/08/gnu-parallel.html Thanks to Pavel Nuzhdin * Web review http://psung.blogspot.com/2010/08/gnu-parallel.html Thanks to Phil Sung 20100722 * Arguments can now be given on the command line. Example: parallel bzip2 ::: *.txt * xapply like functionality. Example: parallel diff {1} {2} :::: filelist1 filelist2 parallel diff {1} {2} ">"{1.}-{2.}.diff :::: filelist1 filelist2 * Arch Linux package. Thanks to Peter Simons * Mandriva package. Thanks to Sandro Cazzaniga * -L -l -n -s now implies -X unless -m is set 20100620 * New video showing the new options. http://www.youtube.com/watch?v=OpaiGYxkSuQ or at http://tinyogg.com/watch/TORaR/ and http://tinyogg.com/watch/hfxKj/ * 100% options complete with xargs. All options for xargs can now be used in GNU Parallel - even the more exotic. * --basefile for transferring basedata. When running jobs on remote computers --basefile will transfer files before the first jobs is run. It can be used to transfer data that remains the same for each job such as scripts or lookup tables. * --progress shows progress. To see how many jobs is running on each server use --progress. It can be turned on even after GNU Parallel is started. * --eta shows estimated time left in seconds. * --halt-on-error stops if an error occurs. GNU Parallel will default to run all jobs - even if some of them fail. With --halt-on-error GNU Parallel can ignore errors, wait for the currently running jobs to finish, or stop immediately when an error occurs. 20100601 * GNU Parallel now has support for running jobs on remote machines * Intro video http://www.youtube.com/watch?v=LlXDtd_pRaY http://openvideo.dailymotion.com/video/xdmqwz_gnu-parallel-script-processing-and_tech 20100424 * GNU Parallel is now official GNU software