Skip to content

v0.3.2

Choose a tag to compare

@github-actions github-actions released this 12 Oct 12:03
· 26 commits to main since this release

Added

  • plugin validate's value-types check reads a deprecated type's replacedBy(): it refuses a pointer on a type
    whose class is not @Deprecated, one naming the type itself or another deprecated type, one on a type that is
    neither a call nor an enum (nothing to map), one naming an enum for a call or a call for an enum (Studio pairs
    only like with like), and one naming a type no plugin on the classpath lists in
    types() (compared by name); a @Deprecated declared type with no pointer passes with a note.

  • plugin validate reads a plugin's own parameters (ManagedValue.param). It checks that a generic one starts
    as a value of its type.

  • A plugin may change a managed value's shape between releases. Nothing checks it against the previous
    release: Studio's upgrade repairs a bot's values like the rest of its code.

Fixed

  • plugin validate's types check accepts a Class<…> part when a loaded plugin declares a grouped open set
    (ofEnums(…).groupedAs(…)) whose element fits it: the host writes it as a class literal of one of the bot's
    nested enums (Activities.Collect.class). It refused the SDK's Flow.activity(Activities.Collect.class, …),
    which stopped a release at the SDK's validation gate.

No source changes since v0.3.0; re-released for updated upstream pins.

Changed

  • plugin validate's managed check takes typed ids only (ManagedValue.method(SdkValue.Id.FLOW)), as
    the contract now does: their spelling is the enum's, so the lowercase-words pattern for string ids is gone.
    Two declarations of one id still fail.
  • plugin validate's types check knows withers: a call's factory is checked against the parts before the
    withers', and each wither's argument must be a type a host writes.
  • A release whose push fails says what git said, and still moves the pins of that module's dependents and
    records its pointer: its tag and back-to-snapshot commit are local by then. Before, the dashboard kept
    pinning a cli snapshot nobody built, and every later release was refused over it.

Added

  • botmaker release --sync-pins moves every botmaker.*.version on main to its upstream's main version
    — what the versions gate refuses, which now names the command — one commit per pin, plus the umbrella
    pointer commit. Previews unless --execute; pushes nothing.