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

3.0 release checklist #156

Closed
18 tasks done
Veetaha opened this issue Oct 25, 2024 · 6 comments
Closed
18 tasks done

3.0 release checklist #156

Veetaha opened this issue Oct 25, 2024 · 6 comments
Labels
epic Issue with a big scope that should be slit into smaller issues

Comments

@Veetaha
Copy link
Contributor

Veetaha commented Oct 25, 2024

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
@pvichivanives
Copy link

Could we list which of the changes are breaking changes (maybe a [BREAKING] tag?) ? Skimming through this I don't immediately notice any breaking changes.

@Veetaha
Copy link
Contributor Author

Veetaha commented Oct 29, 2024

The changelog is not completely finished, I'm updating it at occasion with each PR, but there is a penultimate item "Prepare the final changelog" in the checklist.

I already started marking things with Breaking on my branch. Here is the latest version of the changelog: https://github.com/elastio/bon/blob/feat/more-docs-for-v3/website/changelog.md.

If you are curious about potential breaking changes, I can add the rest of the items eagerly to the changelog on that branch and I'll ping you once that's ready.

@Veetaha
Copy link
Contributor Author

Veetaha commented Oct 29, 2024

@pvichivanives UPD, the updated changelog is in master here

@pvichivanives
Copy link

Thank you!

@Veetaha
Copy link
Contributor Author

Veetaha commented Nov 9, 2024

3.0.0-rc version was published. I'll prepare a blog post for the release and switch it to 3.0.0 on November 13-th

@Veetaha
Copy link
Contributor Author

Veetaha commented Nov 13, 2024

3.0.0 release was published https://bon-rs.com/blog/bon-v3-release

@Veetaha Veetaha closed this as completed Nov 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
epic Issue with a big scope that should be slit into smaller issues
Projects
None yet
Development

No branches or pull requests

2 participants