When attempting to run the Ruby tests, I noticed that the README is slightly off; it points to a target that doesn't exist:
```
charles@AlterCation:~/protobuf$ bazel test //ruby/tests/... //ruby:ffi=enabled --test_env=PROTOCOL_BUFFERS_RUBY_IMPLEMENTATION=FFI
ERROR: Skipping '//ruby:ffi=enabled': no such target '//ruby:ffi=enabled': target 'ffi=enabled' not declared in package 'ruby' defined by /home/charles/protobuf/ruby/BUILD.bazel (did you mean 'ffi_enabled'? Tip: use `query "//ruby:*"` to see all the targets in that package)
ERROR: no such target '//ruby:ffi=enabled': target 'ffi=enabled' not declared in package 'ruby' defined by /home/charles/protobuf/ruby/BUILD.bazel (did you mean 'ffi_enabled'? Tip: use `query "//ruby:*"` to see all the targets in that package)
INFO: Elapsed time: 0.679s
INFO: 0 processes.
ERROR: Build did NOT complete successfully
ERROR: Couldn't start the build. Unable to run tests
charles@AlterCation:~/protobuf$
```
Instead, it looks like `//ruby:ffi_enabled` is what you're supposed to use, which sets the flag on:
https://github.com/protocolbuffers/protobuf/blob/main/ruby/BUILD.bazel#L28-L30Closes#15041
COPYBARA_INTEGRATE_REVIEW=https://github.com/protocolbuffers/protobuf/pull/15041 from shaldengeki:ouguoc/fix-ruby-readme-ffi-enabled 245d84942d
PiperOrigin-RevId: 590501532
Users should migrate to corresponding feature accessors (e.g. FieldDescriptor.hasPresence, EnumDescriptor.isClosed) instead of deriving these based on syntax, which will break after under Editions (https://protobuf.dev/editions/overview/)
PiperOrigin-RevId: 586518687
There is no canonical rules_ruby repo today, and we don't want our fork to become one. In order to unblock inclusion of Protobuf in the bzlmod registry, we're making this a dev dependency and dropping support for Bazel/Ruby.
Fixes#14569
PiperOrigin-RevId: 584393841
Rewrrte and extension of #12828, with additional work for JRuby. Partially fixes#1198 by adding support for custom options. Handling of extensions will be handled in a follow up.
Also includes these unrelated fixes:
* Removes code echo between `google/protobuf/repeated_field.rb` and `google/protobuf/ffi/repeated_field.rb` by `require`'ing the former in the latter.
* Adds missing calles to `testFrozen()` from methods of `RepeatedField` under JRuby that mutate.
* Various typos in comments.
Closes#14594
COPYBARA_INTEGRATE_REVIEW=https://github.com/protocolbuffers/protobuf/pull/14594 from protocolbuffers:add-support-for-options-in-ruby 16cc9e35b8
PiperOrigin-RevId: 580848874
This makes third_party/utf8_range no longer a Git subtree, but instead the
permanent location and source of truth for utf8_range. It is also now
incorporated into the @com_google_protobuf Bazel repo. Utf8_range still has its
own separate CMake build for now, though.
PiperOrigin-RevId: 580682733