I am not sure to understand how auto_scheduling_strict work:

With this code:
gantt.config = {
fit_tasks: true,
auto_scheduling: true,
auto_scheduling_strict: false
data: [
{ id: 1, text: ‘Project #1’, start_date: ‘01-03-2019’, duration: 3 },
{ id: 2, text: ‘Project #2’, start_date: ‘07-03-2019’, duration: 2 },
{ id: 3, text: ‘Task #1’, start_date: ‘11-03-2019’, duration: 2 }
links: [{ id: 1, source: 1, target: 2, type: ‘0’ }, { id: 2, source: 2, target: 3, type: ‘0’ }]

I am expecting the project not to be rescheduled as no dates violates the constraint but I am feeling that it is rescheduling the whole project in a strict mode anyway

Hi @ouassim !

When strict mode is set to true, auto-scheduling arranges tasks as early as possible, so they follow exactly one after the other.
When it is set to false - auto scheduling only moves tasks when necessary - when the task needs to be moved forward due to dependency. So there can be free space between tasks.
It works only for the tasks that have the start link (source). It doesn’t work for the tasks that receive the link (target).
Check this please:

Please note that by default the strict auto scheduling is not enabled in dhtmlxGantt 6.1. The logic of the task allocation is defined by the constraints.

To enable this setting, you need to turn on auto-scheduling compatibility mode with the previous version.

If you want to recalculate the whole project please use gantt.autoSchedule().
Check this: