Skip to content

Extend until keyword to support duration for backward scheduling in Gantt charts #7407

@orzechow

Description

@orzechow

Proposal

Problem Statement

Gantt charts currently support the until keyword for specifying task end dates:

  • task :taskId, until 2026-03-01 - works with absolute dates
  • task :taskId, until milestone - works with milestone references

However, until does not support duration-based backward scheduling. You cannot specify a duration instead of a start date:

  • task :taskId, 7d, until milestone or
  • task :taskId, 7d, until 2026-03-01

This makes it cumbesome to define tasks that work backward from deadlines like for:

  • Code sprints for fixed release dates
  • Exam/Interview preparations
  • Event-driven deliverables

Currently, users must manually calculate start dates and update them whenever deadlines shift.

Proposed Solution

Extend the until keyword to accept duration + reference syntax and calculate task's start date automatically.

Example

gantt
    title Release Planning
    dateFormat YYYY-MM-DD
       
    section Deadline-driven Project
    Planning                :planning, 7d, until dev
    Feature Development     :dev, 30d, until codefreeze
    Code Freeze             :codefreeze, 7d, until release
    Release Date            :milestone, release, 2026-03-01, 0d

    section Exam Preparations
    Read Book               :book, 7d, until slides
    Skim Slides             :slides, 7d, until exercise
    Exercise                :exercise, 7d, until 2026-04-01

Syntax:

<task_name> :<duration>, until <taskId>
<task_name> :<duration>, until <endDate>

Screenshots

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions