You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
validate command — blocks validate <file> checks a package manifest before it is published: schema, required fields, id/name, repository and versions. All errors and warnings are reported together.
External install detection — before installing, Blocks checks whether a package is already installed in the IDE outside of Blocks. If it is, the install can be aborted (the default), the dependency can be skipped, or the package can be installed anyway.
One workspace per Delphi profile — each Delphi registry profile is now bound to a single workspace, so two workspaces can no longer overwrite each other's library paths. When a profile already belongs to another workspace, the operation can be cancelled, the profile reassigned, the command run in the owning workspace instead, or the conflict ignored.
fetch and copy script commands — manifest scripts can download a file from a URL (fetch) and copy files or whole directories, optionally recursively (copy). Both work in any event.
Fetch-sources events — scripts can run right before and right after the package sources are fetched, through the new beforeFetchSources and afterFetchSources events.
Script filters — a script can declare a filter expression, for example on platform, configuration or package, so it only runs when the condition holds.
Improvements
Profile in the init argument — init takes the Delphi version and the registry profile together as <version>[:<regkey>], either as a bare argument or through /product (e.g. blocks init delphi13:myprofile). This replaces the old /registrykey option.
New script variables — scripts can use $(MANIFEST_PATH) and $(SHORT_PACKAGE_VERSION) (e.g. 37 for Delphi 13).
.dproj macro expansion — $(NAME) macros inside package project properties are now expanded, so packages that rely on them build correctly.
Clearer copy arguments — the copy command's arguments are now called source and target. The old names are still accepted, so existing manifests keep working.