20110122 * --joblog makes a simple log of completed jobs. * -X now spreads arguments between job slots when reaching last argument. Use -j1 to avoid this. * People on the email list have voted -j+0 to be the new default instead of -j9. * First review in Polish. Thanks to Patryk Krawaczyński. http://nfsec.pl/root/2458 * Review in Spanish (in print). https://www.linux-magazine.es/issue/67/moreinfo.html * Review in English. Thanks to Brian Gough. http://blogs.fsfe.org/bjg/2011/01/gnu-parallel-a-map-operator-for-the-command-line/ * Review in French. Thanks to Denis Dordoigne. http://linuxfr.org/2010/12/29/27715.html * Review in Spanish. http://gufete.net/index.php?entry=entry110116-200022 * Article with advanced recursive example. Thanks to Ruarí Ødegaard http://my.opera.com/ruario/blog/2011/01/18/fun-with-gnu-parallel * Use case for memcache. http://www.dctrwatson.com/2010/12/how-to-dump-memcache-keyvalue-pairs-fast/ * Bug fixes and man page updates. 20101222 * GNU niceload is now part of GNU Parallel. GNU niceload slows down a program if the load average is above a certain limit. * Implemented --tmpdir to buffer standard output and standard error in a different place. * Implemented --load to wait until the load is below a limit before starting another job on that computer. * Implemented --nice set the niceness of jobs running both locally and remotely. * Implemented --dry-run to print the job without running it. * Implemented --tty as the old default of assigning a tty to the first job causes problems. * Review with focus on clusters. Thanks to Taylor Gillespie http://www.unixpronews.com/unixpronews-49-20101019GNUParallelSpeedUpProcessingWithMulticoresClusters.html * Review with focus on protein similarity. http://kevinformatics.tumblr.com/post/2142473893/cluster-like-computing-using-gnu-parallel * Review in Spanish. http://gr3p.com/2010/12/gnu-parallel-acelera-tus-scripts-en-linux * Quite a few bug fixes and man page updates. 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