Skip to content

Release 3.0.0 #106

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

Open
4 of 17 tasks
ia0 opened this issue May 5, 2024 · 0 comments
Open
4 of 17 tasks

Release 3.0.0 #106

ia0 opened this issue May 5, 2024 · 0 comments
Assignees
Milestone

Comments

@ia0
Copy link
Owner

ia0 commented May 5, 2024

Required tasks:

  • Use static dispatch instead of dynamic dispatch
  • Use static instead of const for pre-defined encodings
  • Make Encoding implementation private
  • Add _uninit() version to support MaybeUninit outputs
  • Introduce explicit traits to avoid users seeing True and False (also useful to avoid parameter ordering issues)
  • Restrict symbols to printable/graphical ASCII?
  • Add a third option for padding: NoPad, PadConcat, PadFinal (new). [context]
  • Do not panic for recoverable errors, return an error instead (see avoid panic in decode_mut #126)
  • Move development work in lib/v3
  • Figure out MSRV (in particular if 1.84 would solve the problem definitely)
  • Update documentation once satisfied with the design
  • Update OSS-Fuzz to also fuzz lib/v3

Optional tasks:

  • Consider whether wrapping should be limited to multiple of the decoding block (use case)
  • Identify and fix performance regression with "wrap" functions
  • Add SIMD support (see SIMD optimization #95)
  • Consider whether a "short input" engine for base58, nix-base32, etc would be worth it (see Support Nix base32 #110)

After release:

  • Update OSS-Fuzz if needed
@ia0 ia0 added this to the v3.0.0 milestone May 5, 2024
@ia0 ia0 self-assigned this May 5, 2024
This was referenced Jan 28, 2025
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

1 participant