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.1.0 Release tracker #92

Open
4 of 5 tasks
akhilles opened this issue Feb 14, 2023 · 13 comments
Open
4 of 5 tasks

3.1.0 Release tracker #92

akhilles opened this issue Feb 14, 2023 · 13 comments

Comments

@akhilles
Copy link
Collaborator

akhilles commented Feb 14, 2023

Pending tasks:

@mjgarton
Copy link

I noticed it's been a while since the last release and there are some useful features waiting. Is there anything I can do to help things along?

@akhilles
Copy link
Collaborator Author

akhilles commented Jul 5, 2023

The main thing that's still needed is a changelog, which shouldn't take long. I'll probably push out a release this week.

@KillingSpark
Copy link
Contributor

Just as an idea from another project I contributed to: They offload the changelogs to the pull-request makers. They require an changelog entry with all merge requests that add features

If you need help with the changelog for the slice-16 stuff I'd be happy to help

@KillingSpark
Copy link
Contributor

Any progress? I'd really love to see this release to get the performance improvements out there

@akhilles
Copy link
Collaborator Author

Sorry for taking so long, but I published 3.1.0-beta.1. I want to make sure there are no breaking changes before publishing 3.1.0. Will test upgrade some dependents.

@KillingSpark
Copy link
Contributor

Fwiw I tried compiling the webrtc crate with the 3.1.0-beta.1 which worked great. Did you find any blockers?

@yotarok
Copy link

yotarok commented Jan 16, 2024

I am one who is eagerly waiting for the stabilization of Slice16 feature. I have also checked that 3.1.0-beta.1 works flawlessly in my project with both Bytewise and Slice16 tables.

@KillingSpark
Copy link
Contributor

@akhilles is there anything I can do to help this move forward?

@akhilles
Copy link
Collaborator Author

akhilles commented Mar 1, 2024

Sorry again for not responding earlier! I did test 3.1.0-beta.1 against some popular crates and didn't find any issues. I think we're ok to releasing on that front.

My only remaining hesitancy in releasing 3.1.0 is how the feature flags will work with future SIMD implementations. It doesn't seem like a great fit, and it's hard to intuit the priorities of the various flags. I really hate to bikeshed this again, but I've been considering whether --cfg rustc flags would be more appropriate. Seems like others have considered this as well: https://www.reddit.com/r/rust/comments/sgegah/comment/huwzifj/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button.

Once the feature flags are published, they have to be supported indefinitely, which is why I want to make sure they're the right API.

In order to not delay the release further, wdyt about releasing 3.1.0 with the feature flags disabled just for now? People can still use Slice16 and NoTable. Once the feature flags vs --cfg rustc flags issue is resolved, we can release 3.2.0 with that change.

@KillingSpark
Copy link
Contributor

I see the concern and I agree the SIMD implementations don't clearly fall into an order like the current implementations.

Even though it means that crates that do not update their code will not immediately profit of the optimizations I would be fine with releasing this without the feature flags

@akhilles
Copy link
Collaborator Author

akhilles commented Mar 1, 2024

Just released 3.1.0. Thanks for your patience! Created #113 to resolve the default impl selection. Then, we can release 3.2.0. Will go ahead and close this issue.

@akhilles akhilles closed this as completed Mar 1, 2024
@akhilles
Copy link
Collaborator Author

akhilles commented Mar 10, 2024

Re-opening as I yanked 3.1.0 due to a breaking change. I have a working POC of a slightly different API that shouldn't break semver: #115. It's using the same strategy as the Rust std lib for custom allocators (see Box<T, A = Global>).

@akhilles akhilles reopened this Mar 10, 2024
@KillingSpark
Copy link
Contributor

#115 looks like it would allow for relatively seamless integration of SIMD implementations. That's pretty cool!

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

4 participants