Your procedure looks correct. Have you checked that version 1.0.0 is still in package.elm-lang.org? Some of them disappeared. It won’t be available via search, but you should be able to see it with these URLs (changing billstclair/elm-localstorage to your package name):
One reason for that is you tried moving the version back to 1.0.0 in elm.json, but I think the real problem is the missing tag. Please try changing elm.json back to 1.0.1 and then creating and pushing the 1.0.1 tag:
When I’m ready to release a package, I always do elm publish to let it tell me the Git commands to update the tag. Then I have an Emacs keyboard macro I wrote, bound to c-x c-y, that yanks those lines down to the input area of my shell buffer, so I execute them exactly as elm prints them.
Not sure why my script, which was creating and pushing the tag, didn’t work, but when issuing the commands one at a time, I appeared to be getting a fatal: tag '1.0.1' already exists. Deleting the local copy of the tag (with git tag -d 1.0.1) and then re-running the script seems to have solved the problem. Thanks!
I’ve marked this ‘solved’ because I was able to publish after deleting a local tag.
However I think there is still an underlying change between Elm 0.18 and Elm 0.19 publishing. My publishing script, which still generates the problem I first raised is designed to avoid publishing all supplementary assets (stored in docs, images, examples, tests and test-gallery). It does this by creating a temporary reference repo containing only the relevant elm source. You can see the script here:
This used to work under Elm 0.18 (using elm-package) but generates the ...does not match the code in your working directory error as mentioned in my OP.
Any thoughts on how the script would need to change or how to limit publication to only certain assets in the repo?