1 <sect1 id="change_log"><title>Change Log</title>
2 <sect2 id="version_1_0_0"><title>Version 1.0.0 (2002-03-14)</title>
5 <itemizedlist mark='opencircle'>
7 <listitem><para>Initial stable public release.</para></listitem>
13 <sect2 id="version_1_0_1"><title>Version 1.0.1 (2002-03-15)</title>
16 <itemizedlist mark='opencircle'>
18 <listitem><para>Fixed completely broken global vacation
19 handling.</para></listitem>
21 <listitem><para>Added test case for vacation handling to test
22 suite.</para></listitem>
28 <sect2 id="version_1_1"><title>Version 1.1 (2002-05-27)</title>
31 <itemizedlist mark='opencircle'>
33 <listitem><para> Added some reports to the example file, so users
34 actually get a result of the TaskJuggler run.</para></listitem>
36 <listitem><para> Support for later completion of task and resources
37 added. By writing 'supplement task <ID> { ... }' an already
38 defined task can be extended. So it's easier now to create a file
39 which contains the vacations for all resources separate from the
40 resource definition itself. </para></listitem>
42 <listitem><para>Extended expression parser to work on string type
43 values as well.</para></listitem>
45 <listitem><para><link linkend="TYPE_LOGICALEXPRESSION"> logicalexpression
46 </link> for hidetask, rolluptask etc. can now contain functions as
47 well. Currently there is support for 'istask', 'isresource',
48 'isaccount', 'issubtaskof', 'contains', 'ismilestone'.</para></listitem>
50 <listitem><para>Moved the docs directory from TaskJuggler subdir to
51 topdir.</para></listitem>
53 <listitem><para>Added feature list and change-log to the
54 documentation.</para></listitem>
57 linkend="PROPERTY_reference">property_reference</link> is now sorted in
58 alphabetical order.</para></listitem>
60 <listitem><para>Added lots of missing attributes to <link
61 linkend="PROPERTY_htmlaccountreport"> htmlaccountreport </link>.</para></listitem>
63 <listitem><para>Added missing <link linkend="PROPERTY_export"> export </link>
64 report to documentation. Export reports can now contain the scheduled
65 tasks as well as the resource allocations.</para></listitem>
67 <listitem><para>New keywords
68 <computeroutput>planbooking</computeroutput> and
69 <computeroutput>actualbooking</computeroutput> to enter fixed bookings
70 of <link linkend="PROPERTY_resource">resources</link> in the resource
71 declaration.</para></listitem>
73 <listitem><para>Added new example project to illustrate the use of
74 export in big projects that are split into sub projects.</para></listitem>
76 <listitem><para>HTML comments in HTML report files are now using correct
77 syntax.</para></listitem>
79 <listitem><para>Partial fix for correct time zone handling.</para></listitem>
81 <listitem><para>Support for STDIN reading and STDOUT writing added. This can be
82 used when calling TaskJuggler from CGI scripts.</para></listitem>
88 <sect2 id="version_1_2"><title>Version 1.2 (2002-06-17)</title>
91 <itemizedlist mark='opencircle'>
93 <listitem><para>Fixed sorting by ID for all HTML reports.</para></listitem>
95 <listitem><para>Fixed bug in vacation handling. Vacations that started before
96 the project were silently ignored.</para></listitem>
98 <listitem><para>Added support for <link
99 linkend="PROPERTY_taskattributes"> taskattributes </link> to <link
100 linkend="PROPERTY_export">export</link> report.</para></listitem>
102 <listitem><para>XML Output changes: Basically the XML output is more
103 simple to parse, some values were added and corrected.</para></listitem>
105 <listitem><para>Added a first simple TaskJuggler XML-output viewer for
106 KDE. See ktjview/README for installation. Configure with KDE support
107 enabled.</para></listitem>
109 <listitem><para>Disabled ical support by introducing the HAVE_ICAL
110 switch in the code. The switch is not yet configure supported, but
111 building with --with-kde-support should work now without failing on
112 missing libical.</para></listitem>
114 <listitem><para>Support for URLs in HTML reports added.</para></listitem>
116 <listitem><para>Legacy HTML elements have been removed from HTML reports.
117 TaskJuggler now creates pure HTML 4.0 code.</para></listitem>
119 <listitem><para>Added support for insertion of raw HTML code into
120 reports. This can be achieved with <link
121 linkend="PROPERTY_rawhead"> rawhead </link> and <link
122 linkend="PROPERTY_rawtail"> rawtail </link>.</para></listitem>
124 <listitem><para>Added support for user defined style sheets in HTML
125 reports by using the <link linkend="PROPERTY_rawstylesheet">
126 rawstylesheet </link> attribute.</para></listitem>
128 <listitem><para>Strings can now be enclosed in either single or double
129 quotes. A single quoted string may contain double quotes and vice
130 versa.</para></listitem>
132 <listitem><para>Working hours can now be declared on project level.
133 This also determines if a day is considered a working day or
134 not.</para></listitem>
136 <listitem><para>With <link linkend="PROPERTY_startbuffer"> startbuffer
137 </link> and <link linkend="PROPERTY_endbuffer"> endbuffer </link> you can
138 now specify that there might be some air left in a certain
139 task.</para></listitem>
141 <listitem><para>Remo's Gantt chart generators have been included in the
142 <filename>Contrib</filename> directory.</para></listitem>
148 <sect2 id="version_1_3"><title>Version 1.3 (2002-07-30)</title>
150 <para> <itemizedlist mark='opencircle'>
152 <listitem><para>This release features some bigger cleanup changes.
153 Some of them do break compatibility with older version of TaskJuggler.
154 While we try very hard to avoid such situations, we do prefer to have
155 a consistent and logical language. Since the TaskJuggler user base is
156 still comparatively small, we decided to break compatibility now
157 rather than later. The changes are fairly minor, so they won't affect
158 many users. Please see further down for more details.</para></listitem>
160 <listitem><para>Added Perl/Tk tool to view Gantt charts and other
161 project information.</para></listitem>
163 <listitem><para>Added PERT-chart generator from Philippe
164 Midol-Monnet.</para></listitem>
166 <listitem><para>Added support for shifts in <link
167 linkend="PROPERTY_shift_selection"> shift </link>
168 and task allocate shift.</para></listitem>
170 <listitem><para>Fixed vim syntax highlighting. Some keywords were missing.</para></listitem>
172 <listitem><para>Export report had syntax bug when milestones were present.
173 Fixed.</para></listitem>
175 <listitem><para>Fixed handling of week, month and year duration specifications.</para></listitem>
177 <listitem><para><link linkend="PROPERTY_now">now</link> and <link
178 linkend="PROPERTY_timingresolution">timingresolution</link> are no
179 longer properties. They are now optional attributes of <link
180 linkend="PROPERTY_project">project</link>. They currently still work as
181 properties as well but a warning is issued and they will be removed in
182 the next major release.</para></listitem>
184 <listitem><para><link
185 linkend="PROPERTY_dailyworkinghours">dailyworkinghours</link>
186 and <link linkend="PROPERTY_yearlyworkingdays"> yearlyworkingdays
188 been implemented to allow the user for better control over the
189 conversion from working days to working hours.</para></listitem>
191 <listitem><para>Added support for a <link
192 linkend="PROPERTY_select">select</link>
193 function for alternative resource allocations.</para></listitem>
195 <listitem><para>All load values in HTML reports can now be scaled by
197 linkend="PROPERTY_loadunit">loadunit</link>.</para></listitem>
199 <listitem><para>Improved readability of scheduler error messages.</para></listitem>
201 <listitem><para>Added new example project to the Examples directory to
202 illustrate how to create shift schedules with TaskJuggler.</para></listitem>
204 <listitem><para>Fixed scheduler for working hours around midnight.
205 This bug affected shifts as well as general working hours.</para></listitem>
207 <listitem><para>Extended timezone support. TaskJuggler will now
208 operate properly when TZ environment variable is set.</para></listitem>
214 <sect2 id="version_1_4"><title>Version 1.4 (2002-12-18)</title>
216 <itemizedlist mark='opencircle'>
218 <listitem><para>Only export references to tasks which are exported in
219 the same report.</para></listitem>
221 <listitem><para>Allow supplements of tasks within task definitions.</para></listitem>
223 <listitem><para>Converted documentation to DocBook. We now have a much
224 nicer and more structured manual. A printable version is available as
225 well now.</para></listitem>
227 <listitem><para>Fixed HTML code for bookedlight cells. Those were
228 rendered without background on some browsers.</para></listitem>
230 <listitem><para>Added support for multi-level sorting in reports.
231 <link linkend="PROPERTY_sorttasks">sorttasks</link> and <link
232 linkend="PROPERTY_sortresources">sortresources</link> now
233 take multiple criteria.</para></listitem>
235 <listitem><para>Several bugs in the sorting direction code have been
236 fixed. <computeroutput>startup</computeroutput>,
237 <computeroutput>startdown</computeroutput>,
238 <computeroutput>endup</computeroutput> and
239 <computeroutput>enddown</computeroutput> have been replaced by
240 <computeroutput>planstartup</computeroutput>,
241 <computeroutput>planstartdown</computeroutput>,
242 <computeroutput>planendup</computeroutput> and
243 <computeroutput>planenddown</computeroutput>.
246 <listitem><para>The optional attribute <link
247 linkend="PROPERTY_taskprefix">taskprefix</link> has been added to <link
248 linkend="PROPERTY_include">include</link>. This allows other projects to be
249 added at arbitrary points in the task tree as sub
250 projects.</para></listitem>
252 <listitem><para>Include statements within tasks are no longer
253 supported. They lead to ambiguous interpretation of
254 certain attributes.</para></listitem>
256 <listitem><para>The optional attribute <link
257 linkend="PROPERTY_taskroot">taskroot</link> has been added to <link
258 linkend="PROPERTY_export">export</link>. This allows to export sub tasks of a
259 tasks to be exported as root-level tasks.</para></listitem>
261 <listitem><para>The project file reader has been made fully Unicode
262 aware. It is now possible to use non-ASCII characters in text strings
263 and comments.</para></listitem>
265 <listitem><para>Two new functions have been added for use in <link
266 linkend="TYPE_LOGICALEXPRESSION">logical expressions</link>.
267 <computeroutput>isplanallocated</computeroutput> and
268 <computeroutput>isactualallocated</computeroutput> can be used to show
269 only resources that have been allocated to a certain project in a
270 given time frame.</para></listitem>
272 <listitem><para>Made week of year calculation ISO 8601:1988 and DIN
273 1355 compliant. This also affects the month and year correlation in
274 weekly reports. You can use the optional project attributes <link
275 linkend="PROPERTY_weekstartssunday"> weekstartssunday </link> and <link
276 linkend="PROPERTY_weekstartsmonday"> weekstartsmonday </link> to
277 specify whether you like to start you week on Sunday or
278 Monday.</para></listitem>
280 <listitem><para>Support for a <computeroutput>flags</computeroutput>
281 columns added to HTML reports.</para></listitem>
283 <listitem><para>Sub tasks do now inherit the dependencies of their
284 container tasks. Specifying dependencies after sub tasks is now
285 illegal since they would be only used for checking, but not for
286 scheduling.</para></listitem>
288 <listitem><para>The logic checker for task attributes has been
289 completely rewritten. Since it probably catches some more errors, you
290 might have to fix your project now. Such cases would have resulted in
291 wrong results anyhow. Lots of test cases have been added to the test
292 suite to validate the checker.</para></listitem>
294 <listitem><para>The error reporting has been drastically improved. The
295 messages should be more precise now and errors that are triggered by
296 other errors should be not so prominent anymore.</para></listitem>
298 <listitem><para>A new report type has been added. <link
299 linkend="PROPERTY_htmlweeklycalendar"> htmlweeklycalendar</link> can be used to
300 generate weekly calendars.</para></listitem>
302 <listitem><para>The format of time specifications in HTML reports is
303 now configurable via <link linkend="PROPERTY_timeformat"> timeformat
305 linkend="PROPERTY_shorttimeformat">shorttimeformat</link></para></listitem>
307 <listitem><para>The keyword <computeroutput> xmltaskreport
308 </computeroutput> is now deprecated. It has been replaced by <link
309 linkend="PROPERTY_xmlreport"> xmlreport </link>. The rest of the syntax
310 remains identical. </para></listitem>
312 <listitem><para>The tool <computeroutput> xml2gantt.pl </computeroutput>
313 has been renamed to <computeroutput> tjx2gantt </computeroutput> and
314 moved from the Contrib directory to the main directory. The tool
315 <computeroutput> xml2png </computeroutput> has been
316 removed.</para></listitem>
318 <listitem><para>Included new version 0.2.2 of TJ-Pert from
319 Philippe.</para></listitem>
321 <listitem><para>The load numbers on the bars of the HTML task and
322 resource reports can now be turned on and off using the <link
323 linkend="PROPERTY_barlabels"> barlabels </link>
324 attribute.</para></listitem>
326 <listitem><para>The HTML reports feature now 3 kind of index numbers.
327 The sequence number reflects the order of declaration in the project
328 files. The index is a logical order based on the hierarchy and other
329 attributes. The number is the index in the generated list. What used
330 to be the <computeroutput>no</computeroutput> <link
331 linkend="PROPERTY_columns">column</link> is now the
332 <computeroutput>index</computeroutput> column.</para></listitem>
334 <listitem><para>The sequence of properties in the project file can now
335 be used as sorting criteria as well. </para></listitem>
337 </itemizedlist> </para>
340 <sect2 id="version_1_4_1"><title>Version 1.4.1 (2003-02-24)</title>
342 <itemizedlist mark='opencircle'>
344 <listitem><para>Another redo of the loop detector. Now checking tasks
345 not only forward, but also backwards. Insufficiently specified task
346 boundaries are no longer detected, since they are flagged with missing
347 start/end messages after the scheduler run.</para></listitem>
349 <listitem><para>The dependency loop detector can now be skipped with
350 the --nodepcheck command line option.</para></listitem>
352 <listitem><para>The dependency loop detector runs now significantly
353 faster for larger projects.</para></listitem>
355 <listitem><para>Broken HTML table when
356 <computeroutput>schedule</computeroutput> was used with
357 <computeroutput>showactual</computeroutput> fixed.</para></listitem>
359 <listitem><para>HTML reports can now show a <link
360 linkend="PROPERTY_columns">column</link> with the completion
361 degree and the completion status. The rows can also be sorted by these
362 new columns.</para></listitem>
364 <listitem><para>The HTML and XML reports are now UTF8 encoded. This should
365 eliminate problems with languages that require non-latin1 character
366 sets.</para></listitem>
368 <listitem><para>Currency values in HTML reports are now always right
369 aligned.</para></listitem>
371 <listitem><para>A bug in the handling of nested Resources and Shifts
372 has been found and fixed. The bug lead to wrong load values for all
373 nested resources. The bug was introduced between versions 1.2 and 1.3.
376 <listitem><para>If some container tasks could not be scheduled due to
377 problems with a sub task no error message was generated. This has been
378 fixed now.</para></listitem>
380 <listitem><para>Fixed scheduling of container tasks, so that container
381 tasks with only milestones get properly scheduled.
384 <listitem><para>Only export min/max start/end times when they were
385 explicitly specified and do no longer inherit project start/end times
386 for this purpose.</para></listitem>
388 <listitem><para><link
389 linkend="PROPERTY_columns">htmlaccountreport</link> now supports
390 quarterly and yearly calendar columns.</para></listitem>
392 <listitem><para>Fixed XML reports so that milestone end dates are
393 same as start dates.</para></listitem>
395 </itemizedlist></para>
398 <sect2 id="version_1_4_2"><title>Version 1.4.2 (2003-03-10)</title>
400 <itemizedlist mark='opencircle'>
402 <listitem><para>Indentation for tree structure in HTML reports is now
403 done with cell margins. This should no longer look bad if the label
404 gets wrapped by the browser.</para></listitem>
406 <listitem><para>HTML tables now use explicit head and body sections.
407 This should repeat the table header when printing HTML reports from
408 some browsers.</para></listitem>
410 <listitem><para>Fixed segfault in XML report generation. Only plan
411 values are now exported in XML report.</para></listitem>
413 <listitem><para>Task scheduling is also set when a fixed <link
414 linkend="PROPERTY_start">start</link> or <link
415 linkend="PROPERTY_end">end</link> date is specified.</para></listitem>
417 <listitem><para>Better error reporting for syntax errors in macros.
418 The call stack with full arguments is included in the error message
419 now.</para></listitem>
421 <listitem><para>The cost column in HTML <link
422 linkend="PROPERTY_columns">task</link> or resource reports now
423 only contains cost. Support for a revenue and profit column has been
424 added.</para></listitem>
426 <listitem><para>Abbreviated month name are now encoded properly in
427 non-Latin1 languages as well.</para></listitem>
429 <listitem><para>Milestones in HTML calendars are now visible in text
430 browsers and printouts as well.</para></listitem>
432 <listitem><para>New attribute <link
433 linkend="PROPERTY_reference">reference</link> added to
434 task.</para></listitem>
436 </itemizedlist></para>
438 <sect2 id="version_1_9_0_unstable"><title>Version 1.9.0-unstable (2003-06-25)</title>
440 <itemizedlist mark='opencircle'>
442 <listitem><para>A new HTML report type for status report has been
443 added. See <link linkend="PROPERTY_htmlstatusreport">htmlstatusreport</link>
444 for details.</para></listitem>
446 <listitem><para>HTML reports are now a lot more flexible. New CSS
447 elements have being used and the table elements are customizable now.
448 See <link linkend="PROPERTY_columns">optional column
449 attributes</link> for details.</para></listitem>
451 <listitem><para>Support for <link
452 linkend="PROPERTY_extend">user-defined attributes</link> has been
453 added.</para></listitem>
455 <listitem><para>Resource allocations can now be made <link
456 linkend="PROPERTY_mandatory">mandatory</link>.</para></listitem>
458 <listitem><para>The format of numbers and currency values can now be
460 linkend="PROPERTY_numberformat">numberformat</link> and <link
461 linkend="PROPERTY_currencyformat">currencyformat</link>. The old
462 keyword currencydigits has been deprecated.</para></listitem>
464 <listitem><para>All reports have now support for daily, weekly,
465 monthly, quarterly and yearly calendars. Task lines now contain
466 Gantt-chart like bars.</para></listitem>
468 <listitem><para>HTML reports got the additional columns
469 <computeroutput>hierarchno</computeroutput> and
470 <computeroutput>hierarchindex</computeroutput>.</para></listitem>
472 <listitem><para>Several new query functions and operators for <link
473 linkend="TYPE_LOGICALEXPRESSION">logical expressions</link> have been
474 added.</para></listitem>
476 <listitem><para>Scenario specific task attributes can now be prefixed
477 with the scenario ID followed by a colon. The attributes starting with
478 'plan' or 'actual' have been deprecated.</para></listitem>
480 <listitem><para>Fixed the URLs for task and resource names in HTML reports.
483 <listitem><para>Cost, revenue and profit values as well as effort
484 values are now indented in tree sorting mode for all HTML reports.
487 <listitem><para>Length and duration tasks with resource
488 allocations are no longer trimmed to the first and last resource
489 allocation.</para></listitem>
491 <listitem><para>Fixed rounding error in effort calculation that led to
492 the allocation of an extra time slot in some cases.</para></listitem>
494 <listitem><para>Fixed wrong scheduling of tasks that had a length or
495 duration specified as hours or minutes.</para></listitem>
497 <listitem><para>'length' based task now use the global working hours
498 and global vacation settings as a criteria of what is a working day.
499 The tasks now always end during working hours and not at
500 midnight.</para></listitem>
502 <listitem><para>isplanallocated and isactualallocated had broken time
503 interval handling. This is fixed now.</para></listitem>
505 <listitem><para><link
506 linkend="PROPERTY_workinghours">workinghours</link> and <link
507 linkend="PROPERTY_currency">currency</link> are no longer global
508 properties. They are now optional attributes of the project
509 property.</para></listitem>
511 <listitem><para>The scenario name is no longer displayed by default if
512 more than one scenario is included in a report. A column
513 <computeroutput>scenario</computeroutput> must be explicitly added if
514 the scenario name should be reported for each line. The attributes
515 'showactual' and 'hideplan' have been deprecated. The <link
516 linkend="PROPERTY_scenarios">scenarios</link> attribute now
517 controls which scenarios should be shown.</para></listitem>
519 <listitem><para>Container tasks in export reports no longer have fixed
520 start and end date if they have their sub tasks exported as
521 well.</para></listitem>
523 <listitem><para><link linkend="PROPERTY_allocate">Resource
524 allocations</link> are now inherited from parent
525 tasks.</para></listitem>
527 </itemizedlist></para>
530 <sect2 id="version_1_9_1_unstable"><title>Version 1.9.1-unstable (2003-07-29)</title>
532 <itemizedlist mark='opencircle'>
534 <listitem><para>A new class of reports has been added. CSV reports
535 (Comma separated values) are useful to import TaskJuggler reports
536 into other productivity applications such as
537 spreadsheets. The new reports are called <link
538 linkend="PROPERTY_csvtaskreport">csvtaskreport</link>, <link
539 linkend="PROPERTY_csvresourcereport">csvresourcereport</link> and <link
540 linkend="PROPERTY_csvaccountreport">csvaccountreport</link>.</para></listitem>
542 <listitem><para>HTML Calendars have now a navigation aid. Moving a
543 mouse over a cell will show the date and task/resource id in the
544 browser status bar.</para></listitem>
546 <listitem><para>Background cells in HTML calendars are now merged.
547 This makes TaskJuggler report generation faster and reduces the size
548 of HTML report files.</para></listitem>
550 <listitem><para>The <link linkend="PROPERTY_export">export report</link>
551 can now be a main project file as well.</para></listitem>
553 <listitem><para>A new keyword for taskattributes of export reports has
554 been introduced. The keyword <computeroutput>all</computeroutput>
555 causes all supported task attributes to be exported.</para></listitem>
557 <listitem><para>Various speed improvements.</para></listitem>
559 <listitem><para>The broken milestone symbol in HTML calendars has been
560 fixed.</para></listitem>
562 <listitem><para>HTML reports now have a black grid to separate the
563 cells. This enhances readability both on the screen and on printouts.
566 <listitem><para>The functions for <link
567 linkend="TYPE_LOGICALEXPRESSION">Logical Expressions</link> are now using
568 capital letters to improve their readability. The all lowercase
569 versions are still supported, but the recommended versions are now the
570 ones with intermixed uppercase letters.
571 <computeroutput>isTaskOfProject</computeroutput> was added as new
572 query function.</para></listitem>
574 <listitem><para>The maximum allocation of a resource for a task is no
575 longer limited by default. <link
576 linkend="PROPERTY_maxeffort">maxeffort</link> now defaults to 0
577 (unlimited) instead of 1.0 (8 hours per day). To have the same
578 behaviour as in TaskJuggler 1.x version you need to specify
579 <computeroutput>maxeffort 1.0</computeroutput> before any resource
580 definition. This change was made since many users were confused when
581 after increasing the daily working hours resources were still only
582 allocated 8 hours per day.</para></listitem>
584 </itemizedlist></para>
587 <sect2 id="version_1_9_2_unstable"><title>Version 1.9.2-unstable (2003-09-05)</title>
589 <itemizedlist mark='opencircle'>
591 <listitem><para>Support for new XML format has been added. The old
592 format is still supported. TJ can read both old and new format XML
593 files but will use the new XML format for output.</para></listitem>
595 <listitem><para>The property <link
596 linkend="PROPERTY_projectids">projectids</link> has been added. It is used in
597 export reports to declare all the project IDs that are used in the
598 report.</para></listitem>
600 <listitem><para>Resource booking periods can now overlap with off-duty
601 hours, vacation or other task assignments. This is controlled by the
602 <link linkend="PROPERTY_sloppy">sloppy</link> attribute.
605 <listitem><para>Effort based tasks now correctly recognize if the
606 effort was partially specified with booking attributes. The effort is
607 no longer allocated on top of the bookings.</para></listitem>
609 <listitem><para>You can now reference environment variables by
610 writing <literal>$(VAR)</literal> as a means to pass runtime
611 values to TaskJuggler.</para></listitem>
613 <listitem><para>Several inconsistencies and off-by-one errors with
614 respect to task end times have been fixed.</para></listitem>
616 <listitem><para>TaskJuggler can now create 'make' compatible
617 dependency information.</para></listitem>
619 <listitem><para>The number of errors after which TaskJuggler stops
620 processing is now configurable via a command line
621 option.</para></listitem>
623 </itemizedlist></para>
626 <sect2 id="version_2_0_0"><title>Version 2.0.0 (2003-11-24)</title>
628 <itemizedlist mark='opencircle'>
630 <listitem><para>Fixed completion coloring in HTML
631 reports.</para></listitem>
633 <listitem><para>Fixed segfault in certain cases of inherited resource
634 allocations.</para></listitem>
636 <listitem><para><link linkend="PROPERTY_macro">Macro names</link> in macro
637 calls can now be prefixed by a question mark to suppress warnings if
638 the macro is undefined.</para></listitem>
640 <listitem><para>Microsoft and MacOS text files are now read in
641 correctly.</para></listitem>
643 <listitem><para>Report cells can be left empty and URLs can be
644 omitted controlled by a logical expression. This is controlled by
645 <link linkend="PROPERTY_hidecelltext">hidecelltext</link>
647 linkend="PROPERTY_hidecellurl">hidecellurl</link>.</para></listitem>
649 <listitem><para>New functions isATask, isAResource and isAnAccount can
650 now be used in logical expressions.</para></listitem>
652 <listitem><para>XML version 2 files are now compressed with
653 zlib.</para></listitem>
655 </itemizedlist></para>
658 <sect2 id="version_2_0_1"><title>Version 2.0.1 (2004-03-08)</title>
660 <itemizedlist mark='opencircle'>
662 <listitem><para>Fixed handling of resource allocations with multiple
663 shift intervals.</para></listitem>
665 <listitem><para>Fixed double-quoting of HTML special characters such
666 as umlauts.</para></listitem>
668 <listitem><para>Added query function isDutyOf() to select tasks where
669 a certain resource has been assigned to.</para></listitem>
671 <listitem><para>The contents of XML reports can now be limited with
672 the usual filter mechanisms. Support for <link
673 linkend="PROPERTY_hideresource">hideresource</link>, <link
674 linkend="PROPERTY_hidetask">hidetask</link>, <link
675 linkend="PROPERTY_rollupresource">rollupresource</link> and <link
676 linkend="PROPERTY_rolluptask">rolluptask</link> has been added. Also
677 <link linkend="PROPERTY_scenarios">scenario filtering</link> was
678 implemented for XML reports.</para></listitem>
680 <listitem><para>Weekly, monthly, quarterly and yearly HTML reports now
681 have resource vacations as well. If the vacation fills the complete
682 report cell term, the cell has a yellow background.</para></listitem>
684 <listitem><para>Fixes for building TaskJuggler on FreeBSD
685 added.</para></listitem>
687 <listitem><para><link linkend="PROPERTY_maxeffort">maxeffort</link>
688 and <link linkend="PROPERTY_load">load</link> have been replaced by
689 the far more flexible concept of <link
690 linkend="PROPERTY_limits">limits</link>.</para></listitem>
692 </itemizedlist></para>
695 <sect2 id="Changelog_2_1_0"><title>Version 2.1.0 (2005-03-07)</title>
697 <itemizedlist mark='opencircle'>
699 <listitem><para>TaskJuggler now has a nice face. Beside the
700 commandline application <computeroutput>taskjuggler</computeroutput>,
701 you can now use <computeroutput>TaskJuggler</computeroutput> or
702 <computeroutput>ktjview2</computeroutput> as a graphical user
703 interface to enter and schedule your projects.</para></listitem>
705 <listitem><para>New optimizer that achieves much better resource
706 selection resulting in shorter overall project times.</para></listitem>
708 <listitem><para>Passive resources like meeting rooms, machines and the
709 like, that do not contribute to the effort of a task can now be
710 modelled by setting their efficiency to 0.0.</para></listitem>
712 <listitem><para>Added critical path analyser. Each task is rated and
713 the rating can be listed in the HTML and CSV report.</para></listitem>
715 <listitem><para>New task state added. When a task is not finished by
716 the planned end date, it now marked as
717 <computeroutput>late</computeroutput>.</para></listitem>
719 <listitem><para>Task dependency specifications (<link
720 linkend="PROPERTY_depends">depends</link> or <link
721 linkend="PROPERTY_precedes">precedes</link> can now have optional gap
722 specification. It is possible to specify the gap in calendar time
723 (<link linkend="PROPERTY_gapduration">gapduration</link>) or working
725 linkend="PROPERTY_gaplength">gaplength</link>).</para></listitem>
727 <listitem><para>The speed of report generation has been significantly
728 improved. This is especially true for reports that make use of filter
729 functions.</para></listitem>
731 <listitem><para>Added <computeroutput>status</computeroutput> and
732 <computeroutput>statusNote</computeroutput> to XML
733 reports.</para></listitem>
735 <listitem><para>Added some missing properties to the documentation.
736 Mainly the sorting criterias were missing.</para></listitem>
738 <listitem><para>Fixed a memory leak during XML report
739 generation.</para></listitem>
741 <listitem><para>Fixed scheduling of nested task that had an external
742 dependency and an inherited start/end date.</para></listitem>
744 <listitem><para>Limits of resource allocations with multiple
745 alternatives are now correctly handled. The limits were applied to
746 each individual resource instead of to the whole
747 allocation.</para></listitem>
749 <listitem><para>The task priority is now always properly respected.
750 Due to a bug in the scheduling algorithm a heavy mixture of ALAP and
751 ASAP tasks with various levels of priorities, ALAP tasks were treated
752 more favorable then they should have been treated. This fix can
753 drastically reduce the scheduling speed when you have a heavy mixture
754 of ALAP and ASAP tasks with varying priorities.</para></listitem>
756 <listitem><para>The error checking and reporting of logical
757 expressions has been drastically improved.</para></listitem>
759 <listitem><para>The reports are now generated relative to their
760 definition file and no longer relative to the current working
761 directory where you started the program.</para></listitem>
763 </itemizedlist></para>
766 <sect2 id="Changelog_2_1_1"><title>Version 2.1.1 (2005-08-04)</title>
768 <itemizedlist mark='opencircle'>
770 <listitem><para>The code for the generation of iCal reports has been
771 revived again. iCal is a standard format to exchange data with
772 calendar applications such as KOrganizer.</para></listitem>
774 <listitem><para>The contents of export reports can now be customized
775 with the <link linkend="PROPERTY_properties">properties</link>
776 attribute. The report interval is customizable as well
777 now.</para></listitem>
779 <listitem><para>Add new chapter to manual that describes how to use
780 TaskJuggler as a project tracking tool.</para></listitem>
782 <listitem><para>The HTML version of the manual has now a new look and
783 many more syntax examples have been added to the property
784 reference.</para></listitem>
786 <listitem><para>The TaskJuggler editor now supports printing of
787 project files.</para></listitem>
789 <listitem><para>Fixed build with GCC 4.</para></listitem>
791 <listitem><para>Fixed build problems in the doc directory on Debian
792 Unstable and FC3.</para></listitem>
794 <listitem><para>We are now using docbook-utils instead of docbook-toys
795 to generate the documentation.</para></listitem>
797 <listitem><para>Filtering resources and tasks in the TaskJuggler GUI
798 reports now always works properly.</para></listitem>
800 <listitem><para>Fixed generation of reports with absolute file
801 names.</para></listitem>
803 <listitem><para>Make sure that all dates specified in project files
804 lie within the Unix time space. For technical reasons we need to limit
805 this to 1971-01-01 - 2035-01-01.</para></listitem>
807 <listitem><para>Fixed some crashes related to out of project time
808 specifications.</para></listitem>
810 <listitem><para>Warnings about pre 2.0 deprecated syntax elements have
811 been converted to errors.</para></listitem>
813 <listitem><para>Fixed sorting of task reports when not using the
814 default scenario as first scenario.</para></listitem>
816 <listitem><para>Fixed projection scheduling mode. Tasks with bookings
817 equal or larger than the effort lead to scheduling
818 errors.</para></listitem>
820 </itemizedlist></para>
823 <sect2 id="Changelog_2_2_0"><title>Version 2.2.0 (2005-12-05)</title>
825 <itemizedlist mark='opencircle'>
827 <listitem><para>The two graphical front-ends that have been present in earlier
828 TaskJuggler releases have been merged into one new front-end. It's
829 called TaskJugglerUI. The <computeroutput>ktjview2</computeroutput>
830 and <computeroutput>TaskJuggler</computeroutput> executables are no
831 longer included. This was done also to avoid name clashes on
832 Windows/Cygwin.</para></listitem>
834 <listitem><para>The TaskJuggler user interface now supports printing
835 of high-quality task and resource reports.</para></listitem>
837 <listitem><para>Major usability improvements for the GUI. It's now
838 fully navigable by keyboard. The scaling/zooming of the Gantt chart
839 has been improved.</para></listitem>
841 <listitem><para>HTML reports are now rendered with an embedded
842 browser instead of launching an external browser.</para></listitem>
844 <listitem><para>Export reports are now loaded into the editor when
845 selected in the report browser.</para></listitem>
847 <listitem><para>The GUI supports now multiple project
848 templates. The templates can be customized on loading to reflect the
849 current date.</para></listitem>
851 <listitem><para>Added date picker to GUI editor. By pressing CTRL+D
852 the user can insert or change a date using the comfortable date picker
853 widget.</para></listitem>
855 <listitem><para>The GUI editor now supports search and replace over
856 all files.</para></listitem>
858 <listitem><para>The computation of completion degrees of container
859 task has been improved to produce more meaningful values for all
860 milestone or all effort tasks.</para></listitem>
862 <listitem><para>To get Gantt and resource reports in the GUI the
863 column 'chart' must be specified. They are no longer displayed
864 automatically. This was done to have more consistency between the
865 printed version of the GUI reports and the other
866 reports.</para></listitem>
868 <listitem><para>The default separator for CSV files is now a semicolon
869 since this is what OpenOffice.org uses by default. But this can be
870 changed if needed.</para></listitem>
872 <listitem><para>The projection scheduling mode has been fixed and
873 extended. In strict mode bookings will be scheduled only after the
874 current date. In sloppy mode, bookings will also be scheduled prior to
875 the current date for tasks that have no bookings at
876 all. The modes can be set in the scenario definition.</para></listitem>
878 <listitem><para>Fixed reporting of value 1,000 in US currency
879 format.</para></listitem>
881 <listitem><para>Fixed reported task duration value in all report
882 types. Value was only correct when unit 'days' was
883 used.</para></listitem>
885 <listitem><para>Fixed account reports which had summary lines that
886 were all 0. In HTML reports the summary columns were rendered all
887 black.</para></listitem>
889 <listitem><para>Fixed detection of cyclic brother tasks. This caused
890 taskjuggler to go into a memory hogging endless loop.</para></listitem>
892 <listitem><para>Fixed bug in priority handling. Under certain
893 circumstances resources were allocated to lower priority tasks even
894 though they should have been assigned to higher priority
895 tasks.</para></listitem>
897 <listitem><para>Fixed critical bug that turned 'precedes' of parent
898 tasks into 'depends' of child tasks.</para></listitem>
900 <listitem><para>Fixed cost accounting for non-working resources. They
901 were always accounted to 0.</para></listitem>
903 </itemizedlist></para>
906 <sect2 id="Changelog_2_3_0"><title>Version 2.3.0 (2006-09-05)</title>
908 <itemizedlist mark='opencircle'>
910 <listitem><para>Added improved error checking for 'timezone'
911 attribute. Only values as determined by tools like tzselect are
912 allowed, e. g. "Europe/Berlin".</para></listitem>
914 <listitem><para>The GUI GANTT chart now can highlight critical
915 pathes. See <link linkend="PROPERTY_minslackrate">minslackrate</link>
916 for details how to use the feature.</para></listitem>
918 <listitem><para>The htmlweeklycalendar has been reworked. It now only
919 list tasks if they are being worked on that day. A new attribute <link
920 linkend="PROPERTY_weekdays">weekdays</link> can be used to only show
921 some days of the week. This can be used to hide e. g.
922 weekdays.</para></listitem>
924 <listitem><para>ICal reports now include events. The completion value
925 is now shown correctly and assigned resources are
926 included.</para></listitem>
928 <listitem><para>Fixed handling of tasks that have 'precedes' and
929 'depends' attributes.</para></listitem>
931 <listitem><para>Single and double quoted strings may now contain
932 single or double quotes when escaped by a preceding
933 backslash.</para></listitem>
935 <listitem><para>Fixed 'gaplength' and 'gapduration' handling for other
936 scenarios than the default one.</para></listitem>
938 <listitem><para>Fixed 'duration' column in all reports. Values equal
939 or smaller than 24 hours were reported too high.</para></listitem>
941 <listitem><para>No longer show dependency arrows in Gantt chart for
942 inherited dependencies.</para></listitem>
944 <listitem><para>Generate proper warning when bookings are assigned to
945 container tasks or milestones.</para></listitem>
947 <listitem><para>It is now possible to book off-hour and vacation time
948 slots with 'booking' when the <link
949 linkend="PROPERTY_overtime">overtime</link> attribute is
950 used.</para></listitem>
952 <listitem><para>Added support for a more compact way to specify
953 bookings. It's now possible to list multiple comma seperated time
954 intervals in a single booking statement.</para></listitem>
956 <listitem><para>Fix build system so that kde-config is no longer
957 mandatory. This simplifies compiling on Windows/Cygwin and Qt-only
958 installs.</para></listitem>
960 <listitem><para>Speed improvements for the loop detector. Large
961 projects with many top-level tasks should be scheduled significantly
962 faster now.</para></listitem>
964 <listitem><para>'start' and 'end' attributes specified for derived
965 scenarios no longer cause accidental changes of the scheduling
966 direction. This guarantees that a task has always the same scheduling
967 direction in all scenarios.</para></listitem>
969 <listitem><para>Added support for more compact workinghour
970 specifications. <computeroutput>workinghours mon - fri 8:00 -
971 15:00</computeroutput> as well as <computeroutput>workinghours mon,
972 sat, sun off</computeroutput> are now possible.</para></listitem>
974 <listitem><para>Added man pages for taskjuggler and
975 TaskJugglerUI.</para></listitem>
977 <listitem><para>Fixed infinite loop bug in critical path detectors.
978 With certain task dependencies TaskJuggler could get stuck forever
979 when processing the project.</para></listitem>
981 <listitem><para>Fixed TaskJugglerUI crash when processing a project
982 with many runaway tasks.</para></listitem>
984 <listitem><para>Better fit of report interval for printed Gantt
985 charts.</para></listitem>
987 <listitem><para>Fixed header of weekly and monthly CSV
988 reports.</para></listitem>
990 <listitem><para>XML reports now use the gzip compressed version 2 XML
991 format by default.</para></listitem>
993 <listitem><para>Add check to forbid assigning account groups to
994 tasks.</para></listitem>
996 <listitem><para>Added Turkish translations for
997 TaskJugglerUI.</para></listitem>
999 </itemizedlist></para>
1002 <sect2 id="Changelog_2_3_1"><title>Version 2.3.1 (2007-01-30)</title>
1004 <itemizedlist mark='opencircle'>
1006 <listitem><para>Added support for automatic macros like
1007 <computeroutput>now</computeroutput>,
1008 <computeroutput>projectstart</computeroutput> and
1009 <computeroutput>projectend</computeroutput>.</para></listitem>
1011 <listitem><para>Added monthly calendar HTML report.</para></listitem>
1013 <listitem><para>Added <computeroutput>period</computeroutput> property
1014 as a shortcut for the combined use of
1015 <computeroutput>start</computeroutput> and
1016 <computeroutput>end</computeroutput>.</para></listitem>
1018 <listitem><para>Added more details to the pop-up info for tasks and
1019 resources in the UI.</para></listitem>
1021 <listitem><para>Added support for warnings and turned some
1022 non-critical errors into warnings.</para></listitem>
1024 <listitem><para>Improved scheduling performance for projects with
1025 long dependency chains.</para></listitem>
1027 <listitem><para>Added new attribute
1028 <computeroutput>purge</computeroutput> to clear inherited allocations
1029 and flags from a task or resource.</para></listitem>
1031 <listitem><para>Fixed complexity explosion in loop detector and
1032 critical path analyzer. Larger projects that made heavy use of
1033 inherited dependencies had an exponentially growing run time of these
1034 components.</para></listitem>
1036 <listitem><para>The threshold for the critical path detection now
1037 defaults to 10%. All pathes that have less than 10% slack time will be
1038 marked as critical.</para></listitem>
1040 <listitem><para>Fixed problem where editor tools were doubled when
1041 "Open Recent" was used while editor was open. This also triggered a
1042 crash on program exit.</para></listitem>
1044 <listitem><para>Fixed double headline problem in most HTML
1045 reports.</para></listitem>
1047 <listitem><para>Fixed a bug in the coloring of tasks in HTML reports
1048 that had a 'complete' specification.</para></listitem>
1050 <listitem><para>Fixed documenation for usage of sorting modes for
1051 scenario specific columns in reports and make them work
1052 properly.</para></listitem>
1054 <listitem><para>Force <computeroutput>now</computeroutput> date to be
1055 aligned to the timing resolution.</para></listitem>
1057 <listitem><para>Fixed a major bug in the handling of multiple
1058 scenarios. Values were inherited from peer scenarios instead of their
1059 parents.</para></listitem>
1061 <listitem><para>More meaningful error messages for some impossible
1062 combinations of fixed start/end times and
1063 dependencies.</para></listitem>
1065 <listitem><para>For technical reasons we had to limit the
1066 timingresolution between 5 minutes and 1 hour. Larger resolutions
1067 caused too many hazards in corner case situations.</para></listitem>
1069 <listitem><para>Fixed <computeroutput>gaplength</computeroutput> for
1070 time units other than days.</para></listitem>
1072 <listitem><para>Really hide all inherited dependency arrows in Gantt
1073 chart.</para></listitem>
1075 <listitem><para>Fix several crashes when the user is viewing reports
1076 in the UI after an unsuccessfull scheduling run.</para></listitem>
1078 <listitem><para>Fix sorting of tasks in interactive resource reports
1079 and sorting of resources in interactive task
1080 reports.</para></listitem>
1082 <listitem><para>The resource reporting in htmlweeklycalendar reports
1083 has been fixed. The report can now be used in task or resource
1084 reporting mode. The default is the task reporting mode which is
1085 closest to the previous behaviour.</para></listitem>
1087 <listitem><para>Fixed values of the revenue and profit column in
1088 resource reports. Resources can never generate a revenue so the value
1089 must always be 0.</para></listitem>
1091 <listitem><para>Fixed crash when printing resource reports from the UI
1092 that had a <computeroutput>hierarchyindex</computeroutput>
1093 column.</para></listitem>
1095 <listitem><para>The completion degree of container tasks that have sub
1096 tasks with and without resource allocations was reported as 0. This
1097 has been replaced with "in progress" as the completion degree cannot be
1098 calculated.</para></listitem>
1100 </itemizedlist></para>
1103 <sect2 id="Changelog_2_4_0"><title>Version 2.4.0 (2007-07-03)</title>
1105 <itemizedlist mark='opencircle'>
1107 <listitem><para>For consistency and readability the notation of
1108 intervals without a dash between start and end date is slowly being
1109 deprecated. It was silently accepted in the project header and booking
1110 statements. This is not flagged with a warning. The project will still
1111 schedule fine.</para></listitem>
1113 <listitem><para>The critical path detector has been rewritten to
1114 reduce the complexity explosion that is triggered by lots of inherited
1115 dependencies in combination with long dependency chains. The number of
1116 searched paths is now limited to 10 million to avoid very long
1117 scheduling runs by default. This limit can be changed with the
1118 <computeroutput>maxpaths</computeroutput> attribute. A value of 0
1119 means no limit.</para></listitem>
1121 <listitem><para>The default minimum slack rate has been changed to
1122 5%.</para></listitem>
1124 <listitem><para>Added support for C++ style single line comments.
1125 Comment lines can now start with // or #.</para></listitem>
1127 <listitem><para>Added a warning when the working hours do not align
1128 with the timing resolution.</para></listitem>
1130 <listitem><para>The booking statements in export reports now include a
1131 <computeroutput>overtime 2</computeroutput> attribute. This avoids the
1132 error messages when the scheduling was based on overtime bookings and
1133 the export file is read-in again.</para></listitem>
1135 <listitem><para>Added a <computeroutput>Generate all
1136 Reports</computeroutput> option to the menu of the
1137 GUI.</para></listitem>
1139 <listitem><para>The sloppiness 3 for booking statements is no longer
1140 supported. The booking statements are processed in no particular
1141 order, so it's undefined which booking will actually get the resource
1142 in a conflict.</para></listitem>
1144 <listitem><para>Removed support for KoTrus database.</para></listitem>
1146 <listitem><para>Fix HTML generation for HTMLWeeklyCalendar when cells
1147 are empty.</para></listitem>
1149 <listitem><para>Properly report durations in printed
1150 reports.</para></listitem>
1152 <listitem><para>Many editorial fixes were applied to the
1153 manual.</para></listitem>
1155 <listitem><para>Properly handle Pacific/Auckland
1156 DST.</para></listitem>
1158 <listitem><para>Fixed a number of memory leaks.</para></listitem>
1160 <listitem><para>Removed namespace collision for resource and account
1161 custom attributes and added support for user defined account
1162 attributes in the code.</para></listitem>
1164 <listitem><para>Make sure that files that have been modified on disk
1165 while edited by the TaskJugglerUI are detected properly. Probably with
1166 KDE 3.5.4 the behavior of the Kate library changed so that the test no
1167 longer worked properly and modified files were not
1168 detected.</para></listitem>
1170 <listitem><para>Fixed crash when non existant file was
1171 included.</para></listitem>
1173 <listitem><para>Detect usage of undefined macros again. Undefined
1174 macros were silently ignored. This should only happen when the macro
1175 name is prefixed with a questionmark in the macro call.</para></listitem>
1177 <listitem><para>Properly report effort and load of group resources
1178 that have children with an efficiency different than
1179 0.</para></listitem>
1181 <listitem><para>Fixed a crash when an illegal date was specified in a
1182 project file.</para></listitem>
1184 <listitem><para>The XML reports now also include the
1185 accounts.</para></listitem>
1187 <listitem><para>Fixed a rounding error that caused dependency gaps to
1188 be one time slot short.</para></listitem>
1190 <listitem><para>The commandline version now properly returns a
1191 non-zero value if the report generation caused an
1192 error.</para></listitem>
1194 <listitem><para>Fixed the reversed sorting order for resource specific
1195 sorting criteria.</para></listitem>
1197 <listitem><para>Add workaround for new bahviour of tzset function in
1198 glibc 2.5.</para></listitem>
1200 <listitem><para>Fixed off-by-one-slot bug for limits on allocations
1201 with multiple resources.</para></listitem>
1203 </itemizedlist></para>
1206 <sect2 id="Changelog_2_4_1"><title>Version 2.4.1 (Some Day)</title>
1208 <itemizedlist mark='opencircle'>
1210 <listitem><para>Fixed a serious bug in the optimizer part of the
1211 scheduling algorithm. When many tasks had the same priority, the path
1212 criticalness was not always respected resulting in longer running
1213 projects than necessary. The effect mostly showed under heavy resource
1214 pressure.</para></listitem>
1216 <listitem><para>Add <computeroutput>taskroot</computeroutput> support
1217 for XML reports.</para></listitem>
1219 <listitem><para>The task outlines in the UI resource reports have been
1220 replaced with relative load bars. One can now see what load is
1221 assigned to what resource at which point of time.</para></listitem>
1223 <listitem><para>Fixed calculation of effort based values in group task
1224 line items of resource reports.</para></listitem>
1226 <listitem><para>The isChildOf() function no longer returns true for
1227 self.</para></listitem>
1229 <listitem><para>Use alternating background pattern for Gantt chart to
1230 enhance readability.</para></listitem>
1232 <listitem><para>Make tasks and resources in Gantt charts selectable
1233 and enable RMB menu to edit and view them quickly.</para></listitem>
1235 <listitem><para>Added filter for GUI report list
1236 items.</para></listitem>
1238 <listitem><para>The report interval of interactive reports can now be
1239 changed from the GUI temporarily.</para></listitem>
1241 <listitem><para>Fixed the coloring of completed part of a container
1242 task in HTML task reports.</para></listitem>
1244 <listitem><para>Added new column
1245 <computeroutput>scheduling</computeroutput>,
1246 <computeroutput>completedeffort</computeroutput> and
1247 <computeroutput>remainingeffort</computeroutput> to reports. The first shows the
1248 scheduling direction of tasks and can be used to find potential
1249 sources for priority inversions. The other two show the task effort
1250 that has been completed already and the remaining effort.</para></listitem>
1252 </itemizedlist></para>