Fixed completely broken global vacation handling.
Added test case for vacation handling to test suite.
Added some reports to the example file, so users actually get a result of the TaskJuggler run.
Support for later completion of task and resources added. By writing 'supplement task <ID> { ... }' an already defined task can be extended. So it's easier now to create a file which contains the vacations for all resources separate from the resource definition itself.
Extended expression parser to work on string type values as well.
logicalexpression for hidetask, rolluptask etc. can now contain functions as well. Currently there is support for 'istask', 'isresource', 'isaccount', 'issubtaskof', 'contains', 'ismilestone'.
Moved the docs directory from TaskJuggler subdir to topdir.
Added feature list and change-log to the documentation.
property_reference is now sorted in alphabetical order.
Added lots of missing attributes to htmlaccountreport .
Added missing export report to documentation. Export reports can now contain the scheduled tasks as well as the resource allocations.
New keywords planbooking and actualbooking to enter fixed bookings of resources in the resource declaration.
Added new example project to illustrate the use of export in big projects that are split into sub projects.
HTML comments in HTML report files are now using correct syntax.
Partial fix for correct time zone handling.
Support for STDIN reading and STDOUT writing added. This can be used when calling TaskJuggler from CGI scripts.
Fixed sorting by ID for all HTML reports.
Fixed bug in vacation handling. Vacations that started before the project were silently ignored.
Added support for taskattributes to export report.
XML Output changes: Basically the XML output is more simple to parse, some values were added and corrected.
Added a first simple TaskJuggler XML-output viewer for KDE. See ktjview/README for installation. Configure with KDE support enabled.
Disabled ical support by introducing the HAVE_ICAL switch in the code. The switch is not yet configure supported, but building with --with-kde-support should work now without failing on missing libical.
Support for URLs in HTML reports added.
Legacy HTML elements have been removed from HTML reports. TaskJuggler now creates pure HTML 4.0 code.
Added support for insertion of raw HTML code into reports. This can be achieved with rawhead and rawtail .
Added support for user defined style sheets in HTML reports by using the rawstylesheet attribute.
Strings can now be enclosed in either single or double quotes. A single quoted string may contain double quotes and vice versa.
Working hours can now be declared on project level. This also determines if a day is considered a working day or not.
With startbuffer and endbuffer you can now specify that there might be some air left in a certain task.
Remo's Gantt chart generators have been included in the Contrib directory.
This release features some bigger cleanup changes. Some of them do break compatibility with older version of taskjuggler. While we try very hard to avoid such situations, we do prefer to have a consistent and logical language. Since the TaskJuggler user base is still comparatively small, we decided to break compatibility now rather than later. The changes are fairly minor, so they won't affect many users. Please see further down for more details.
Added Perl/Tk tool to view Gantt charts and other project information.
Added PERT-chart generator from Philippe Midol-Monnet.
Added support for shifts in shift and task allocate shift.
Fixed vim syntax highlighting. Some keywords were missing.
Export report had syntax bug when milestones were present. Fixed.
Fixed handling of week, month and year duration specifications.
now and timingresolution are no longer properties. They are now optional attributes of project. They currently still work as properties as well but a warning is issued and they will be removed in the next major release.
dailyworkinghours and yearlyworkingdays have been implemented to allow the user for better control over the conversion from working days to working hours.
Added support for a select function for alternative resource allocations.
All load values in HTML reports can now be scaled by specifying a loadunit.
Improved readability of scheduler error messages.
Added new example project to the Examples directory to illustrate how to create shift schedules with TaskJuggler.
Fixed scheduler for working hours around midnight. This bug affected shifts as well as general working hours.
Extended timezone support. TaskJuggler will now operate properly when TZ environment variable is set.
Only export references to tasks which are exported in the same report.
Allow supplements of tasks within task definitions.
Converted documentation to DocBook. We now have a much nicer and more structured manual. A printable version is available as well now.
Fixed HTML code for bookedlight cells. Those were rendered without background on some browsers.
Added support for multi-level sorting in reports. sorttasks and sortresources now take multiple criteria.
Several bugs in the sorting direction code have been fixed. startup, startdown, endup and enddown have been replaced by planstartup, planstartdown, planendup and planenddown.
The optional attribute taskprefix has been added to include. This allows other projects to be added at arbitrary points in the task tree as sub projects.
Include statements within tasks are no longer supported. They lead to ambiguous interpretation of certain attributes.
The optional attribute taskroot has been added to export. This allows to export sub tasks of a tasks to be exported as root-level tasks.
The project file reader has been made fully Unicode aware. It is now possible to use non-ASCII characters in text strings and comments.
Two new functions have been added for use in logical expressions. isplanallocated and isactualallocated can be used to show only resources that have been allocated to a certain project in a given time frame.
Made week of year calculation ISO 8601:1988 and DIN 1355 compliant. This also affects the month and year correlation in weekly reports. You can use the optional project attributes weekstartssunday and weekstartsmonday to specify whether you like to start you week on Sunday or Monday.
Support for a flags columns added to HTML reports.
Sub tasks do now inherit the dependencies of their container tasks. Specifying dependencies after sub tasks is now illegal since they would be only used for checking, but not for scheduling.
The logic checker for task attributes has been completely rewritten. Since it probably catches some more errors, you might have to fix your project now. Such cases would have resulted in wrong results anyhow. Lots of test cases have been added to the test suite to validate the checker.
The error reporting has been drastically improved. The messages should be more precise now and errors that are triggered by other errors should be not so prominent anymore.
A new report type has been added. htmlweeklycalendar can be used to generate weekly calendars.
The format of time specifications in HTML reports is now configurable via timeformat and shorttimeformat
The keyword xmltaskreport is now deprecated. It has been replaced by xmlreport . The rest of the syntax remains identical.
The tool xml2gantt.pl has been renamed to tjx2gantt and moved from the Contrib directory to the main directory. The tool xml2png has been removed.
Included new version 0.2.2 of TJ-Pert from Philippe.
The load numbers on the bars of the HTML task and resource reports can now be turned on and off using the barlabels attribute.
The HTML reports feature now 3 kind of index numbers. The sequence number reflects the order of declaration in the project files. The index is a logical order based on the hierarchy and other attributes. The number is the index in the generated list. What used to be the no column is now the index column.
The sequence of properties in the project file can now be used as sorting criteria as well.
Another redo of the loop detector. Now checking tasks not only forward, but also backwards. Insufficiently specified task boundaries are no longer detected, since they are flagged with missing start/end messages after the scheduler run.
The dependency loop detector can now be skipped with the --nodepcheck command line option.
The dependency loop detector runs now significantly faster for larger projects.
Broken HTML table when schedule was used with showactual fixed.
HTML reports can now show a column with the completion degree and the completion status. The rows can also be sorted by these new columns.
The HTML and XML reports are now UTF8 encoded. This should eliminate problems with languages that require non-latin1 character sets.
Currency values in HTML reports are now always right aligned.
A bug in the handling of nested Resources and Shifts has been found and fixed. The bug lead to wrong load values for all nested resources. The bug was introduced between versions 1.2 and 1.3.
If some container tasks could not be scheduled due to problems with a sub task no error message was generated. This has been fixed now.
Fixed scheduling of container tasks, so that container tasks with only milestones get properly scheduled.
Only export min/max start/end times when they were explicitly specified and do no longer inherit project start/end times for this purpose.
htmlaccountreport now supports quarterly and yearly calendar columns.
Fixed XML reports so that milestone end dates are same as start dates.
Indentation for tree structure in HTML reports is now done with cell margins. This should no longer look bad if the label gets wrapped by the browser.
HTML tables now use explicit head and body sections. This should repeat the table header when printing HTML reports from some browsers.
Fixed segfault in XML report generation. Only plan values are now exported in XML report.
Task scheduling is also set when a fixed start or end date is specified.
Better error reporting for syntax errors in macros. The call stack with full arguments is included in the error message now.
The cost column in HTML task or resource reports now only contains cost. Support for a revenue and profit column has been added.
Abbreviated month name are now encoded properly in non-Latin1 languages as well.
Milestones in HTML calendars are now visible in text browsers and printouts as well.
New attribute reference added to task.
A new HTML report type for status report has been added. See htmlstatusreport for details.
HTML reports are now a lot more flexible. New CSS elements have being used and the table elements are customizable now. See optional column attributes for details.
Support for user-defined attributes has been added.
Resource allocations can now be made mandatory.
The format of numbers and currency values can now be specified with numberformat and currencyformat. The old keyword currencydigits has been deprecated.
All reports have now support for daily, weekly, monthly, quarterly and yearly calendars. Task lines now contain Gantt-chart like bars.
HTML reports got the additional columns hierarchno and hierarchindex.
Serveral new query functions and operators for logical expressions have been added.
Scenario specific task attributes can now be prefixed with the scenario ID followed by a colon. The attributes starting with 'plan' or 'actual' have been deprecated.
Fixed the URLs for task and resource names in HTML reports.
Cost, revenue and profit values as well as effort values are now indented in tree sorting mode for all HTML reports.
Length and duration tasks with resource allocations are no longer trimmed to the first and last resource allocation.
Fixed rounding error in effort calculation that led to the allocation of an extra time slot in some cases.
Fixed wrong scheduling of tasks that had a length or duration specified as hours or minutes.
'length' based task now use the global working hours and global vacation settings as a criteria of what is a working day. The tasks now always end during working hours and not at midnight.
isplanallocated and isactualallocated had broken time interval handling. This is fixed now.
workinghours and currency are no longer global properties. They are now optional attributes of the project property.
The scenario name is no longer displayed by default if more than one scenario is included in a report. A column scenario must be explicitly added if the scenario name should be reported for each line. The attributes 'showactual' and 'hideplan' have been deprecated. The scenarios attribute now controls which scenarios should be shown.
Container tasks in export reports no longer have fixed start and end date if they have their sub tasks exported as well.
Resource allocations are now inherited from parent tasks.
A new class of reports has been added. CSV reports (Comma separated values) are usefull to import TaskJuggler reports into other productivity applications such as spreadsheets. The new reports are called csvtaskreport, csvresourcereport and csvaccountreport.
HTML Calendars have now a navigation aid. Moving a mouse over a cell will show the date and task/resource id in the browser status bar.
Background cells in HTML calendars are now merged. This makes taskjuggler report generation faster and reduces the size of HTML report files.
The export report can now be a main project file as well.
A new keyword for taskattributes of export reports has been introduced. The keyword all causes all supported task attributes to be exported.
Various speed improvements.
The broken milestone symbol in HTML calendars has been fixed.
HTML reports now have a black grid to separate the cells. This enhances readability both on the screen and on printouts.
The functions for Logical Expressions are now using capital letters to improve their readability. The all lowercase versions are still supported, but the recommended versions are now the ones with intermixed uppercase letters. isTaskOfProject was added as new query function.
The maximum allocation of a resource for a task is no longer limited by default. maxeffort now defaults to 0 (unlimited) instead of 1.0 (8 hours per day). To have the same behaviour as in TaskJuggler 1.x version you need to specify maxeffort 1.0 before any resource definition. This change was made since many users were confused when after increasing the daily working hours resources were still only allocated 8 hours per day.
Support for new XML format has been added. The old format is still supported. TJ can read both old and new format XML files but will use the new XML format for output.
The property projectids has been added. It is used in export reports to declare all the project IDs that are used in the report.
Resource booking periods can now overlap with off-duty hours, vacation or other task assignments. This is controlled by the sloppy attribute.
Effort based tasks now correctly recognize if the effort was partially specified with booking attributes. The effort is no longer allocated ontop of the bookings.
You can now reference environment variables by writing $(VAR) as a means to pass runtime values to taskjuggler.
Several inconsistencies and off-by-one errors with respect to task end times have been fixed.
TaskJuggler can now create 'make' compatible dependency information.
The number of errors after which TaskJuggler stops processing is now configurable via a command line option.
Fixed completion coloring in HTML reports.
Fixed segfault in certain cases of inherited resource allocations.
Macro names in macro calls can now be prefixed by a questionmark to surpress warnings if the macro is undefined.
Microsoft and MacOS text files are now read in correctly.
Report cells can be left empty and URLs can be ommitted controlled by a logical expression. This is controlled by hidecelltext and hidecellurl.
New functions isATask, isAResource and isAnAccount can now be used in logical expressions.
XML version 2 files are now compressed with zlib.
Fixed handling of resource allocations with multiple shift intervals.
Fixed double-quoting of HTML special characters such as umlauts.
Added query function isDutyOf() to select tasks where a certain resource has been assigned to.
The contents of XML reports can now be limited with the usual filter mechanisms. Support for hideresource, hidetask, rollupresource and rolluptask has been added. Also scenario filtering was implemented for XML reports.
Weekly, monthly, quarterly and yearly HTML reports now have resource vacations as well. If the vacation fills the complete report cell term, the cell has a yellow background.
Fixes for building TaskJuggler on FreeBSD added.
maxeffort and load have been replaced by the far more flexible concept of limits.
TaskJuggler now has a nice face. Beside the commandlime application taskjuggler, you can now use TaskJuggler or ktjview2 as a graphical user interface to enter and schedule your projects.
New optimizer that achieves much better resource selection resulting in shorter overall project times.
Passive resources like meeting rooms, machines and the like, that do not contribute to the effort of a task can now be modelled by setting their efficiency to 0.0.
Added critical path analyser. Each task is rated and the rating can be listed in the HTML and CSV report.
New task state added. When a task is not finished by the planned end date, it now marked as late.
Task dependency specifications (depends or precedes can now have optional gap specification. It is possible to specify the gap in calendar time (gapduration) or working time (gaplength).
The speed of report generation has been significantly improved. This is especially true for reports that make use of filter functions.
Added status and statusNote to XML reports.
Added some missing properties to the documentation. Mainly the sorting criterias were missing.
Fixed a memory leak during XML report generation.
Fixed scheduling of nested task that had an external dependency and an inherited start/end date.
Limits of resource allocations with multiple alternatives are now correctly handled. The limits were applied to each individual resource instead of to the whole allocation.
The task priority is now always properly respected. Due to a bug in the scheduling algorithm a heavy mixture of ALAP and ASAP tasks with various levels of priorities, ALAP tasks were treated more favorable then they should have been treated. This fix can drastically reduce the scheduling speed when you have a heavy mixture of ALAP and ASAP tasks with variing priorities.
The error checking and reporting of logical expressions has been drastically improved.
The reports are now generated relative to their definition file and no longer relative to the current working directory where you started the program.
The code for the generation of iCal reports has been revived again. iCal is a standard format to exchange data with calendar applications such as KOrganizer.
The contents of export reports can now be customized with the properties attribute. The report interval is customizable as well now.
Add new chapter to manual that describes how to use TaskJuggler as a project tracking tool.
The HTML version of the manual has now a new look and many more syntax examples have been added to the property reference.
The TaskJuggler editor now supports printing of project files.
Fixed build with GCC 4.
Fixed build problems in the doc directory on Debian Unstable and FC3.
We are now using docbook-utils instead of docbook-toys to generate the documentation.
Filtering resources and tasks in the TaskJuggler GUI reports now always works properly.
Fixed generation of reports with absolute file names.
Make sure that all dates specified in project files lie within the Unix time space. For technical reasons we need to limit this to 1971-01-01 - 2035-01-01.
Fixed some crashes related to out of project time specifications.
Warnings about pre 2.0 deprecated syntax elements have been converted to errors.
Fixed sorting of task reports when not using the default scenario as first scenario.
Fixed projection scheduling mode. Tasks with bookings equal or larger than the effort lead to scheduling errors.
The two graphical front-ends that have been present in earlier TaskJuggler releases have been merged into one new front-end. It's called TaskJugglerUI. The ktjview2 and TaskJuggler executables are no longer included. This was done also to avoid name clashes on Windows/Cygwin.
The TaskJuggler user interface now supports printing of high-quality task and resource reports.
Major usability improvements for the GUI. It's now fully navigable by keyboard. The scaling/zooming of the Gantt chart has been improved.
HTML reports are now rendered with an embedded browser instead of lauching an external browser.
Export reports are now loaded into the editor when selected in the report browser.
The GUI supports now multiple project templates. The templates can be customized on loading to reflect the current date.
Added date picker to GUI editor. By pressing CTRL+D the user can insert or change a date using the comfortable date picker widget.
The GUI editor now supports search and replace over all files.
The computation of completion degrees of container task has been improved to produce more meaningful values for all milestone or all effort tasks.
To get Gantt and resource reports in the GUI the column 'chart' must be specified. They are no longer displayed automatically. This was done to have more consistency between the printed version of the GUI reports and the other reports.
The default separator for CSV files is now a semicolon since this is what OpenOffice.org uses by default. But this can be changed if needed.
The projection scheduling mode has been fixed and extended. In strict mode bookings will be scheduled only after the current date. In sloppy mode, bookings will also be scheduled prior to the current date for tasks that have no bookings at all. The modes can be set in the scenario definition.
Fixed reporting of value 1,000 in US currency format.
Fixed reported task duration value in all report types. Value was only correct when unit 'days' was used.
Fixed account reports which had summary lines that were all 0. In HTML reports the summary columns were rendered all black.
Fixed detection of cyclic brother tasks. This caused taskjuggler to go into a memory hogging endless loop.
Fixed bug in priority handling. Under certain circumstances resources were allocated to lower priority tasks even though they should have been assigned to higher priority tasks.
Fixed critical bug that turned 'precedes' of parent tasks into 'depends' of child tasks.
Fixed cost accounting for non-working resources. They were always accounted to 0.