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

Missing releases? #15

Closed
Ferdzz opened this issue Nov 26, 2024 · 15 comments
Closed

Missing releases? #15

Ferdzz opened this issue Nov 26, 2024 · 15 comments

Comments

@Ferdzz
Copy link

Ferdzz commented Nov 26, 2024

Hello @bsneed, it seems some releases have gone missing.

analytics-swift-filters 0.1.1 (latest release) refers to this repo as a dependency with
.package(url: "https://github.com/segment-integrations/analytics-swift-live.git", .upToNextMajor(from: "0.2.3")). But any version matching this no longer exists here. It used to resolve to a 0.2.5 release.

Xcode therefore fails to resolve the dependencies:

xcodebuild: error: Could not resolve package dependencies:
  Failed to resolve dependencies Dependencies could not be resolved because root depends on 'destinationfilters-swift' 0.1.1.
'destinationfilters-swift' 0.1.1 cannot be used because 'destinationfilters-swift' 0.1.1 depends on 'analytics-swift-live' 0.2.3..<1.0.0 and no versions of 'analytics-swift-live' match the requirement 0.2.3..<1.0.0.

Were some releases accidentally deleted?

@bsneed
Copy link
Contributor

bsneed commented Nov 26, 2024

Code changes should be minimal (if any). As licensing changed and we move closer to GM with live/filters/signals, it was necessary that we remove all prior versions. I apologize in advance for any broken builds in the meantime.

@bsneed bsneed closed this as completed Nov 26, 2024
@sadaf-behbahani
Copy link

Hello @bsneed ,

I appreciate the update, but I respectfully have to point out that this approach is neither ideal nor technically correct. Removing previously released versions without following a deprecation process can cause significant issues, particularly for companies that rely on these libraries for their production environments.

When prior versions are removed abruptly:

Builds across CI pipelines break unexpectedly, causing unnecessary downtime and delays.
It disrupts teams relying on these dependencies, especially in large-scale environments where changes like this ripple across multiple projects.
It forces developers to scramble for solutions, often requiring urgent and unplanned code changes to adapt to new or unreleased alternatives.
A proper deprecation process that allows time for transition is critical in ensuring stability for everyone using these tools. Without it, the trust and reliability of the library are impacted.

If licensing changes required this move, I suggest reintroducing the missing versions as deprecated, clearly communicating the timeline for their removal. This would provide a grace period for teams to adapt and avoid widespread build failures.

Please let us know if there’s a way to address this issue quickly in the interim while ensuring such actions are handled more smoothly in the future.

Thank you for understanding the impact this has on the developer community.

Best regards,

@bsneed
Copy link
Contributor

bsneed commented Nov 26, 2024

@sadaf-behbahani I understand your frustration. This was previously a pilot library and no guarantees of support are made on that tier of libraries unfortunately. While it's not my favorite thing to do, it was required by our legal counsel. I understand how software development works and the impacts that can be associated and have been at it for over 30 years now. It pained me to have to do that, but as you can probably attest to as a Segment customer, it's not the norm. I can only remember a single time it's happened elsewhere in the 6 years I've been here.

@bsneed
Copy link
Contributor

bsneed commented Nov 26, 2024

As always, I'm here to help. If anyone following this thread runs into issues, I'll move heaven and earth to get you going ASAP.

@PhilippeTouchTunes
Copy link

PhilippeTouchTunes commented Nov 26, 2024

Thank you @bsneed for your answer, we are currently facing issues.
Our pipeline is currently blocked, we can't build our pull requests or create new builds.

What would unblock us, is analytics-swift-filters to be updated to refer to the latest version of this library analytics-swift-live

@bsneed
Copy link
Contributor

bsneed commented Nov 26, 2024

@PhilippeTouchTunes I'm on it! Stay tuned.

@sadaf-behbahani
Copy link

Thank you for your response and taking the necessary actions to help us out. I understand that this wasn’t an easy call to make, and I appreciate your willingness to acknowledge the frustration this situation has caused.

@bsneed
Copy link
Contributor

bsneed commented Nov 26, 2024

Ok, I've just pushed up analytics-swift-filters 0.1.2. I verified in the example app that no code changes were required for it to re-export analytics-swift-live. I also made mention in the readme that it's now deprecated. Is anyone available to try it out?

@bsneed bsneed reopened this Nov 26, 2024
@bsneed
Copy link
Contributor

bsneed commented Nov 26, 2024

@sadaf-behbahani I'm going to close the other issue you created since we're discussing here and this one has been reopened.

@sadaf-behbahani
Copy link

@bsneed thank you , yes we are testing on our side, we will keep you updated

@bsneed
Copy link
Contributor

bsneed commented Nov 26, 2024

FYI, another customer and I spotted a difference in startup for the old version vs. the new version. With the old one, if LivePlugins() wasn't already added, DestinationFilters() would add it. The current version, this does not happen. If using 3.1.0, you can fix this by doing ..

analytics.add(plugin: LivePlugins(fallbackFileURL: nil))

Alternatively, I'm going to adjust this in 3.1.1 where if LivePlugins is not present, DestinationFilters will add it like it used to.

@bsneed
Copy link
Contributor

bsneed commented Nov 26, 2024

Analytics-swift-fitlers 0.1.3, which pulls analytics-swift-live 3.1.1 is now available which fixes the compatibility issue described in my previous comment.

@Ferdzz
Copy link
Author

Ferdzz commented Nov 26, 2024

Hello @bsneed,

Looks like depending on analytics-swift-live 3.1.1 resolves our issues

For prosperity here are the modifications we've done to fix our CI pipeline:

  1. Remove DestinationFilters-Swift 0.1.1 dependency from the project
  2. Add direct analytics-swift-live 3.1.1 dependency to the project
  3. Update analytics-swift dependency to 1.7.1
  4. Replace AnalyticsFilters imports to AnalyticsLive

Thank you very much for your speedy assistance

@bsneed
Copy link
Contributor

bsneed commented Nov 26, 2024

You're very welcome @Ferdzz ! I'm gonna leave this issue open for a bit to see if anyone else has trouble, but it seems we came to a solution. Thanks to you, @sadaf-behbahani and @PhilippeTouchTunes for all your assistance in getting this resolved!

@bsneed
Copy link
Contributor

bsneed commented Nov 27, 2024

Moving further conversation to #18

@bsneed bsneed closed this as completed Nov 27, 2024
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

4 participants