Skip to content

3.0 release checklist #156

@Veetaha

Description

@Veetaha

These are the remaining items to be done as part of a 3.0 release.

RC release

  • #[builder(on(..., transparent))] support (#[builder(on(_, transparent))] attribute #155)
  • Rename __private module to __ because it appears in error messages. Consider renaming Unset/Set to UnsetMember/SetMember to work around type qualification (Rename __private to __ #159)
  • Move #[builder(overwritable)] under an experimental cargo feature (Make overwritable experimental behind a cargo feature #160)
  • Split reference docs for each atttibute parameter into separate pages (Split API docs reference for #[builder] into multiple pages #164)
  • Add support for some well-known functions in #[builder(with)] (#[builder(with = Some / FromIterator::from_iter / <_>::from_iter)] attribute #157)
    • Some
    • FromIterator::from_iter or <_>::from_iter
  • Consider where ... syntax instead of bounds(...) in #[builder(derive)] (rejected, not extensible with new keys)
  • Update ide completions
  • Consider adding overwritable transitions as an extension to the API rather than replacement
  • Update docs
    • Typestate API. Add a guide on using the newly stable typestate API
    • Alternatives update. Now it is indeed possible to extend the builder, maybe even accept by a mutable reference
    • Antipattern of impl Trait for optional members
    • Patterns/Fallible builders docs update
    • Fix wording in alternatives. The count defaults example is achieveable with custom setters in typed-builder and derive_builder, but it's more attributes and syntax
    • Runtime benchmarks update.
    • Compilation Benchmarks
  • Prepare the final changelog. Double check nothing was missed. All new/updated docs pages to the changelog

Pre-stable release debt

  • Prepare a blog post
    • Show generated rustdoc docs comparison
    • Future plans: #[builder(flag)], #[builder(getter)], custom fields (#[builder(field)])
    • Media idea: insert the builder type with RA type hints (comment: it's that simple)

Platforms:

  • Hackernews
  • Reddit
  • Twitter
  • LinkedIn
  • Discord servers
  • daily.dev
  • Lobste.rs
  • lemdro.id

Post-release debt

  • Automate version bumping in README (installation section)
  • Add TLS termination proxy between cloudflare and website infra backend
  • Proactive upgrade of some biggest OSS dependents

Metadata

Metadata

Assignees

No one assigned

    Labels

    epicIssue with a big scope that should be slit into smaller issues

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions