NEWS


SpaDES.project 1.2.0.9000

Bug fixes

SpaDES.project 1.2.0

This release rolls up the 1.1.0.9001-1.1.0.9015 development series, listed below.

Bug fixes

SpaDES.project 1.1.0.9015

Bug fixes

SpaDES.project 1.1.0.9014

Bug fixes

SpaDES.project 1.1.0.9013

Bug fixes

SpaDES.project 1.1.0.9012

New features

SpaDES.project 1.1.0.9011

Bug fixes

SpaDES.project 1.1.0.9010

Bug fixes

SpaDES.project 1.1.0.9009

Rewrite of ... / defaultDots resolution in setupProject()

The machinery that resolved ... ("dot") arguments -- a proxy environment of active bindings, evalDots(), evalDotsOuter() and a four-stage retry ladder that walked every frame on the call stack -- is replaced by one small resolver (R/resolveDots.R) built on a single scope environment whose parent is the calling environment. The rules it implements are the documented ones, now literally:

Fixed as a consequence (all reproduced in tests/testthat/test-dots-resolution.R):

Behaviour change to be aware of: a ... expression sees exactly what a script at the call site would see -- the calling environment and the attached packages -- and no longer the packages SpaDES.project itself imports. Code such as scenario = { data.table(...) } with nothing attaching data.table used to work only because the expression was evaluated inside setupProject()'s own frame; it now comes back as a tolerated error naming the function. Attach the package (require = "data.table") or qualify the call (data.table::data.table()). A dot that references a formal written below it (e.g. outputs using times$end with times declared afterwards) likewise used to work by forcing the formal's promise early, and is now a tolerated error: write it above.

Behaviour that is deliberately unchanged: a dot that cannot be evaluated even with the defaults is returned as its unevaluated expression, recorded as a tolerated error in the end-of-call diagnostics, and escalated only under options(SpaDES.project.strict = TRUE); dots written before the first formal run before it, the rest run in written order after the packages are set up.

SpaDES.project 1.1.0.9008

Bug fixes

SpaDES.project 1.1.0.9007

Bug fixes

Enhancements

SpaDES.project 1.1.0.9006

Bug fixes

SpaDES.project 1.1.0.9004

Internal

SpaDES.project 1.1.0.9002

Bug fixes

SpaDES.project 1.1.0.9001

Enhancements

Enhancements

New features

New features

Bug fixes

SpaDES.project 1.1.0

New features

Enhancements

Removed

Documentation

Bug fixes

SpaDES.project 1.0.1

Bug fixes

SpaDES.project 1.0.0

New functions

Enhancements

Bug fixes

SpaDES.project 0.1.3

SpaDES.project 0.1.2

SpaDES.project 0.0.9

SpaDES.project 0.0.8

Enhancements

deprecations

SpaDES.project 0.0.4

Enhancements

SpaDES.project 0.0.2

SpaDES.project 0.0.1