getditto / DittoSwiftTools

Diagnostic and Debugging Tools for DittoSwift
MIT License
9 stars 2 forks source link

Version 4.6 introduces breaking change #133

Closed magicwave closed 2 months ago

magicwave commented 3 months ago

The 4.6.0 release tag commit comment says, "This release is compatible with DittoSwift version 4.0.0 and above.", however the DittoLogManager static var logFileURL: URL! API in the DittoExportLogs module was removed in that release.

This breaks code that worked on previous versions of 4.x that depended on that property. For example, this code:
let logFileURL = DittoLogManager.shared.logFileURL
now produces a compiler error:
Value of type 'DittoLogManager' has no member 'logFileURL'

bplattenburg commented 3 months ago

@magicwave What action can we take to resolve this? Is updating the release notes for affected versions enough?

bplattenburg commented 2 months ago

It turns out this is still broken in 6.0.0, Will get it fixed ASAP.

bplattenburg commented 2 months ago

It looks like this was broken as part of https://github.com/getditto/DittoSwiftTools/pull/72. I don't know enough of the history there to know why this was removed and what the implications of adding it back are. @texasRanger09, do you remember from January?

bplattenburg commented 2 months ago

Although, as I reconsider, maybe fixing it isn't the right answer, it's valid to have breaking changes at this point since we've gone through 2 major versions since this was introduced. What I don't know is the original intent of exposing that and what a migration path looks like for callers. Maybe its totally fine to break this 🤔

bplattenburg commented 2 months ago

I've updated the 4.6.0 release notes to indicate the unintentional breaking change and linked back to here.