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

Update changelog #321

Merged
merged 3 commits into from
Mar 22, 2018
Merged

Update changelog #321

merged 3 commits into from
Mar 22, 2018

Conversation

pitdicker
Copy link
Contributor

Okay, that were quite some PRs to sift through 😄. Maybe we should try update the changelog with each new feature in the future...

I have left the 'Added, Removed, Changed' pattern, but tried to group the changes into somewhat logical blocks.

Personally I think it is best to have two separate things: a simple list in the changelog of all the changes, and a separate release announcement highlighting specific changes and how to work with them.

I will make a separate PR to add a small changelog for rand-core

@pitdicker
Copy link
Contributor Author

Changed my mind and added the tiny changelog for rand-core to this PR.

CHANGELOG.md Outdated
- Implemented `BlockRngCore` for `ChaCha` and `Hc128`. (#281)
- All PRNGs are now portable across big- and little-endian architectures. (#209)
- `Isaac64Rng::next_u32` no longer throws away half the results. (#209)
- Added `IsaacRng::new_from_u64` and `Isaac64Rng::new_from_u64`. (#209)
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

one more change to note: removed IsaacWordRng

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Was that ever visible? I don't think so

Copy link
Contributor

@abreis abreis left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor nits and suggestions.

CHANGELOG.md Outdated
### Crate features and organisation
- Minimum Rust version update: 1.22.0. (#239)
- Created a seperate `rand-core` crate. (#288)
- deprecated `rand_derive`. (#256)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Uppercase

CHANGELOG.md Outdated
(changes included here because they greatly influence the Rand crate)
- `RngCore` and `SeedableRng` are now part of `rand-core`. (#288)
- Added modules to help implementing RNGs `impl` and `le`. (#209, #228)
- added `Error` and `ErrorKind`. (#225)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Uppercase

CHANGELOG.md Outdated
- added `Error` and `ErrorKind`. (#225)
- Added `CryptoRng` marker trait. (#273)
- Added `BlockRngCore` trait. (#281)
- Added `BlockRng` wrapper to help implemtations. (#281)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

implementations

CHANGELOG.md Outdated
### Other traits and types
- Added `NewRng` trait. (#233)
- Added `SmallRng` wrapper. (#296)
- Rewritten `ReseedingRng` to only work with `BlockRngCore` (much improved performance). (#281)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

substantial performance improvement

CHANGELOG.md Outdated
- Added `IsaacRng::new_from_u64` and `Isaac64Rng::new_from_u64`. (#209)
- Added the HC-128 CSPRNG `Hc128Rng`. (#210)
- Added `ChaChaRng::set_rounds` method. (#243)
- Changes to `JitterRng` to get it's size down from 2112 to 24 bytes. (#251)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

its (no apostrophe)

CHANGELOG.md Outdated
- Added support for CloudABI. (#224)
- Removed support for NaCl. (#225)
- Replaced stubs with proper WASM support in `OsRng`. (#272)
- Keep open only a single file descriptor for `OsRng`, on systems that do not have a syscall interface. (#239)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

On systems that do not have a syscall interface, only keep a single file descriptor open for OsRng. (#239)

CHANGELOG.md Outdated
- Reworked `Range` type, making it possible to implement it for user types. (#274)
- Added `Range::new_inclusive` for inclusive ranges. (#274)
- Added `Range::sample_single` to allow for optimized implementations. (#274)
- Uses widening multiply method for much faster integer range reduction. (#274)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Use (no plural)

(Split out of the Rand crate, changes here are relative to rand 0.4.2)
- `RngCore` and `SeedableRng` are now part of `rand-core`. (#288)
- Added modules to help implementing RNGs `impl` and `le`. (#209, #228)
- added `Error` and `ErrorKind`. (#225)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Uppercase

@abreis
Copy link
Contributor

abreis commented Mar 22, 2018

Also note that the previous changelog entries were written in the imperative ('add', 'change', 'implement'), and not in the past tense ('added', 'changed', etcetera).

@pitdicker
Copy link
Contributor Author

Good point! I wrote both 😄. Do you have an idea what is best for a changelog?

@abreis
Copy link
Contributor

abreis commented Mar 22, 2018

Personal preference: I like the imperative mood better.
It is also consistent with the way most (good) projects write their commit messages.

@pitdicker
Copy link
Contributor Author

Okay, I will reword after some more review

CHANGELOG.md Outdated
- PRNGs no longer implement `Copy`. (#209)
- `Debug` implementations no longer show internals. (#209)
- Implemented serialisation for `XorShiftRng`, `IsaacRng` and `Isaac64Rng` under the `serde-1` feature. (#189)
- Implemented `BlockRngCore` for `ChaCha` and `Hc128`. (#281)
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should be ChaChaCore and Hc128Core.

@dhardy
Copy link
Member

dhardy commented Mar 22, 2018

FYI I'm writing an "update guide" which will be a more wordy version of roughly the same stuff, with hints at what users should use.

@dhardy
Copy link
Member

dhardy commented Mar 22, 2018

Looks good! Happy to merge?

We should also add a link to the rand-core changelog and to the updating guide — maybe after both are merged.

@pitdicker pitdicker merged commit 69bfe59 into rust-random:master Mar 22, 2018
@pitdicker pitdicker deleted the changelog_0.5 branch March 22, 2018 15:39
@pitdicker
Copy link
Contributor Author

@abreis Thanks for reviewing

@pitdicker pitdicker mentioned this pull request Mar 25, 2018
pitdicker added a commit that referenced this pull request Apr 4, 2018
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 this pull request may close these issues.

3 participants