Skip to content

Drop MySQL 4.1/5.0/5.1 support, add 8.4/9.x to supported versions#19

Merged
renecannao merged 1 commit intomasterfrom
phase1/drop-mysql-5.1
Mar 23, 2026
Merged

Drop MySQL 4.1/5.0/5.1 support, add 8.4/9.x to supported versions#19
renecannao merged 1 commit intomasterfrom
phase1/drop-mysql-5.1

Conversation

@renecannao
Copy link
Copy Markdown

@renecannao renecannao commented Mar 23, 2026

Summary

  • Remove MySQL 4.1, 5.0, 5.1 from supported version lists (15+ year old, untested)
  • Remove 5.1 tarball entries from tarball_list.json
  • Update test defaults to focus on 5.5+ and include modern 8.4/9.x
  • Add 8.4, 9.0, 9.1, 9.2 to SupportedMySQLVersions and SupportedAllVersions

Note: 5.5 and 5.6 are kept for now but may be dropped in a future version.

Test plan

  • All 9 unit test packages pass
  • JSON validation passes
  • Build succeeds

Summary by CodeRabbit

  • Chores
    • Discontinued support for legacy MySQL versions 4.1, 5.0, and 5.1
    • Extended platform support to include recent MySQL versions 8.4, 9.0, 9.1, and 9.2
    • Removed outdated MySQL package downloads and binary archives associated with earlier unsupported releases
    • Updated test environment configurations and continuous integration settings reflecting the new supported version matrix

…ersions

These ancient MySQL versions (15+ years old) are no longer tested or
maintained. Removes 5.1 tarball entries and updates supported version
lists and test defaults to focus on 5.5+ and include modern 8.4/9.x.
Copilot AI review requested due to automatic review settings March 23, 2026 20:41
@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Mar 23, 2026

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 1647af41-2dcf-4574-8229-a0924e542ad8

📥 Commits

Reviewing files that changed from the base of the PR and between 0e12eca and f4c7e97.

📒 Files selected for processing (3)
  • downloads/tarball_list.json
  • globals/globals.go
  • ts/setup.go

📝 Walkthrough

Walkthrough

Removed support for MySQL versions 4.1, 5.0, and 5.1 across configuration files and tarball metadata. Added support for MySQL 8.4, 9.0, 9.1, and 9.2. Changes span global version lists, test setup defaults, and tarball registry entries totaling 40 lines affected.

Changes

Cohort / File(s) Summary
Version Support Configuration
globals/globals.go
Updated exported version matrices SupportedMySQLVersions and SupportedAllVersions by removing versions 4.1, 5.0, 5.1 and adding 8.4, 9.0, 9.1, 9.2.
Test Environment Setup
ts/setup.go
Updated default shortVersions list in preliminaryChecks() from ["4.1","5.0","5.1","5.5","5.6","5.7","8.0"] to ["5.5","5.6","5.7","8.0","8.4","9.0"]. Updated GITHUB_ACTIONS special case from ["5.6","5.7","8.0"] to ["5.7","8.0","8.4"].
Tarball Metadata
downloads/tarball_list.json
Removed three MySQL tarball entries with their checksums and platform metadata: mysql-5.1.73-osx10.6-x86_64.tar.gz, mysql-5.1.73-linux-x86_64-glibc23.tar.gz, and mysql-5.1.72.tar.xz.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Poem

🐰 Old MySQL versions bid farewell,
As eight-point-four and nine.oh ring their bell,
Lists updated with a swift refactor,
Supporting futures, no longer the past ones—
Tarball cleanup keeps our repo lean! 📦✨

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch phase1/drop-mysql-5.1

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@renecannao renecannao merged commit 65b2d13 into master Mar 23, 2026
2 of 13 checks passed
@renecannao renecannao deleted the phase1/drop-mysql-5.1 branch March 23, 2026 20:41
@gemini-code-assist
Copy link
Copy Markdown

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request modernizes the project's MySQL version support by deprecating very old and unsupported versions (4.1, 5.0, 5.1) and integrating newer, more current versions (8.4, 9.0, 9.1, 9.2). This change streamlines maintenance, removes outdated dependencies, and ensures compatibility with contemporary database environments, while also updating testing configurations to reflect these changes.

Highlights

  • MySQL Version Support: Dropped support for very old MySQL versions (4.1, 5.0, 5.1) which were untested and over 15 years old.
  • New MySQL Version Support: Added support for modern MySQL versions (8.4, 9.0, 9.1, 9.2) to the supported version lists.
  • Tarball List Update: Removed MySQL 5.1 tarball entries from the tarball_list.json file.
  • Test Defaults Adjustment: Updated test defaults to focus on MySQL 5.5+ and include the newly supported modern versions.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request drops support for older MySQL versions (4.1, 5.0, 5.1) and adds support for newer ones (8.4, 9.x). The changes correctly update the supported version lists and test configurations. However, I've identified a couple of areas for improvement to ensure consistency. The tarball definitions for MySQL 4.1 and 5.0 remain in downloads/tarball_list.json despite support being dropped, and the test setup in ts/setup.go doesn't include all the newly supported versions. I've provided specific suggestions to address these inconsistencies.

I am having trouble creating individual review comments. Click here to see my feedback.

downloads/tarball_list.json (101-112)

medium

You've removed the tarball entries for MySQL 5.1, which is consistent with dropping support for it. However, the entries for MySQL 4.1 and 5.0 are still present in this file. To be fully consistent with dropping support for versions 4.1, 5.0, and 5.1 as mentioned in the PR description and reflected in globals/globals.go, shouldn't the tarball definitions for 4.1 and 5.0 also be removed?

ts/setup.go (119)

medium

The SupportedMySQLVersions list in globals/globals.go was updated to include 8.4, 9.0, 9.1, and 9.2. For consistency, it would be good to also add 9.1 and 9.2 to this shortVersions slice for testing. Even if tarballs are not yet available and tests for them would be skipped, this change would make the test setup fully aligned with the newly added support.

	shortVersions := []string{"5.5", "5.6", "5.7", "8.0", "8.4", "9.0", "9.1", "9.2"}

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR updates the project’s declared MySQL version support and test configuration to drop very old MySQL releases and recognize newer 8.4/9.x lines.

Changes:

  • Removed MySQL 4.1/5.0/5.1 from supported version lists.
  • Updated test short-version defaults to focus on 5.5+ and include newer major lines.
  • Removed MySQL 5.1 tarball entries from the embedded tarball registry JSON.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.

File Description
ts/setup.go Updates default short-version sets used by test setup (including GitHub Actions defaults).
globals/globals.go Updates exported/declared supported MySQL version lists (and “all versions” list).
downloads/tarball_list.json Removes embedded tarball registry entries for MySQL 5.1.
Comments suppressed due to low confidence (1)

downloads/tarball_list.json:112

  • This tarball list still contains MySQL 5.0 entries (e.g., short_version "5.0") even though the PR title/description says 5.0 support is being dropped. If 5.0 is no longer supported, consider removing the remaining 5.0 tarballs from the embedded registry as well (or clarify in the PR description that old tarballs are intentionally kept even after dropping support).
    {
      "name": "mysql-5.0.96-osx10.5-x86_64.tar.gz",
      "checksum": "SHA512:a5f3959732fe8b4a9cb3b41d7c2f7d869cae38ffc844989b7c98cdbf7496e6d65ea1794819d2a6aea8dd13340252a8c553dcdfbc904415ecd13adb493aa5ae68",
      "OS": "Darwin",
      "arch": "amd64",
      "url": "https://downloads.mysql.com/archives/get/p/23/file/mysql-5.0.96-osx10.5-x86_64.tar.gz",
      "flavor": "mysql",
      "minimal": false,
      "size": 60958921,
      "short_version": "5.0",
      "version": "5.0.96"
    },

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread ts/setup.go
Comment on lines +119 to 122
shortVersions := []string{"5.5", "5.6", "5.7", "8.0", "8.4", "9.0"}
if os.Getenv("GITHUB_ACTIONS") != "" {
shortVersions = []string{"5.6", "5.7", "8.0"}
shortVersions = []string{"5.7", "8.0", "8.4"}
}
Copy link

Copilot AI Mar 23, 2026

Choose a reason for hiding this comment

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

The updated shortVersions list includes 8.4/9.0, but initializeEnv/getVersionList will silently skip versions that aren't already present locally and can't be downloaded from the embedded tarball registry. Since downloads/tarball_list.json currently has no 8.4/9.0 entries, CI/local runs are likely to not exercise these versions despite being listed here. Consider adding corresponding tarball entries, or make the test setup fail (or at least warn loudly) when a configured short version can't be resolved so the intended coverage isn't accidentally lost.

Copilot uses AI. Check for mistakes.
Comment thread globals/globals.go
Comment on lines 500 to 505
SupportedMySQLVersions = []string{
"4.1", "5.0", "5.1", "5.5", "5.6", "5.7", "8.0",
"5.5", "5.6", "5.7", "8.0", "8.4", "9.0", "9.1", "9.2",
}
SupportedAllVersions = []string{
"4.1", "5.0", "5.1", "5.5", "5.6", "5.7", "8.0",
"5.5", "5.6", "5.7", "8.0", "8.4", "9.0", "9.1", "9.2",
"10.0", "10.1", "10.2", "10.3", "10.4", "10.5",
Copy link

Copilot AI Mar 23, 2026

Choose a reason for hiding this comment

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

SupportedMySQLVersions / SupportedAllVersions now include 8.4 and 9.0–9.2, but the embedded tarball registry (downloads/tarball_list.json) currently has no entries for these short versions. If users (or downstream tools consuming ExportReferenceData) interpret these lists as versions that can be downloaded via downloads get-by-version, requests for 8.4/9.x will fail to resolve a tarball. Consider either adding seed tarball entries for the new short versions, or clarifying (in code/docs) that these “supported” lists are metadata and not tied to what the downloads registry can fetch.

Copilot uses AI. Check for mistakes.
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.

2 participants