chore(deps): drop support for Ruby 3.2
chore(deps): drop support for Ruby 3.2
This drops support for Ruby 3.2, which hasn't been used in GitLab-rails since January 2025. So we don't need to support it anymore in Labkit.
We do need to keep supporting 3.3 for now, we're working on the upgrade to 3.4 in gitlab-org#16601
In the meantime, this allows us to upgrade labkit to start using Ruby 4, making sure that Labkit does not become a bottleneck in upgrading GitLab-rails or other applications to Ruby 4. We keep running the tests against Ruby 3.3 & Ruby 3.4 to make sure we still support those, and can backport fixes if needed.
Prerequisite to !217 (closed)
chore(deps): update dependency ruby to v4
chore(deps): update faraday
This is the version used in GitLab-rails, and should be compatible with Ruby 4.
fix: replace CGI.parse with URI.decode_www_form for Ruby 4
Ruby 4.0 removed the full CGI library from default gems
(Feature #21258), keeping only cgi/escape. This broke
TracingUtils.parse_query_string which relied on CGI.parse.
Replace CGI.parse with URI.decode_www_form from stdlib, and
narrow require "cgi" to require "cgi/escape" where only
escape/unescape methods are needed.