Release 0.74.0
Fields entryPoint, instantiationArgument and instantiationTime are combined
Relevant for all projects.
To organize the Contract object of the Deon API, three fields have been changed:
| Old | New | 
|---|---|
| entryPoint | instantiationDetails.entryPoint | 
| instantiationArgument | instantiationDetails.argument | 
| instantiationTime | instantiationDetails.time | 
Steps to migrate
- Replace the old field names with the new field names as shown in the table above. 
The date and time types have been reorganized
Relevant for all projects.
The DateTime type has been renamed to Instant, and a new DateTime type has been defined that is different from the previous one.
The APIs of Instant and DateTime are different, so most code that used the old type should fail to type check.
Steps to migrate
- The - Durationmodule has been modified to align the API with the rest of the date and time related modules:- All uses of - Floathave been removed from the API. Any call of the form- Duration::fromSeconds SSS.sss, where- SSSstands for a number of seconds and- sssstands for a number of milliseconds, must be changed to- Duration::from SSS sss. Calls that do not pass a literal- Floatrequires a non-local refactoring to split the seconds from the milliseconds.- The function - Duration::toSecondshas been removed and calls to it must be replaced by- Duration::components.
- The function - Duration::diffDateTimeshas been removed and is replaced by- Duration::betweenInstants. Note that the order of arguments is reversed.
- The function - Duration::addSecondshas been removed and is replaced by- Duration::add.
 
- The - DateTimemodule has been renamed to- Instantand restructured:- The functions - DateTime::addSecondsand- DateTime::addDayshave been removed. They are replaced by- Instant::addDuration.
- The function - DateTime::dayOfWeekhas been removed. There is no direct alternative as it does not make sense to talk about the day of week of an- Instant. Use- Date::dayOfWeekfor the same functionality implemented for calendar dates.
- The function - DateTime::dayCountFractionhas been moved to the- DayCountmodule and renamed to- DayCount::yearFraction.
- The type - DateTime::PaymentFrequencyhas been moved to- DayCount::PaymentFrequency.
- The type - DateTime::DayCountFractionhas been renamed to- DayCount::YearFraction. In the constructors every- DateTime(i.e.- Instant) has been replaced with a- Date. Instant values were previously used to encode dates by tacitly using the calendar for UTC and ignoring the time component. Migrating to the new API requires the calling code to encode dates as proper- Datevalues.