Skip to content

Releases: rust-lang/rustlings

Rustlings 5.1.0

16 Aug 07:56
Compare
Choose a tag to compare

This release cleans up a bunch of the bugs left in 5.0, and adds two new smart pointer exercises. For detailed information, check the changelog.

To upgrade:

git fetch
git checkout tags/5.1.0

Rustlings 5.0.0

16 Jul 12:36
Compare
Choose a tag to compare

Probably Rustlings' biggest release yet! 🎉
For detailed information, check the changelog. I'll post the features section here:

  • Hint comments in exercises now also include a reference to the
    hint watch mode subcommand.
  • intro1: Added more hints to point the user to the source file.
  • variables: Switched variables3 and variables4.
  • Moved vec and primitive_types exercises before move_semantics.
  • Renamed vec to vecs to be more in line with the naming in general.
  • Split up the collections exercises in their own folders.
  • vec2: Added a second part of the function that provides an alternative,
    immutable way of modifying vec values.
  • enums3: Added a hint.
  • Moved strings before modules.
  • Added a strings3 exercise to teach modifying strings.
  • Added a hashmaps3 exercise for some advanced usage of hashmaps.
  • Moved the original quiz2 to be strings4, since it only tested strings
    anyways.
  • Reworked quiz2 into a new exercise that tests more chapters.
  • Renamed option to options.
  • options1: Rewrote parts of the exercise to remove the weird array
    iteration stuff.
  • Moved generics3 to be quiz3.
  • Moved box/arc exercises behind iterators.
  • iterators4: Added a test for factorials of zero.
  • Split threads1 between two exercises, the first one focusing more on
    JoinHandles.
  • Added a threads3 exercises that uses std::sync::mpsc.
  • Added a clippy3 exercises with some more interesting checks.
  • as_ref_mut: Added a section that actually tests AsMut.
  • Added 3 new lifetimes exercises.
  • Added 3 new traits exercises.

Summary

This release adds 12 new exercises, makes tons of little (and sometimes significant) improvements to existing exercises, rearranges a good chunk of the exercises to make more sense in our curriculum (while still trying to stay faithful to the book), and it gets rid of some exercises that have not been a good fit for this project.

There's still a fair amount of things that I want to change, such as having better exercises for smart pointers, but that's for a future release. Feel free to post your feedback after you've completed this new version of the course!

Special thanks for the Rust Foundation for sponsoring the majority of my work on this release!

To upgrade:

git fetch
git checkout tags/5.0.0

Rustlings 4.8.0

01 Jul 14:50
Compare
Choose a tag to compare

Adds a progress indicator, a new rustlings lsp command, and more! For detailed information, check the changelog.

To upgrade:

git fetch
git checkout tags/4.8.0

Rustlings 4.7.1

20 Apr 07:46
Compare
Choose a tag to compare

Mainly reduces the crate size by a bit, thus also reducing compilation time. See the changelog to see what's changed.

To upgrade, run:

git fetch
git checkout tags/4.7.1

Rustlings 4.7.0

14 Apr 09:23
Compare
Choose a tag to compare

See the changelog for what's changed. Some highlights:

  • A new intro section prefixing the normal exercises has been added.
  • New exercise, move_semantics4.
  • rust-analyzer support has been added via an optional crate feature. More info in the README
  • Tons and tons of bug fixes.

To upgrade, run:

git fetch
git checkout tags/4.7.0

Rustlings 4.6.0

25 Sep 09:27
Compare
Choose a tag to compare

See the changelog for what's changed. Some highlights:

  • New exercises:
    • advanced_errs1 and advanced_errs2
    • modules3
  • try_from_into and from_str have been reworked to include custom error types.
  • Watch mode now has a quit and help command.
  • Watch mode now also shows you a nice farewell message when you exit it.

To upgrade, run:

git fetch
git checkout tags/4.6.0

Rustlings 4.5.0

07 Jul 20:30
Compare
Choose a tag to compare

See the changelog for what's changed.

To upgrade, run:

git fetch
git checkout tags/4.5.0

Rustlings 4.4.0

24 Apr 10:04
Compare
Choose a tag to compare

See the changelog for what's changed. Some highlights:

  • A lot of small and large improvements to how exercises work
  • rustlings list now displays structured data, and a takes a lot more options to filter that data:

image

  • It also now shows you progress per-exercise, and a total summary of your completion:

image

  • The compliation times for Rustlings should be significantly sped up, we replaced the crate we use for CLI option parsing with something more lightweight
  • Rustlings now respects the NO_EMOJI envionment variable
  • A new exercise, iterators5, has been added

To upgrade, run:

git fetch
git checkout tags/4.4.0

Rustlings 4.3.0

29 Dec 10:41
Compare
Choose a tag to compare

See the changelog for what's changed. Some highlights:

  • The text you see when running rustlings (without any arguments) should now be more helpful
  • The exercise order has been adjusted to more closely match the order of chapter in the Rust book
  • A rustlings list command has been added

To upgrade:

git fetch
git checkout tags/4.3.0

Rustlings 4.2.0

07 Nov 13:22
Compare
Choose a tag to compare

See the changelog for what's changed.

To upgrade:

git fetch
git checkout tags/4.2.0