Multi arch snapcraft.yaml broken after snapcraft (2.40 -> 2.42.1) upgade

I have a snapcraft.yaml that I have been using for almost a year now… It appears that after doing an apt-get upgrade I can no longer build my ‘multi’ snap?

the outputed snap seems to default to amd64 (the architecture of the build machine) and it seems to be ignoring the section:

architectures: [armhf, arm64]

Just some things to mention: My snap is fairly simple daemon… The snap just contains packaged lib armhf binaries (no fancy build stuff) … The only complex stuff it does is deal with env path for library load paths

When i first attempted a multi arch package, I had created a ‘fat’ package as someone described… It turns out (and much to my delight) I was able to make a single armhf package run on both armhf AND arm64 (which makes sense, but is no where near as obvious as it should be)

I only point this out because I am curious if I even need to specify a multi arch package anymore, or can i just specify armhf and snapd will allow installation of on an armhf package on an arm64 OS

(FYI: I submitted a PR for something like this long time ago as this mimics the running X86 binaries on AMD64 behavior: https://github.com/snapcore/core/pull/73)

i never had to rollback a package before, but i can’t seem to figure this one out

the apt history log has this in:
snapcraft:amd64 (2.40, 2.42.1)

but when i try this:

apt-get install snapcraft=2.40

version ‘2.40’ for ‘snapcraft’ was not found

No need to roll back - I can confirm that changing the syntax:

architectures: [armhf, arm64]

to

architectures:
  - build-on: amd64
    run-on: [armhf, arm64]

works.

Whether or not you want to make for first syntax imply the second when upgrading snapcraft is up to you guys now