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

Remove deprecated methods and modules in the next major version. #283

Closed
phadej opened this issue Sep 10, 2020 · 4 comments · Fixed by #286
Closed

Remove deprecated methods and modules in the next major version. #283

phadej opened this issue Sep 10, 2020 · 4 comments · Fixed by #286
Milestone

Comments

@phadej
Copy link
Contributor

phadej commented Sep 10, 2020

No description provided.

@Bodigrim
Copy link
Contributor

  • Modules Data.ByteString.Lazy.Builder, Data.ByteString.Lazy.Builder.ASCII, Data.ByteString.Lazy.Builder.Extras are deprecated since 0.10.2.0, released in 2012.
  • Data.ByteString.Lazy.Builder.ASCII.byteStringHexFixed and Data.ByteString.Lazy.Builder.ASCII.lazyByteStringHexFixed are marked as deprecated only in master, but their module itself is deprecated since 0.10.2.0, released in 2012.
  • Data.ByteString.hPutStrLn, Data.ByteString.putStrLn, Data.ByteString.Lazy.putStrLn are deprecated since 0.10.0.0, released in 2012.
  • Data.ByteString.breakByte is deprecated since 0.10.6.0, released in 2015.
  • Data.ByteString.Internal.inlinePerformIO is deprecated since its first exposure to external users (in 0.10.10.0).
  • Data.ByteString.Builder.Prim.Internal.boudedPrim is deprecated since 0.10.12.0, released in 2020.

@Bodigrim
Copy link
Contributor

Bodigrim commented Sep 10, 2020

I think we should grab an opportunity to clean up all these functions and modules in the upcoming 0.11.0.0 release, otherwise they'll linger around for another decade.

The only function, which was deprecated only recently and not ages ago, is boudedPrim, but I believe it's acceptable to change the interface of an internal module in a major release without further ado.

Opinions? @sjakobi @bgamari @hsyl20

@sjakobi
Copy link
Member

sjakobi commented Sep 11, 2020

My preference would be not to remove boudedPrim yet since we've only deprecated it in August. In general, I think we should aim for deprecation periods that are not much shorter than 1 year. Even when bytestring is moving quickly in some parts, it's nice to offer stability in the rest.

I believe it's acceptable to change the interface of an internal module in a major release without further ado.

In the case of bytestring I'm not so sure about this yet. I think it would be good to make progress on #253 and clarify the stability guarantees of the internal modules first.

No objections to the other removals.

@Bodigrim
Copy link
Contributor

@sjakobi OK, let's err on the side of caution here.

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

Successfully merging a pull request may close this issue.

3 participants