ChangeLog of Tofu
                  Plain (stupid) text-based todo(s) manager




Syntax:

    === <version> (<date>)

        + Normal change

        = Bug fix

=== 3.5 (20111222)

    + Added the new "co=<colors>" selector, to easily retrieve the colored
      tasks without having to systematically associate a dedicated tag on
      them.

    + Added the new "null" selector, which mutes the warning when a
      selection is empty. It should help to make smoother macros (esp.
      the sorting ones).

    + Updated tofu.1.

=== 3.4 (20110911)

    + Added a new "drop" action, which allows to delete the tasks without
      prompting first for any confirmation.

    + Select back the previously selected queue when "previous" is given
      as argument to the "queue" action -- this should allow to write more
      powerful macros.

    + Updated tofu.1

=== 3.3 (20110313)

    = Correctly parse the definition names stored in the configuration file.

    = Major revision of the English in tofu.1, tofuup.1, and tofututo.7. This
      has led to rename "global-editing" the "global-edition" parameter.
      (many thanks to Richard Harris!)

=== 3.2 (20110205)

    + Added a proper support for the local charset, specified through the
      locale stored in your "LANG" environment variable or through the new
      "charset" configuration option. It has some cost regarding to the
      execution speed, but it's certainy better to let perl know and handle
      correctly the charset you use, especially if you don't use a
      "byte-oriented" charset. However, you can still choose to desactivate
      it totally (ie. even if your locale specifies an charset) by setting
      the "charset" configuration option to "none".

    + Added a mechanism to repair your todo after a crash. This should ensure
      the last deleted tasks are actually deleted and the last added ones are
      properly initialized.

    + Updated tofu.1

    = The default man-pages directory to specify in the configure's help digest is
      "<prefix>/man", not "<prefix>/man/man1".

=== 3.1 (20100816)

    + Added a new ride=<n> command. It allows to move the selection relatively
      to a task, inserting the selected tasks just before this one.

    + Updated tofu.1 and tofututo.7

=== 3.0 (20100520)

    + Tofu's been heavily rewritten and provides a new interface. The project
      directories have disappeared, all of them being merged in a single todo
      list (file) you can split as you want using tags. The priority level of
      each task is no more defined through built-in categories but merely
      infered from its (of course mutable) position in the todo. From now on,
      it is also possible to execute several selection/action(s) cycles
      on a single command line (glance at the "mono-cycle" option if you prefer
      a more traditional behaviour). Here are the UI changes to consider:

         Removed commands: crown, feed=, fresh, heat, last, move=, top, pr=,
                 print, printf=.
        
         Added commands: all, color=, digest, dump, help, jump=, list, next=,
                 queue=.

         Removed options: auto-repair, check-new-tasks, clean-on-move,
                 edit-on-next, next-on-feed, output-format, safe-feed,
                 source-auto-stamp.

         Added options: mono-cycle, recursive-macro-max, reset-to-main.

    + Added support for macro definitions that allow to create custom commands.

    + Added the new "tofuup" command, which allows to easily update the tofu
      todo layout when needed. Use it to convert your current tofu todo lists
      if you have some.

    + Updated tofu.1, added tofuup.1 and tofututo.7, which replaces the obsolete
      "PLAY" tutorial.

    + Updated and slightly improved the build system. The shebang is now
      automatically set into scripts and a new "--perl=</path/to/perl>"
      configure option's appeared to fix this if needed.

    + Removed the useless and obsolete "playground.pl" script

=== 2.6 (20100107)

    = Don't leave before having stripped the content in delete() when the user
      answers "N".

    + Use the editor defined in the EDITOR environment variable as default
      editor before set it to "vi".
      (thanks to Marcin Mirosław for the suggestion)

    = Fix the non-ASCII represented character in the help digest.
      (thanks to Marcin Mirosław)

=== 2.5 (20090213)

    + New action "printf=<format>", which allows to customize the output of the
      "print" action.

    + New option: "output-format", which redefines the default format used by
      the "print" action.

    + Print the ID of tasks in the separator when several are read.

    = Fixed mispelling of the "-tutorial" option in PLAY.
      (thanks to Corey Beres for the report)

    + Updated tofu.1 and PLAY; from now on the number of each task is documented
      as its ID, not as its name or as the task itself (more intuitive).

=== 2.4 (20081107)

    + New options: "clean-on-move", which deletes all of the markers on the
      moved tasks before transferring them, and "source-auto-stamp", which
      automatically stamps these ones with the name of the source stack (tofu.1
      updated).

    = Create correctly and quietly the "stack" files when they don't exist.

    = Don't increment the value of "next" in the destination stack when deleted
      tasks are moved.

    = Don't empty the selection when max=<n> is the only selector.

    = Don't call the whole stack in the selection when feed is given alone while
      the "next-on-feed" option is set to "true".

=== 2.3 (20080919)

    + New "move=<stack>" action, which allows to move tasks from their stack to
      the targeted one.

    + Removed the support to allow precisely markers in the 'markers' file. As
      a matter of fact, this made the things too much rigid (in particuliar to
      reset markers before moving tasks) for a very little gain. However, this
      support could come back, let me know if you have a real usage of this one
      (ie. other than preventing from typo errors). :)

    + Updated tofu.1 and PLAY.

=== 2.2 (20080823)

    = Made stat() to expect an array to get correctly the total of tasks from
      readstack().

    + Improved and shrunk (a little bit) argon().

    + Merged atomtrap() and banished() in atomtrap().

    + New options: "edit-on-next", which automatically calls "edit" when "next"
      is given, and "next-on-feed", which automatically calls "next" when "feed"
      is given.

=== 2.1 (20080707)

    + New install system, based on a Makefile with the classic "./configure;
      make; make install [DESTDIR=<root>]" sequency (README updated).

    + New "feed=<string>" action, which allows to quickly define the content
      of the next task as <string>.

    + New "top" selector, which refers to the highest task in the stack.
      (NOTE: the warning on line 244 which appears during the *first* change in
      an already existing stack is normal and inconsequential)

    + New "crown" action, which allows to arbitrary define the value of "top".

    + Updated tofu.1, PLAY and playground.pl.

=== 2.0 (20080519)

    + New storage format: all of the *.txt are now concatenated in a single
      "<stack>/content" file after edition. This should save much disk space.

    + New "auto-repair" option, which quietly and automatically reintegrates the
      trailing *.txt in the  "<stack>/content" file.

    + Updated playground.pl to generate the new format and added a "-root=<dir>"
      option to specify an alternative path to "~/.tofu" for stacks.

    + &argon() returns the complete path of the stack.

    + Renamed the configuration settings in a less idle fashion: "color" ->
      "use-color", "globedit" -> "global-edition", "checknew" ->
      "check-new-tasks".

    = Don't attempt to perform any action after &delete() let the selection
      empty.

    + Updated tofu.1.

=== 1.2 (20080502)

    = Removed the idle "-tar=<command>" option from install.sh.

    + Improved install.sh: added a "-root=<path>" and a "-verbose" options.

    + Mention the PLAY tutorial in tofu.1

    + New "clean" action, which wipes out the markers set on the selected tasks.

    + Added the possibility to specify strictly the allowed markers in
      "<stack>/markers" files (tofu.1 updated).

    + Shrunk (a little bit) marksman() and answer().

=== 1.1 (20080418)

    + Improved install.sh: install path is specified directly on the command-
      line, and a support for FHS conformance was added (README updated).

    + New "last" selector, which refer to the last task added to the stack.

    + Shrunk order(), help() and mangle().

    + New actions: "heat"/"fresh" which increase/decrease the priority of the
      selected tasks by one level.

    + Updated tofu.1 and PLAY.

=== 1.0 (20080329)

    + Check if the new tasks are empty before rewriting the stack. Can be
      inhibited with the "checknew" configuration option (tofu.1 updated).

    + Added a default "tutorial" mode to playground.pl, in order to ensure that
      all of the examples in the PLAY tutorial match with the content of the
      stack.

    + Updated PLAY, made minor fixes and clarifications in tofu.1.

=== 0.6 (20080229)

    + Invoke help() directly in argon().

    + New feature, stat() which allows to print a digest of present stacks.

    + playground.pl generates filled tasks.

    + New "max=<int>" selector, which limits the number of tasks printed.

    + New -<n> selectors.

    + Updated tofu.1

=== 0.5 (20080221)

    + Put in a new answer() function the code used to get user choices from
      stdin.

    + Added possibility to read task content before deleting it ("r" answer).
      Documented this in tofu.1.

    = edit(): don't give up when "Y" is given in the interactive mode.

    = Minor fix in PLAY.

=== 0.4 (20080212)

    + First public release.

    = prompt before edit when interactively iterate in edit().

    = match correctly the one-number-named tasks.

    + Updated the README file.

    + Added the playground.pl random stack generator script and the PLAY
      tutorial.

    = stamp(): clean the list of markers between each attribution.

=== 0.3 (20080208)

    = Don't consider a blank string as "true" in confetti().

    = edit() must return "1".

    + Warn (on stderr) when the selection is empty (better for using tofu in
      scripts or .bash_profile).

    + Added the "tofu.1" manual and rewrote the help digest.

=== 0.2 (20080205)

    = Don't edit the first selected task twice.

    = Don't automatically edit the next task.

    + New action: read.

=== 0.1 (20080204)

    + First functionnal and private release.

    + pr, wi, wil, wo, wol, next and individual selectors.

    + edit, print, delete, stamp, erase, [chw]set actions.
    
    + Configuration file ('~/.tofurc') support.