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

No new releases since Apr 2021 - 1.9.0 #574

Closed
alrocha opened this issue Feb 18, 2022 · 18 comments
Closed

No new releases since Apr 2021 - 1.9.0 #574

alrocha opened this issue Feb 18, 2022 · 18 comments

Comments

@alrocha
Copy link

alrocha commented Feb 18, 2022

Hi folks!

Why it has no been releases lately? for those who use semantic versions in packages, we can't have the latest fixes unless we point to master, is there any reason behind it?

Thanks

@stephencelis
Copy link
Member

Hi @alrocha!

The core of SnapshotTesting is pretty stable and no changes have been staged since 1.9.0. This means the interfaces used to create snapshot strategies and take snapshots are currently in the same state that they are in your project.

Snapshot strategies themselves need a bit more care when cutting releases, and so we need to be careful when doing so. The more volunteers we have to test the main branch, the more quickly we will be able to cut new releases without unintentionally breaking things for everyone.

One thing that would be helpful is some verification from the community that the changes staged on main are non-breaking. If you have projects utilizing SnapshotTesting, would you be interested in contributing some time to verify that they still behave as expected when building from main?

Our goal for SnapshotTesting 2.0.0 is to decouple the core library, which manages the core types and logic around serialization, deserialization, and XCTest integration, with the strategies, like the image strategies and UIKit/SwiftUI strategies, along with some kind of versioning system. This will hopefully remove some of the blockers that prevent releases from happening at a quicker pace right now.

@Jon889
Copy link

Jon889 commented Feb 18, 2022

Sorry to jump in, just wondering how making new versions could unintentionally break things for consumers of the library as they can stay on the older version?

(for context I'm on an M1 while my CI is not, and I'm having to use the fork from this PR #571 so was wondering when it could be released, then realised the last release was in April, which made me reconsider using this library as usually that's an indicator a project isn't maintained anymore)

@stephencelis
Copy link
Member

stephencelis commented Feb 18, 2022

Sorry to jump in, just wondering how making new versions could unintentionally break things for consumers of the library as they can stay on the older version?

The main thing we want to prevent are breaking changes between major releases. Ideally a library consumer can use from: in SPM to safely accept new versions, and this is how most folks configure their Package.swift files. Minor/patch releases should be additive/bugfix releases, so breaking changes from 1.9.0 to 1.10.0 are something we'd like to avoid.

(for context I'm on an M1 while my CI is not, and I'm having to use the fork from this PR #571 so was wondering when it could be released, then realised the last release was in April, which made me reconsider using this library as usually that's an indicator a project isn't maintained anymore)

If you'd like to volunteer some of your time to help test your snapshot artifacts pass on both 1.9.0 and main, you could help us expedite the release 😄

@alrocha
Copy link
Author

alrocha commented Feb 18, 2022

Hi all!

Same issue as you @Jon889 my temporary fix is add tolerance to the tests until that PR is merged, and a new release is done, but seeing that the last tag will be a year old soon, I need to double check with the team if we could integrate te main branch instead, but probably cloned in our own repo, or fix it to a commit.

Appreciate the quick answer @stephencelis thanks! 😊

@Jon889
Copy link

Jon889 commented Feb 18, 2022

Wouldn’t it be better to do more frequent releases, carefully considering changes to determine if it should be a major/minor version. Then if there are any problems they can be fixed with patch releases. Users can always downgrade to the previous version if necessary and we’ll get fixes for existing problems quicker?

There’s quite a lot of PRs (as great as this project is 😃) so that means there’s probably quite a lot of people waiting for fixes for things and new features. It also means for example we can’t use HEIC and the sub pixel diff at the same time.

I’m using the fork currently so id have to change my test code to be able to use this repo’s version to check if there is anything breaking between main and 1.9.0.

I could probably contribute some views and snapshot tests to this repo, so that breaking changes can be detected here

@XabierGoros
Copy link

The core of SnapshotTesting is pretty stable and no changes have been staged since 1.9.0. This means the interfaces used to create snapshot strategies and take snapshots are currently in the same state that they are in your project.

Snapshot strategies themselves need a bit more care when cutting releases, and so we need to be careful when doing so. The more volunteers we have to test the main branch, the more quickly we will be able to cut new releases without unintentionally breaking things for everyone.

I absolutely agree with you @stephencelis, changes have to be tested carefully. It is true though there are some quite interesting PR for the library (I'm another one suffering with the Apple Silicon issue). Perhaps finding a middle way choosing a few PR and creating pre releases tagged versions could work?

Our goal for SnapshotTesting 2.0.0 is to decouple the core library, which manages the core types and logic around serialization, deserialization, and XCTest integration, with the strategies, like the image strategies and UIKit/SwiftUI strategies, along with some kind of versioning system. This will hopefully remove some of the blockers that prevent releases from happening at a quicker pace right now.

That sounds a pretty nice architecture change, which among other things will ease the release flow for sure.

@ugiacoman
Copy link

++ to the discussion here.

Our team is also pointing to the fork in #571. If the concern is that there are more untested, pending changes blocking a release, may I suggest you cut a hotfix release that only includes the changes in #571? This will add the functionality that many engineering teams need and also give the community / maintainers enough time to test all the other pending changes.

@simondelphia
Copy link

simondelphia commented Mar 4, 2022

+1 for fixing the M1 issue; we've had to reduce the fuzzy precision and the result is the snapshot tests are missing things.

How can I become a volunteer to help speed things up? Run our snapshots on both 1.9.0 and main and then what? Create issues? Is there a place to post results if there are no issues observed?

@choulepoka
Copy link

This topic is of great interest to me personally / professionally, as I am myself running all my projects off main branch because some bug fixes have not been released yet, even though they are a few months old.

@teameh
Copy link
Contributor

teameh commented Mar 23, 2022

The core of SnapshotTesting is pretty stable and no changes have been staged since 1.9.0. This means the interfaces used to create snapshot strategies and take snapshots are currently in the same state that they are in your project.

If would be cool to get #443 released to fix webview snapshots!

@sprejjs
Copy link

sprejjs commented Apr 9, 2022

Hi Team,

I would also like to volunteer to speed things up. This project has been very promising so far, let's not allow it to die, please.

How can I help?

Thanks!

@joliejuly
Copy link

Hi guys!

I am suffering from the M1 issue, too.

It's been a year since the latest release. Just a thought - may be you may consider making a minor release with #571 and some other fixes which most likely won't break anything for others but will help tremendously all who is on M1 now?

Thanks!

@teameh
Copy link
Contributor

teameh commented May 2, 2022

@teameh
Copy link
Contributor

teameh commented May 2, 2022

Haha never mind.. I blame it on the Monday morning... 😅

@simondelphia
Copy link

@stephencelis any details on how to volunteer to help speed things up?

@YogeshBhattGWL
Copy link

joliejuly

I am too facing issue on Mac M1.
I cant run Test cases.
I am getting error:

Undefined symbols for architecture x86_64:

@stephencelis
Copy link
Member

Finally going to close this one out 😅

Be careful with your upgrades! You may need to regenerate and re-audit your snapshots!

https://github.com/pointfreeco/swift-snapshot-testing/releases/tag/1.10.0

@teameh
Copy link
Contributor

teameh commented Sep 22, 2022

Awesome! Thanks for the hard work, much appreciated! 🥳

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