root/todo/trunk/ChangeLog

Revision 462, 24.0 kB (checked in by athomas, 1 year ago)

Dev Todo: Fixed #32, #29. Thanks!

Line 
1 0.1.20
2 - A few bugfixes.
3 - Added XML declaration parsing/saving. This is a stop-gap at best, but will
4   hopefully be useful to some.
5 - Removed reliance on builtin regex library. Hopefully the completely broken
6   version of glibc that instigated the inclusion of it is now out of
7   circulation.
8 - Fixed a whole bunch of compiler warnings on more recent GCC versions.
9 - --not-done now marks sub-tasks as not done. Thanks to an anonymous
10   user for picking this up.
11
12 0.1.19
13 - Updated my E-Mail address after about a year of having the wrong one :)
14 - Removed informational message at top of .todo files as it was rather useless
15   and actually annoying to some people placing their .todo files under version
16   control systems.
17 - Added a XSLT -> XHTML+CSS transform from Francesco Poli.
18 - Added a bash completion script from the Gentoo projects maintainer Aaron
19   Walker.
20 - Fixed seg fault visible on 64-bit systems but present on all. Thanks to the
21   Debian project for notifying me and providing a fix.
22
23 0.1.18
24 - Added --purge [<days-old>] option which lets you purge old completed items.
25   Thanks to Jakub Turski for wanting this feature.
26 - Can now use force-colour in the todorc.
27 - Various patches from Debian and Gentoo maintainers applied. These fix
28   compiler errors on recent GCC versions, uncaught exception when TERM is not
29   set, a few man page issues, issues with the BASH scripts and miscellaneous
30   other things.
31
32 0.1.17
33 - Fixed seg-fault when specifying bold colours with the --colour option. Thanks
34   to Tim Peoples for pointing pointing this out.
35 - Renamed regex.{c,h} to c_regex.{c,h} so they don't conflict with Regex.{cc,h}
36   under operating systems which do not honour case (OS/X and/or Cygwin). Also
37   removed -s (strip) from LDFLAGS, as this is not supported on some O/S' (eg.
38   OS/X). David Bacher wrote in with these issues.
39 - Modified tod2html.xslt so the todo title is displayed in the page, as well as
40   in the page title.
41 - Fixed an issue with not displaying links when timeout was in effect.
42 - Added a new 'default' priority which has the following semantics: when adding
43   a new item it will be priority 'medium', when grafting to an existing item
44   the new item will be given the parents priority, and when editing an existing
45   item its priority will be preserved. An items priority can be overridden on
46   the command line with --priority <priority> when any of these actions are
47   performed. Devtodo will never prompt for priority with this enabled. Handy for
48   putting in your ~/.todorc.
49 - Fixed display issues when summarising multi-line items.
50 - Fixed a bug where colours were reset when displaying linked databases.
51  
52 0.1.16
53 - Made broken links silently fail rather than failing loudly and horribly.
54 - Modified the semantics for expanding indices. Now when you use an index with
55   no modifier (eg. todo 10, as opposed to todo -10 or todo +10), only one
56   level of children is expanded.
57 - Big change is the addition of multi-line items and title texts! This is a
58   much requested feature. To use this, you can either pipe text into devtodo:
59         cat <<- EOF | tda -p medium
60         This is some
61         multi-line
62         text.
63         EOF
64   Or press <CTRL-N> to insert a new line when at the devtodo input prompt.
65
66 0.1.15
67 - Added --force-colour option to force use of colour even when not outputting to
68   a terminal. Requested by James Troup.
69 - Added a patch sent in by Philipp Buehler which adds support for title strings
70   to the todo2html.xslt XSLT script.
71 - Fixed bug when displaying priorities in TODO list ("mediumriority").
72 - Added a MASSIVE patch sent in by Christian Hammond which adds support for
73   linking other todo databases into one single view. This is extremely useful
74   for situations where you have a core project directory with sub-directories
75   containing unique individual databases. You can link them so they are all
76   viewed from the core database. Great work!
77 - tda will now merge all non-quoted arguments into one string to be used for
78   the body text of the item to add. This lets this work:
79     tda -p high Need to go to the shop and get some milk
80   without needing to do:
81     tda -p high "Need to go to the shop and get some milk"
82 - Another bug report by James Troup via the Debian Project. Thanks James and
83   Arthur for being long time supporters of the project!
84 - Made doc/scripts.sh more coherent and less convoluted.
85 - A variation on the XSLT transform was sent in by Christian Hammond. An
86   example of its use is available at http://www.chipx86.com/todo.ml.
87
88 0.1.14
89 - Fixed a bug where devtodo doesn't work without the TERM variable being set.
90   Caused havoc in Bill Carlson's cron job. Thanks for tracking it down Bill.
91 - Fixed some more GCC 3.x compilation problems. I'm still using [io]strstream,
92   as opposed to the more correct [io]stringstream, so that it should still
93   compile with older versions of GCC. Fingers crossed.
94
95 0.1.13
96 - Patch from David Furodet to fix compilation problems on Solaris.
97 - Added 'finishing comments'. This allows you to optionally add a comment to an
98   item when you are marking it as done, giving reasons/comments for why you are
99   marking it complete. This is really useful. This also breaks backward
100   compatibility with previous BINARY formats only. The XML format is not
101   affected.
102
103 0.1.12
104 - Applied a patch by Michael Tilstra that fixes segfaults when overriding
105   colours.
106 - Added a script (contrib/tdrec) to display databases from all sub-directories.
107   Thanks to Brian Herlihy for the contribution. Modified it slightly so it
108   passes arguments to devtodo (such as --summary).
109 - Modified cd, pushd and popd replacement scripts (doc/scripts.sh) so that their
110   exit status is preserved. Required so things like this work correctly:
111     cd doc && echo foo
112   Thanks to Erin Quinlan for the fix.
113 - Now displays the index of newly added items when --verbose is on. Thanks to
114   James Troup for suggesting this.
115 - Fixed man page inconsistency with '-S' and '-s' for summary mode. Thanks to
116   James Troup again for picking this up.
117 - Another problem found by James Troup - when grafting, the validity of the
118   grafting index was only checked after the new item text was typed. This has
119   been recitifed.
120 - Work around for some weirdness when generating RPM's.
121
122 0.1.11
123 - Modified .spec file so it doesn't do an aclocal/autoheader/automake/autoconf
124   before compiling. Fixes incompatibilities between versions of automake.
125 - Applied a patch sent in by Anreas Amann to fix more incompatibilities with
126   GCC 3.0.
127
128 0.1.10
129 - Now 'using namespace std;'. It's the standard and it seems as if GCC 3.0
130   finally requires it, so in it goes.
131 - Fixed an incompatibility with versions of GCC prior to 3.0 using different
132   arguments to std::string::compare. Quite annoying. I replaced it with
133   strncmp.
134 - Readline is driving me insane. The example from the readline info page says
135   to use "completion_matches" so I basically copied the code verbatim. But
136   some versions don't seem to include the function in the readline header
137   file? Agggggghh. So once again, it's back to using a manually created
138   header file. It seems to work the best.
139
140 0.1.9
141 - I had a bad feeling that including the readline headers would cause problems
142   and I was right :(. I'm now not including any readline headers of any form,
143   so if compilation breaks due to your system readline headers having K&R style
144   function declarations, upgrade to the latest version.
145 - Renamed the XSLT examples to reflect their purpose (eg. xslt-example.1 =>
146   todo2pdf.xslt)
147
148 0.1.8
149 - Fixed for the spelling of "heirarchical" :)
150 - Repatched --mono fix that gets rid of spurious escape sequences (picked up
151   by Mark Eichin).
152 - Fixed envar expansion broken by event handling modifications. Whoops.
153 - Numeric priorities can now be specified on the command line. Christian
154   Kurz picked this one up.
155 - Added a new filter for searching through the database. This is done with
156   the filter '/'. eg. "todo --filter /CVS" will show all items with the word
157   CVS in them. This can also be expressed as a shorthand version: "todo /CVS".
158   The text is interpreted as a regular expression.
159 - Changed filter behaviour to be more logical. Numeric filters with no sign
160   prefix will now only show the item itself, not children. Prefixing the
161   filter with a + will display the children as well and prefixing with a -
162   will filter out that item.
163 - Subsequently almost totally rewrote filtering code so it's more logical and
164   doesn't break (hopefully).
165 - Short arguments can now be fully merged into one argument. eg.
166     todo -v -v -f 2-10
167   can be represented as:
168     todo -vvf2-10
169 - Added an "echo" command for use in ~/.todorc. This can be used for status
170   messages or whatever. eg.
171      on save echo Saved $TODODB
172 - Added another PERL script (contrib/changelog2html) to convert directly from
173   the ChangeLog to HTML.
174 - Fixed default formatting string for --TODO.
175 - James Troup had the suggestion (which is now implemented) of clearing the
176   priority as soon as the user hits a key other than enter when editing an
177   existing item.
178 - Copied the readline.h and history.h from my system's readline into devtodo's
179   source. Hopefully this won't break compiles on any systems :\.
180
181 0.1.7
182 - Finally tracked down the VERY nasty (at times up to a minute or more)
183   slowdown some users have been experiencing. It turns out that one of the
184   recent versions of glibc has a bug in its regex code when dealing with
185   non-multibyte characters (ie. most of the time). This came to a head because
186   I upgraded to slackware-current, which has this version of glibc. Great.
187   Thanks to Mark Eichen for pointing me towards several Debian bug tracker
188   items about other programs having this same problem.
189 - Added a new directory "contrib" which will be used for anything that users
190   contribute that is not patched into the main distribution.
191 - XSLT transform courtesy of Mark Eichin, to convert devtodo XML databases into
192   colour PDF's. This is contrib/xslt-example.1.
193 - XSLT contribution for converting devtodo XML databases into HTML, courtesy of
194   Daniel Peterson. This is contrib/xslt-example.2.
195 - I have created an amalgam of the above two XSLT contributions that will
196   output a HTML page with colourised items. Completed items are struck out.
197   This is a dodgy hack, so if anybody has any enhancements it would be much
198   appreciated.
199 - Changed filename of src/todo.cc to src/main.cc so that devtodo will compile
200   under environments where case is not relevant in filenames (ie. Cygwin under
201   M$ Windows).
202 - Added a small PERL script to generate a todo database from a ChangeLog file
203   that's in the same format as that used by devtodo. In the contrib directory.
204   eg. changelog2todo > changelog.todo && devtodo --database changelog.todo
205 - Added two new events: "load" and "save". This can be used in conjunction
206   with one of the above XSLT files by putting something like the following in
207   your ~/.todorc (assuming you have libxlst installed - www.xmlsoft.org):
208
209   on save exec xsltproc $HOME/etc/todo-html.xslt $TODODB > `dirname $TODODB`/.todo.html
210
211   Which will basically generate a .todo.html file every time a devtodo database
212   is modified.
213 - Fixed a few minor man page bugs.
214
215 0.1.6-1
216 - Changed --summary to a toggle so you can use "todo -s" to switch it on or off.
217   This minimises the use of the shift key ;).
218 - Uncommented two lines so that --priority works once more when editing items.
219 - Added RPMage.
220
221 0.1.6
222 - When creating backups, I now make the backed up databases read-only if
223   --paranoid is specified.
224 - A slight modification to the BASH shell script to make it more compatible
225   (courtesy of Arthur).
226 - Added -S/--summary (and -s/--no-summary to override it if 'summary' is the
227   default in ~/.todorc) which only displays the first line of todo items. This
228   is handy if, like me, you have numerous multi-line items. The shell scripts
229   use this by default now, meaning when you cd into a directory only the first
230   line of each item will be shown (handy for a quick...summary).
231 - Added --timeout [<seconds>] option. When no second are specified, todo will
232   only display the database if it hasn't been displayed within a number of
233   seconds (also specified by using --timeout, but *with* a number of seconds).
234   For example, by putting this in your ~/.todorc: "timeout 10", then adding
235   "--timeout" when you run devtodo, the database will only be displayed if
236   it hasn't been displayed within 10 seconds. The shell scripts have been
237   updated to use this facility. The access time is used to determine when the
238   database was last used (stat.st_atime).
239 - Unified formatting strings into one location and added the generic option
240   --format <tag>=<format-string> to modify them as well as the option
241   --use-format <tag>=<tag> to use them. eg.
242       todo --use-format verbose-display=generated
243 - Now attempts to obtain the width of the current terminal from the termcap
244   database (if compile fails (please send me a bug report, and...) re-run
245   ./configure with the --without-termcap option).
246 - Added a '%s' output formatting flag which formats item text the same as is
247   done with --summary.
248 - You can use the (undocumented) --dump-config option to dump the current
249   config to stdout. This should be usable as a ~/.todorc file pretty much
250   as is. Handy to use as a base for your own modifications.
251 - Fixed a minor bug where invalid numeric priority exceptions weren't being
252   caught.
253 - Added "title" as a defineable colour, seperate from the "info" colour.
254 - Integrated some Debian Makefile mojo (thanks go to Arthur Korn).
255 - Fixed --paranoid behaviour. The logic to check permissions had become
256   commented out in the move to multiple loaders.
257 - Added an "exec" command to the ~/.todorc. This can be used to execute
258   shell commands from within devtodo, although it's really only useful in
259   conjunction with triggers (see below). In addition, the environment variable
260   TODODB will contain the name of the current database.
261 - Added event "triggers". These are useful for modifying the behaviour of
262   devtodo. A perfect example of a use for this is to trap the "create" trigger
263   so that when a new database is created todo will remove world and group
264   permissions from it.  eg.
265       on create {
266           verbose
267           exec chmod 600 $TODODB
268       }
269 - Modified Makefile.am in src and doc to support relocatable installs (via
270   automakes DESTDIR variable).
271
272 0.1.5-1
273 - Fixed a nasty Makefile bug that can, under certain circumstances, cause
274   the build/install to fail.
275
276 0.1.5
277 - Added a binary database format. The default is still XML, but you can
278   change this using the new --database-loaders option. You can transparently
279   convert your existing XML databases to binary format (or vice-versa) by
280   simply changing the load order. For example, to change from XML to binary,
281   put this in your ~/.todorc: database-loaders binary,xml
282   The next time you modify an XML format database, it will be saved in binary
283   format. The man page has more information. I recommend only using the binary
284   format if you are actually having performance problems, as if something
285   goes awry, manually fixing the XML database is *much* easier. But if you do
286   use it, it might be an idea to use it in conjunction with --backup.
287 - Added user-defineable formatting for both display output and TODO generated
288   output. This is cool. Look for the section FORMATTING in the man page.
289 - Added a new filter, which I've wanted for ages. It constists of a single '-',
290   '+' or '='. A '-' stops display of all items except those explicitly specified
291   in the rest of the filter whereas a '+' overrides all other filters to display
292   all items. A '=' is the default behaviour. This is brilliant if you want
293   to narrow the view down to just one item: todo --filter -,29 (*Note*: Slightly
294   superceded by the modification to the semantics of numeric filters, which now
295   display *only* the numbers specified if the = (or no) prefix is used - see
296   two points down for more information).
297 - Modified the numeric filters. Ranges can now be specified by doing this:
298   todo --filter 1-20. If a '-' sign precedes the range it explicitly excludes
299   all these items. This can also be used in most other places indices are used.
300   ie. todo --done 10.1-20 would mark items 10.1 through 10.20 as done.
301 - Modified behaviour of numeric filters slightly. If prefix is '=' or none,
302   *only* those items are displayed. Before, this was a nop.
303 - Patch to todorl.h courtesy of Philippe M. Chiasson that fixes compilation
304   problems on RH 7.0.
305 - Priority defaults to medium if a blank line is entered at the "priority>"
306   prompt (thanks to Alexei Gilchrist for this idea, along with quite a few
307   others :))
308 - Removed --fallback-database - the semantics were too clunky and generally
309   confusing.
310 - Added --global-database <filename> and -G,--global to replace
311   --fallback-database. Basically, you specify a file with --global-database
312   (defaults to ~/.todo_global) then whenever you pass -G or --global to todo it
313   will use the global database. Much simpler than the way --fallback-database
314   behaved. This idea was courtesy, once again, of Alexei Gilchrist. Good stuff!
315 - todo can now automatically backup the database to a user specified number
316   of levels. Use the option --database [<n>] to do this, where <n> is the
317   optional number of revisions to keep (defaults to 1). This option is best
318   specified in your ~/.todorc.
319 - Numbers can once again be used to specify priorities when entering them from
320   the 'priority>' prompt (requested by Alexei Gilchrist).
321
322 0.1.4
323 - Added version checking so that the binary won't accept databases from
324   future versions. The actual behaviour is that minor revision differences
325   produce a warning while major revision differences cause an error.
326 - Added a patch from Arthur Korn that allows the bash scripts to cd into
327   directories with spaces.
328 - Fixed a few man page problems, again courtesy of Arthur (I swear this
329   guy doesn't sleep!)
330 - Changed primary binary to 'devtodo', with a convenience symlink, 'todo'.
331   Also changed the man page filename to reflect this. The user should see
332   no actual difference though, as symlinks with the old names exist.
333 - Fixed a bug where todo would segfault if ^D was pressed while editing a
334   line. Thanks to Matt Kraai for picking this up. The problem was due to
335   not handling a NULL return value from readline.
336 - More man page fixes (this time, thanks again go to Matt).
337 - You can now specify more than one item index on the command line as
338   seperate arguments. Previously, a comma was required and if multiple
339   arguments were used the last one was used. Arthur picked this one up.
340 - Added parsing of /etc/todorc (actually, the location is specified by the
341   --sysconfdir argument to configure, so it will probably be
342   /usr/local/etc/todorc on most peoples systems).
343 - Added awareness of the TODORC environment variable. This specifies the
344   RC file to parse on startup. TODORC=$HOME/.todorc is the default
345   behaviour. This idea was thanks to Claude. Claude also suggests, quite
346   rightly, that it would be useful for specifying a system-wide todorc
347   file by putting TODORC=/etc/todorc in /etc/profile or somewhere similar.
348 - Added two new arguments for modifying the database used. The first is
349   --database <file> which is used to change the default filename used. eg.
350   --database .todo is the default behaviour. The other is
351   --fallback-database <file> which specifies the database to use if no other
352   can be found. By default there is no fallback database. Both of these
353   options can be specified in the .todorc.
354 - Environment variables can now be used in the ~/.todorc. This is especially
355   useful for something like 'fallback-database $HOME/.todo'.
356 - Finally fixed the bug where &gt; and &amp; were not being correctly
357   interpreted.
358 - Fixed a long-time bug where wraptext() was wrapping the first
359   line prematurely.
360 - Fixed a bug where if the sort order changed, visible indices would not match
361   parameter indices.
362 - --verbose now displays time between when an item was created and when it was
363   completed.
364 - Added --date-format for formatting the display of dates (currently only used
365   with --verbose). The format is that used by strftime(3) but if strftime is not
366   available on a system, ctime(3) is used.
367 - Added fully-featured sorting via the --sort parameter. It is now possible to
368   sort on pretty much anything you can think of; creation time, completed time,
369   duration of item, text body, priority and whether an item is done or not.
370 - Added --paranoid option that enables some warnings about permissions. This
371   is in response to a user request to not make the .todo file group/world
372   accessible. This option will make devtodo warn the user if such a database
373   is created.
374 - Removed --sync and --no-sync. You can generate the TODO file with --TODO.
375
376 0.1.3
377 - Fixed a MAJOR bug introduced while fixing the non-correlating indices
378   where all editing of sub-items caused a seg-fault! This was a bad one.
379   Thanks to Ron Bailey for picking this one up.
380 - Added auto-cd scripts for tcsh, courtesy of Matthew Russell.
381
382
383 0.1.2
384 - Regex needs sys/types.h to be included before regex.h on BSD - solution
385   thanks to Ashley Penney
386 - Fixed curses failing to link on Solaris due to the link phase not
387   bringing in the termcap library. Thanks to Josh Wilmes for picking this
388   up (subsequent autoconf script snippet shamelessly stolen from librep).
389 - Fixed bug introduced by new colour code where colours were not being reset
390   to the default terminal colour as they should have been. Once again,
391   Stephan Hegel picked this one up...thanks again.
392 - Related to the above bug, added a new 'colour' called 'default' which is
393   the terminals default colour and removed the defineable colour item
394   'normal'.
395 - Fixed a fairly major bug that was triggered when changing the priority
396   of an existing item - it caused visible indices not to correlate with
397   their actual index.
398 - When grafting a child, the priority of the parent is used by default.
399 - Added check for empty rx - FreeBSD doesn't support this.
400 - Changed string parameter for Regex = to char const *. This fixes compile
401   errors using gcc 2.9.2 udner FreeBSD.
402 - Changed default 'low' colour to un-bolded cyan.
403 - Removed '-r' as a short option - this functionality only exists as
404   --remove now.
405
406 0.1.1
407 - Bug picked up by Christoph Jaeger relating to the use of a temporary
408   string in TodoDB::find() has been fixed - there may be more, need to
409   investigate further.
410 - Added call to rl_initialize so that ~/.inputrc gets read correctly -
411   patch from Ulrich Pfeifer (with slight modifications by me).
412 - Validated options in ~/.todorc so that options like 'add' and 'reparent'
413   can't be used.
414 - Added section on colours to the man page.
415 - Made configure.in determine whether to use curses or ncurses (a problem
416   picked up by Stephan Hegel) and abort if readline won't link properly.
417 - A few minor man page fixes (again, thanks to Stephan Hegel) - also moved
418   the man into configure.in so the version will be automatically updated.
419 - Extracted all readline exports into todorl.h - these are required because
420   some versions of readline do NOT have C++ compatible headers, that is, the
421   most of the functions use implicit parameters which C++ barfs on.
422 - Added --enable-debug to configure phase which removes -s from LDFLAGS
423   and sets CXXFLAGS to '-Wall -g'.
424 - Added --mono to remove all ANSI escape sequences - useful for the colour
425   impaired terminals (can also be put in ~/.todorc)
426 - Cleaned up the TodoDB class a bit by moving the StreamColour stuff into
427   the class body itself.
428
429 0.1.0
430 - Added a ~/.todorc that basically lets you prepend command line arguments
431   to todo before it parses command line arguments. This is perfect for
432   specifying default filters. My personal favourite is 'filter -children' to
433   not display child nodes by default. An example is in the doc sub-directory.
434 - Changed the behaviour of filters slightly in that numeric values in filters
435   now represent item indices. Prefixed by a '-', this causes the specified
436   item to not be displayed. Prefixed by a '+', the specified item will be
437   displayed even if other filters inhibit it.
438 - Added --colour facility so that users can override the default colours.
439 - Added --reparent so that items can be moved around the tree.
440 - If -v is specified, more information is printed out when editing, or adding
441   items as well as when adding a title.
442
443 0.0.9
444 - Initial release.
Note: See TracBrowser for help on using the browser.