Undocumented changes: uuid_v4 alias
Nobody has claimed this yet.
- Dominant language
- Ruby
- Stars
- 76
- Forks
- 17
- Avg merge
- 11h 32m
- Merged PRs (30d)
- 1
Description
I was using Random.uuid_v4 in Ruby 3.3. Then executed the same code on Ruby 3.2 as my code is supposed to support 3.0-3.3 and got that error:
Quite obviously there was a change between 3.2 and 3.3 and uuid_v4 was not implemented.
I searched a lot about this change, I read Ruby official release notes, third party changelogs, github release notes, etc. … and nothing.
So I looked were uuid_v4 was in the code to discover it's an alias for uuid that was there long before.
uuid_v4 alias for uuid was introduced when uuid_v7 was introduced. It makes sense.
In securerandom: https://github.com/ruby/securerandom/commit/34ed1a2ec35dc8f00ff69665b373cef7484c937f
In stdlib: https://github.com/ruby/ruby/commit/dfb2b4cbc9aa5edc315e210bf6bfd92fcf6e45de
The introduction of uuidv7 in securerandom v0.3.0 is documented here: https://github.com/ruby/securerandom/releases/tag/v0.3.0.
The issue is uuid_v4 addition is not documented anywhere.
More generally, in Ruby, when you use a method, you have no clue when (in which version of ruby) this method was introduced. So it's quite inconvenient if you try to keep support for several versions of Ruby.
Unfortunately Ruby official documentation use plain old RDoc. While in Yard, there is a @since tag to document when a method or class was introduced. This helps a lot in that sens.
Also in the past, APIdock had a bar graph tracking Ruby changes so when browsing Ruby API via APIdock you knew in which version a change was introduced. Unfortunately, APIdock 1) is third party 2) is unmaintained since Ruby 2.6.3.
Has this topic already been discussed? Should I open an issue on Ruby issue tracker and ask the question on the mailing list?
In the meantime as far as securerandom is concerned:
- It seems there is no release note / change log tracked in git (the only release note is the one on github release: https://github.com/ruby/securerandom/releases)
- Could we edit v0.3.0 release (https://github.com/ruby/securerandom/releases/tag/v0.3.0) to document the fact that
uuid_v4alias was introduced? - I don't know how to document that change in Random::Formatter in stdlib
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with lib/random/formatter.rb and the linked commits, then compare the securerandom v0.3.0 release page with the corresponding stdlib documentation. The issue proposes documenting the uuid_v4 alias and more generally recording when Ruby methods were introduced, but it does not settle the scope or documentation location. Done should include an agreed, published record of the alias change.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- ruby
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 28/100