The way day/date attributes are used has changed.  Recall how day/date with time attributes:

Here the day/date act like a guard over the time. Hence the time is not considered until the day/date is free.


task t1      # run on Monday @ 10:00
  day monday
  time 10:00



task t1   # run on Monday @ 10:00
   date 05.08.2019
   time 10:00



In ecflow 4.0 the definition below can produce unexpected runs.



...
family f1
   time 10:00    # set free on Sunday
   task t1
      day monday # runs Monday@00:00 and Monday@10.00


In ecflow 4.0 the day/date act like a guard over any other time attribute.

Hence the time is not considered until the day is free

...
family f1
   day monday
   task t1
      time 10:00  # runs on Monday@10.00


...
family f1
   time 10:00    # set free on the sunday
   task t1
      day monday # runs Monday@00:00 and Monday@10.00



The behaviour in ecflow 4.0 happens because the time attribute are treated individually.

Here the time 10:00, was set free on Sunday. 

(when time attributes are set free, they stay free, until re-queue.)

...
family f1
   day monday
   task t1
      time 10:00  # runs Monday an midnight and Monday at 10.00



...
family f1
   time 10:00   # time set free on Sunday. Stays free until re-queue
   task t1
     day monday # runs Monday an midnight and Monday at 10.00


In ecflow 5.0, The day acts like a guard over the time.

The time is not set free, until Monday is free.

Hence this produces the expected results.

...
family t1
  day monday
  task t1
    time 10:00 # run on Monday @ 10:00


...
family f1
   time 10:00   # time set free on Sunday. Stays free until re-queue
   task t1
     day monday # runs Monday an midnight and Monday at 10.00


 Hence in ecflow 5.0,  in the following definition, the task will never run:

family f1
   day monday
   task t1         # t1 will never run, cant be Monday and Tuesday at the same time
      day tuesday