Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Breaking changes - Use releases #1036

Open
nick-randal opened this issue Jan 28, 2023 · 6 comments
Open

Breaking changes - Use releases #1036

nick-randal opened this issue Jan 28, 2023 · 6 comments
Assignees

Comments

@nick-randal
Copy link

nick-randal commented Jan 28, 2023

Releases are not being used and there are regular breaking changes with no clear way to migrate forward.
Requests

  • Please use releases, so we can easily rely on a known version
  • Use semantic versioning to indicating, Breaking, Features, Patches
  • Provide migration tips for more complicated operations like bezier

I will leave a project for a period of time and come back to a completely broken script.

Fundamental operations like move and gets used heavily in scripts was a significant breaking change. However, there is no semantic versioning being used, it is all under the major version of 2.

Commentary:
I have come to view this library as an essential part of my use of OpenScad. I have built out some rather large projects but sometimes life takes over and I set them aside for a while. It is frustrating to come back to it and have the entire script broken with 100s of errors. This happens because sometimes systems fail and only recourse is to pull down the latest version of BOSL2 not expecting such drastic changes.

@adrianVmariano
Copy link
Collaborator

I feel like Revar's attention has been elsewhere lately, but my impression is that it was always his intention to use releases and to have stable versions with well identified version numbers. The problem is...the first Release hasn't happened yet. Maybe this Issue will help push the project towards that release happening sooner. I've been feeling like it was just around the corner for...the past 6 months.

@RAMilewski
Copy link
Contributor

Reading through the issues and PRs, it looks like a couple of things work differently in versions of openSCAD newer than 2021.01. I've used some of the development snapshots without any real problems, but I've yet to find a changelog or revised docs for openSCAD, so I do so with some trepidation. Perhaps some monthly or quarterly "0.x releases" of BOSL2 would help put a few markers in place to help with this?

The continually updated BOSL2 wiki a great help because it's easier to tell what a bit of code is supposed to do. Would that openSCAD would move the docs to a wiki instead of the unsearchable wikibooks.

/rant

@pipatron
Copy link
Contributor

pipatron commented Jul 6, 2023

Local copy

One simple solution is to keep a dedicated directory for each major 3D project you are working on, and keep a local copy of BOSL2 inside that directory. Since OpenSCAD first looks in the script's local directory it will find the correct BOSL2 files even if you have the latest version in the main library path. It adds

git

If you're a developer and/or know how to use git, this enables two major features:

  • You can come back to a project, do a git fetch to see if there are any changes, and decide to apply them or not.
  • You can just upgrade straight away and use git bisect to find the exact point where something breaks. This makes it easier to modify the project one breaking change at a time.

For simple one-off OpenSCAD scripts you could just add a short comment with the BOSL2 git hash you're currently using. If you want to use the script in the future and nothing works, you can copy it to a new directory, check out the BOSL2 project with that hash and you should be good to go. If you already have an updated version checked out somewhere else you can just clone it from your local copy - it has the full history.

@revarbat
Copy link
Collaborator

Hmm. It seems that versions.scad's version number hasn't been bumped by the PR checkin automation since Jun 21, 2021.

@revarbat
Copy link
Collaborator

I can also see having monthly dev snapshot versions auto-packaged, once we fix that version bumping.

@DeflateAwning
Copy link

I support this request. Why are semantic versions and releases not being used in this project?

It's so exctiting to see the new features and progress being made, but I wish there were releases that follow the normal software dev style. This is, by far, the most-stared project I've ever seen that doesn't follow semantic versioning

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants