Skip to content

Bump internal compiler version during pre-release development #384

Description

@schoen

Project

compiler

Describe the feature

I'm writing a SimplicityHL contract using the enums feature, which, when I was working on the contract yesterday, was a prerelease feature in a then-unreleased development branch. Since then, SimplicityHL 0.7.0 has been released, including this feature.

The compiler encourages me to declare which compiler version is targeted by the contract, but, during the prerelease phase, the only working option for this declaration was simc "0.6.0";, because the development branch internally considered itself to still be SimplicityHL 0.6.0, even though that version had in fact already been released without the enums feature. I found this a little bit confusing, because simc "0.6.0"; was technically not accurate (it wouldn't work with the actual SimplicityHL 0.6.0 compiler under any circumstances!), while the alternative declaration simc "0.7.0"; wouldn't actually compile until earlier today because there was no version of the compiler available that "thought of itself" that way.

What I would like to see is prerelease development versions internally identifying themselves as the upcoming version, specifically for correct contract declarations when using unreleased development SimplicityHL language features. This would allow a contract author to effectively say "you can currently only use this contract with a development version of the language, not with a released version" in an accurate way. Then, when the release happens with the anticipated version, the contract code would (usually) continue to work without further modification!

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions