3.0.0 removed the inheritance-based API; I think this was too hasty - although the corresponding functions/constructors were marked obsolete two years ago, that change didn't make it into a public release until around eight months ago, which hasn't allowed for enough actively-used but slow-moving sinks to migrate.
This change also ensures the wrapped sink is disposed whether the wrapper started or not; the original behavior (not disposing if !_started) is undesirable/unexpected, as far as I can see.
3.0.0 removed the inheritance-based API; I think this was too hasty - although the corresponding functions/constructors were marked obsolete two years ago, that change didn't make it into a public release until around eight months ago, which hasn't allowed for enough actively-used but slow-moving sinks to migrate.
This change also ensures the wrapped sink is disposed whether the wrapper started or not; the original behavior (not disposing if
!_started
) is undesirable/unexpected, as far as I can see.