Collection2 Future

Just to clarify things as many people here already mentioned big issues if C2 would get breaking changes. The perspectives of Meteor Community Packages is compatibility-first and @storyteller and I try to make things as non-breaking as possible unless we are forced to.

Currently the bigger issue is async computations in simple schema that would also have consequences to Collection 2 as the whole validation for Simple Schema would be async.

A simple example: a field is optional if user has a role x. A field with such computed optional property may then look like this:

isAllowed: {
  type: Boolean,
  optional: async () => {
    return !Roles.userIsInRole(Meteor.userId(), 'canDoThin', 'admins')
  }
}

* Please don’t pin me on the usecase for the above code