{"id":406,"name":null,"description":"Catch unsafe migrations in development","url":"https://github.com/ankane/strong_migrations","last_synced_at":"2026-05-02T05:03:51.427Z","repository":{"id":37493269,"uuid":"46698467","full_name":"ankane/strong_migrations","owner":"ankane","description":"Catch unsafe migrations in development","archived":false,"fork":false,"pushed_at":"2026-04-08T04:01:14.000Z","size":920,"stargazers_count":4379,"open_issues_count":5,"forks_count":195,"subscribers_count":28,"default_branch":"master","last_synced_at":"2026-04-20T00:16:05.475Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ankane.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2015-11-23T05:24:42.000Z","updated_at":"2026-04-17T04:18:18.000Z","dependencies_parsed_at":"2026-01-06T18:00:20.706Z","dependency_job_id":null,"html_url":"https://github.com/ankane/strong_migrations","commit_stats":{"total_commits":991,"total_committers":27,"mean_commits":36.7037037037037,"dds":0.0353178607467205,"last_synced_commit":"aef4e80d1c96431d92ced222226374ed45a5dbca"},"previous_names":[],"tags_count":71,"template":false,"template_full_name":null,"purl":"pkg:github/ankane/strong_migrations","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ankane","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/sbom","scorecard":{"id":42267,"data":{"date":"2025-08-11","repo":{"name":"github.com/ankane/strong_migrations","commit":"7f7d444ac22a36ea00cd44569f7d299b9e574614"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.4,"checks":[{"name":"Maintained","score":10,"reason":"21 commit(s) and 2 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":0,"reason":"Found 1/30 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/build.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/ankane/strong_migrations/build.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build.yml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/ankane/strong_migrations/build.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build.yml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/ankane/strong_migrations/build.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/ankane/strong_migrations/build.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build.yml:38: update your workflow using https://app.stepsecurity.io/secureworkflow/ankane/strong_migrations/build.yml/master?enable=pin","Info:   0 out of   1 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   4 third-party GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE.txt:0","Info: FSF or OSI recognized license: MIT License: LICENSE.txt:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 1 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-14T21:50:33.722Z","repository_id":37493269,"created_at":"2025-08-14T21:50:33.722Z","updated_at":"2025-08-14T21:50:33.722Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32074812,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-21T02:38:07.213Z","status":"ssl_error","status_checked_at":"2026-04-21T02:38:06.559Z","response_time":128,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"owner":{"login":"ankane","name":"Andrew Kane","uuid":"220358","kind":"user","description":"","email":"","website":"https://ankane.org","location":"San Francisco, CA","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/220358?u=ba13f3240d7992dc4124a33a4fc65bf4924e5375\u0026v=4","repositories_count":374,"last_synced_at":"2025-01-06T16:40:27.087Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/ankane","funding_links":[],"total_stars":79786,"followers":6387,"following":136,"created_at":"2022-11-02T16:34:23.873Z","updated_at":"2025-01-06T16:40:27.088Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ankane","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ankane/repositories"},"packages":[{"id":10384150,"name":"github.com/ankane/strong_migrations","ecosystem":"go","description":null,"homepage":null,"licenses":"mit","normalized_licenses":["MIT"],"repository_url":"https://github.com/ankane/strong_migrations","keywords_array":[],"namespace":null,"versions_count":71,"first_release_published_at":"2015-11-23T05:26:19.000Z","latest_release_published_at":"2025-12-20T23:45:59.000Z","latest_release_number":"v2.5.2+incompatible","last_synced_at":"2026-04-01T14:00:36.690Z","created_at":"2024-06-17T05:21:10.297Z","updated_at":"2026-04-01T14:00:36.690Z","registry_url":"https://pkg.go.dev/github.com/ankane/strong_migrations","install_command":"go get github.com/ankane/strong_migrations","documentation_url":"https://pkg.go.dev/github.com/ankane/strong_migrations#section-documentation","metadata":{},"repo_metadata":{"id":37493269,"uuid":"46698467","full_name":"ankane/strong_migrations","owner":"ankane","description":"Catch unsafe migrations in development","archived":false,"fork":false,"pushed_at":"2025-10-31T18:43:26.000Z","size":799,"stargazers_count":4306,"open_issues_count":4,"forks_count":186,"subscribers_count":28,"default_branch":"master","last_synced_at":"2025-11-09T16:00:47.997Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ankane.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2015-11-23T05:24:42.000Z","updated_at":"2025-11-07T15:09:12.000Z","dependencies_parsed_at":"2024-03-10T18:31:49.423Z","dependency_job_id":"e6b39863-2a66-4f1d-8b79-4114331d6959","html_url":"https://github.com/ankane/strong_migrations","commit_stats":{"total_commits":991,"total_committers":27,"mean_commits":36.7037037037037,"dds":0.0353178607467205,"last_synced_commit":"aef4e80d1c96431d92ced222226374ed45a5dbca"},"previous_names":[],"tags_count":69,"template":false,"template_full_name":null,"purl":"pkg:github/ankane/strong_migrations","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ankane","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/sbom","scorecard":{"id":42267,"data":{"date":"2025-08-11","repo":{"name":"github.com/ankane/strong_migrations","commit":"7f7d444ac22a36ea00cd44569f7d299b9e574614"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.4,"checks":[{"name":"Maintained","score":10,"reason":"21 commit(s) and 2 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":0,"reason":"Found 1/30 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/build.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/ankane/strong_migrations/build.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build.yml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/ankane/strong_migrations/build.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build.yml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/ankane/strong_migrations/build.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/ankane/strong_migrations/build.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build.yml:38: update your workflow using https://app.stepsecurity.io/secureworkflow/ankane/strong_migrations/build.yml/master?enable=pin","Info:   0 out of   1 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   4 third-party GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE.txt:0","Info: FSF or OSI recognized license: MIT License: LICENSE.txt:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 1 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-14T21:50:33.722Z","repository_id":37493269,"created_at":"2025-08-14T21:50:33.722Z","updated_at":"2025-08-14T21:50:33.722Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":283534952,"owners_count":26851888,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-11-09T02:00:05.828Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"ankane","name":"Andrew Kane","uuid":"220358","kind":"user","description":"","email":"","website":"https://ankane.org","location":"San Francisco, CA","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/220358?u=ba13f3240d7992dc4124a33a4fc65bf4924e5375\u0026v=4","repositories_count":374,"last_synced_at":"2025-01-06T16:40:27.087Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/ankane","funding_links":[],"total_stars":79786,"followers":6387,"following":136,"created_at":"2022-11-02T16:34:23.873Z","updated_at":"2025-01-06T16:40:27.088Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ankane","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ankane/repositories"},"tags":[{"name":"v2.5.0","sha":"7f7d444ac22a36ea00cd44569f7d299b9e574614","kind":"tag","published_at":"2025-07-27T18:39:09.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v2.5.0","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v2.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v2.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v2.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v2.5.0/manifests"},{"name":"v2.4.0","sha":"bda00b69f1d10478db4437b97d9347226b74a2c6","kind":"tag","published_at":"2025-06-23T15:29:24.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v2.4.0","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v2.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v2.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v2.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v2.4.0/manifests"},{"name":"v2.3.0","sha":"a24220781969e8bee404aef1fb59f05c9545e45a","kind":"tag","published_at":"2025-04-03T19:27:56.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v2.3.0","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v2.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v2.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v2.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v2.3.0/manifests"},{"name":"v2.2.1","sha":"4161bc0598cdc0107877fd5b0beebe4a0bdd9054","kind":"tag","published_at":"2025-03-22T03:45:34.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v2.2.1","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v2.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v2.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v2.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v2.2.1/manifests"},{"name":"v2.2.0","sha":"8e9baaa05c35fc9fdf206160c00b309c6e3a8bb6","kind":"tag","published_at":"2025-02-01T19:55:35.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v2.2.0","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v2.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v2.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v2.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v2.2.0/manifests"},{"name":"v2.1.0","sha":"b90c8b6fa4ee78154c44bad2233259f4f22fb98a","kind":"tag","published_at":"2024-11-09T02:43:50.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v2.1.0","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v2.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v2.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v2.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v2.1.0/manifests"},{"name":"v2.0.2","sha":"be0432cd57b264e4e55fcd79487c4286b123d6f6","kind":"tag","published_at":"2024-10-30T22:02:52.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v2.0.2","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v2.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v2.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v2.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v2.0.2/manifests"},{"name":"v2.0.1","sha":"d08cb5e0776c330c7bf0249e3cb152c8cd0ba130","kind":"tag","published_at":"2024-10-15T02:44:18.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v2.0.1","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v2.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v2.0.1/manifests"},{"name":"v2.0.0","sha":"5143cb4b23a099e1f4ea614daab9a86046448b39","kind":"tag","published_at":"2024-06-28T22:54:45.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v2.0.0","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v2.0.0/manifests"},{"name":"v1.8.0","sha":"2dd1b8a806807006fda7cb25f416bc8632d9ffd6","kind":"tag","published_at":"2024-03-12T05:00:00.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v1.8.0","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v1.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v1.8.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.8.0/manifests"},{"name":"v1.7.0","sha":"9f4dbfbb9443ad71746a26b43ad7bf2d59c7f9e8","kind":"tag","published_at":"2024-01-05T18:18:10.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v1.7.0","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v1.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v1.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.7.0/manifests"},{"name":"v1.6.4","sha":"05d3bf324697e9265cd72173a3e48e0774d933cc","kind":"tag","published_at":"2023-10-17T19:24:18.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v1.6.4","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v1.6.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v1.6.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.6.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.6.4/manifests"},{"name":"v1.6.3","sha":"42a3319d08bc162ee51773e29c942c8bdafd429f","kind":"tag","published_at":"2023-09-20T19:17:53.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v1.6.3","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v1.6.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v1.6.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.6.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.6.3/manifests"},{"name":"v1.6.2","sha":"dcebcf55c8cfb63220e5e3c1c7113860941ab319","kind":"tag","published_at":"2023-09-13T18:15:28.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v1.6.2","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v1.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v1.6.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.6.2/manifests"},{"name":"v1.6.1","sha":"fa4356456bc5994698f39b159d7614e9c9a763c6","kind":"tag","published_at":"2023-08-09T22:59:27.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v1.6.1","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v1.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v1.6.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.6.1/manifests"},{"name":"v1.6.0","sha":"4ea84af560e88020ce43a28342c3fca374fec99a","kind":"tag","published_at":"2023-07-22T23:13:26.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v1.6.0","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v1.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v1.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.6.0/manifests"},{"name":"v1.5.0","sha":"8bb74535ddffe3641697765cb7e39cc256e5a774","kind":"tag","published_at":"2023-07-02T15:06:18.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v1.5.0","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v1.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v1.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.5.0/manifests"},{"name":"v1.4.4","sha":"1146d6836bda6c1d8b51287bba73613edfce9e82","kind":"tag","published_at":"2023-03-08T19:55:41.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v1.4.4","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v1.4.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v1.4.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.4.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.4.4/manifests"},{"name":"v1.4.3","sha":"3ac8f8bbc4da9aca0532f3183bd86f6e95041a75","kind":"tag","published_at":"2023-02-19T21:41:47.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v1.4.3","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v1.4.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v1.4.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.4.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.4.3/manifests"},{"name":"v1.4.2","sha":"083b528614d7dfecdf8840f032791163ce995326","kind":"tag","published_at":"2023-01-30T00:47:38.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v1.4.2","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v1.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v1.4.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.4.2/manifests"},{"name":"v1.4.1","sha":"8e9c9b82834b1761ce91e9746a369b3f243b5c31","kind":"tag","published_at":"2023-01-05T09:11:32.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v1.4.1","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v1.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v1.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.4.1/manifests"},{"name":"v1.4.0","sha":"27efd53a896b7f421a5c18e39071ec9a791b0401","kind":"tag","published_at":"2022-10-31T16:04:58.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v1.4.0","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v1.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v1.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.4.0/manifests"},{"name":"v1.3.2","sha":"dd9a5be370aa0e11028d086964278aea98429372","kind":"tag","published_at":"2022-10-10T02:12:21.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v1.3.2","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v1.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v1.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.3.2/manifests"},{"name":"v1.3.1","sha":"c8091216e494560d7289ab0c76b330b646923565","kind":"tag","published_at":"2022-09-21T19:51:17.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v1.3.1","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v1.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v1.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.3.1/manifests"},{"name":"v1.3.0","sha":"34ffe2500e0fd2609a7527010169475cc044e2d9","kind":"tag","published_at":"2022-08-30T21:58:57.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v1.3.0","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v1.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.3.0/manifests"},{"name":"v1.2.0","sha":"896b508295965977121091dffbf4a3e139d4bb4f","kind":"tag","published_at":"2022-06-10T21:16:16.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v1.2.0","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v1.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.2.0/manifests"},{"name":"v1.1.0","sha":"1f38e73958ef4c066ea87b8b8833244f9835985f","kind":"tag","published_at":"2022-06-09T00:46:41.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v1.1.0","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v1.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.1.0/manifests"},{"name":"v1.0.0","sha":"f5e0c29917163f368af6fd1126d3f0f770ce0e82","kind":"tag","published_at":"2022-03-21T23:03:13.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v1.0.0","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.0.0/manifests"},{"name":"v0.8.0","sha":"14e525876c9d0fdf12d84440bb78bca5b1bea1af","kind":"tag","published_at":"2022-02-10T01:01:37.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.8.0","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.8.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.8.0/manifests"},{"name":"v0.7.9","sha":"05896aa7ce318943d7dafbf6f2255778dc79757b","kind":"tag","published_at":"2021-12-16T02:14:47.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.7.9","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.7.9","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.7.9","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.7.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.7.9/manifests"},{"name":"v0.7.8","sha":"d4bf71467a44e871e8a53ecc1c60914840fbfa3a","kind":"tag","published_at":"2021-08-03T17:59:04.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.7.8","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.7.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.7.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.7.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.7.8/manifests"},{"name":"v0.7.7","sha":"afa553ad3738e025e385d286daea12b894eaff17","kind":"tag","published_at":"2021-06-07T20:55:32.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.7.7","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.7.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.7.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.7.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.7.7/manifests"},{"name":"v0.7.6","sha":"2b95fcde4ccdd606caa19e6cb41653ae458e7e9a","kind":"tag","published_at":"2021-01-17T23:16:23.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.7.6","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.7.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.7.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.7.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.7.6/manifests"},{"name":"v0.7.5","sha":"06c0ad28d8423c157692bbcf35ff16254f9c86ff","kind":"tag","published_at":"2021-01-13T02:42:21.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.7.5","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.7.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.7.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.7.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.7.5/manifests"},{"name":"v0.7.4","sha":"db61b9a162745905a5e132833bc2e802690034f2","kind":"tag","published_at":"2020-12-16T20:26:09.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.7.4","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.7.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.7.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.7.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.7.4/manifests"},{"name":"v0.7.3","sha":"c36dc60d30d95b508b3f09a99e40022d14233a97","kind":"tag","published_at":"2020-11-24T21:28:33.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.7.3","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.7.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.7.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.7.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.7.3/manifests"},{"name":"v0.7.2","sha":"f557321ce12766007452361853c0b6791ba76dd1","kind":"tag","published_at":"2020-10-25T21:33:03.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.7.2","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.7.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.7.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.7.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.7.2/manifests"},{"name":"v0.7.1","sha":"602f021fca79aa32c337bf6b5d9f85f1b7f439cb","kind":"tag","published_at":"2020-07-27T23:36:57.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.7.1","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.7.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.7.1/manifests"},{"name":"v0.7.0","sha":"25ece0dfde547d91404578c8ba7267e2e809342a","kind":"tag","published_at":"2020-07-23T06:15:13.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.7.0","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.7.0/manifests"},{"name":"v0.6.8","sha":"f095d6ee342c8967f05b2410ca3ee00eddfa7f55","kind":"tag","published_at":"2020-05-14T00:02:49.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.6.8","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.6.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.6.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.6.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.6.8/manifests"},{"name":"v0.6.7","sha":"4c3cba1a774550b232ce99b349c9246502bd5fbe","kind":"tag","published_at":"2020-05-13T12:06:40.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.6.7","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.6.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.6.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.6.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.6.7/manifests"},{"name":"v0.6.6","sha":"9354d402f5bca0d6c611b058cda7f1cb463eadbb","kind":"tag","published_at":"2020-05-08T22:56:42.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.6.6","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.6.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.6.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.6.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.6.6/manifests"},{"name":"v0.6.5","sha":"0cbba851a7d418dac6997485e091774fa6722040","kind":"tag","published_at":"2020-05-06T20:32:19.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.6.5","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.6.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.6.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.6.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.6.5/manifests"},{"name":"v0.6.4","sha":"46bc658fe3f923a23a1ad14d82653d153ba90ae9","kind":"tag","published_at":"2020-04-16T21:09:58.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.6.4","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.6.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.6.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.6.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.6.4/manifests"},{"name":"v0.6.3","sha":"777b782e571581378d9e8c729070b938ad80bbc2","kind":"tag","published_at":"2020-04-04T20:27:34.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.6.3","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.6.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.6.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.6.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.6.3/manifests"},{"name":"v0.6.2","sha":"1d8d2e3ee35a2d203485b142c1e815cf9a8f0665","kind":"tag","published_at":"2020-02-03T21:06:53.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.6.2","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.6.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.6.2/manifests"},{"name":"v0.6.1","sha":"3c84c8c78587d9d9a8d1c9f41ef37bd9c0872afc","kind":"tag","published_at":"2020-01-28T19:14:56.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.6.1","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.6.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.6.1/manifests"},{"name":"v0.6.0","sha":"a1f46c6e2bd368bfb00dbe98b4382b17252aca17","kind":"tag","published_at":"2020-01-24T22:28:06.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.6.0","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.6.0/manifests"},{"name":"v0.5.1","sha":"c74edc06cc158abd2a723f0a980bffe422dd7442","kind":"tag","published_at":"2019-12-18T05:50:51.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.5.1","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.5.1/manifests"},{"name":"v0.5.0","sha":"4ec0165f70ea08fb840634a980f23c24ccaa67f6","kind":"tag","published_at":"2019-12-05T19:43:22.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.5.0","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.5.0/manifests"},{"name":"v0.4.2","sha":"e26729cc4be20f22b7a9ba4333503cee9f9a93b9","kind":"tag","published_at":"2019-10-28T03:34:16.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.4.2","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.4.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.4.2/manifests"},{"name":"v0.4.1","sha":"70b532e2bef52c82a01d8b54b92f8cd7fa36860c","kind":"tag","published_at":"2019-07-12T17:05:13.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.4.1","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.4.1/manifests"},{"name":"v0.4.0","sha":"db90905e61448b00cd995606a238b92c07c87bb9","kind":"tag","published_at":"2019-05-27T20:30:13.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.4.0","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.4.0/manifests"},{"name":"v0.3.1","sha":"abd22583c2bbf1f0ed85bb8a8fefd435fbaee979","kind":"tag","published_at":"2018-10-19T01:30:37.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.3.1","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.3.1/manifests"},{"name":"v0.3.0","sha":"123741c5fe217fe3a71de2b1b121c047e1615b65","kind":"tag","published_at":"2018-10-15T20:30:35.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.3.0","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.3.0/manifests"},{"name":"v0.2.3","sha":"8f7fc9fc8e14ca568c5f63ad533ab7d9a910e6f2","kind":"tag","published_at":"2018-07-23T03:07:00.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.2.3","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.2.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.2.3/manifests"},{"name":"v0.2.2","sha":"f964de884662c521c7f3d73964ecce6bb1806dd3","kind":"tag","published_at":"2018-02-14T23:48:13.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.2.2","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.2.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.2.2/manifests"},{"name":"v0.2.1","sha":"223490b107156595e148ba433fae372167625ad7","kind":"tag","published_at":"2018-02-08T05:24:55.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.2.1","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.2.1/manifests"},{"name":"v0.2.0","sha":"07355170b468f1097d296ca976b7f6e2bf10e853","kind":"tag","published_at":"2018-01-07T20:25:36.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.2.0","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.2.0/manifests"},{"name":"v0.1.9","sha":"0702d02a5e907c90c53efa2a467def74122a452c","kind":"tag","published_at":"2017-06-14T19:48:44.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.1.9","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.1.9","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.1.9","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.1.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.1.9/manifests"},{"name":"v0.1.8","sha":"53b84066bd4967737d33f99934d310a1940491ee","kind":"tag","published_at":"2017-05-31T16:06:48.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.1.8","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.1.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.1.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.1.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.1.8/manifests"},{"name":"v0.1.7","sha":"82e07f0663118e6846a77e55a70a810788fc5c20","kind":"tag","published_at":"2017-05-30T04:35:48.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.1.7","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.1.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.1.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.1.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.1.7/manifests"},{"name":"v0.1.6","sha":"952ed2603a0f3b105313ba6d36b49ca716a274d2","kind":"tag","published_at":"2017-03-24T06:38:21.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.1.6","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.1.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.1.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.1.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.1.6/manifests"},{"name":"v0.1.5","sha":"8a744643f3472717f0fdba013479ac6ca4f4fbf1","kind":"tag","published_at":"2016-07-24T02:20:51.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.1.5","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.1.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.1.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.1.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.1.5/manifests"},{"name":"v0.1.4","sha":"795a42a66c4a298c2ee561522ca12d6cc96611ad","kind":"tag","published_at":"2016-03-22T07:15:43.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.1.4","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.1.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.1.4/manifests"},{"name":"v0.1.3","sha":"0836855ccb3baf9e647383307e232727165471a0","kind":"tag","published_at":"2016-03-12T21:22:44.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.1.3","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.1.3/manifests"},{"name":"v0.1.2","sha":"190b511b7e124a4c89af958957ee1b6a0f1448df","kind":"tag","published_at":"2016-02-25T06:17:33.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.1.2","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.1.2/manifests"},{"name":"v0.1.1","sha":"5c999cf8d9e2a1bedcf492b00b52bca378de2115","kind":"tag","published_at":"2015-11-29T21:01:34.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.1.1","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.1.1/manifests"},{"name":"v0.1.0","sha":"b1d7fee03f9be59b4175ad8fd02ac7959a6c8466","kind":"tag","published_at":"2015-11-23T05:27:06.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.1.0","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.1.0/manifests"}]},"repo_metadata_updated_at":"2025-12-11T17:59:17.561Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":6.935580196030183,"dependent_packages_count":6.497216412401576,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":6.716398304215879},"purl":"pkg:golang/github.com/ankane/strong_migrations","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/go/github.com/ankane/strong_migrations","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/go/github.com/ankane/strong_migrations","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/go/github.com/ankane/strong_migrations/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-10-31T20:39:41.216Z","issues_count":125,"pull_requests_count":74,"avg_time_to_close_issue":3455775.5762711866,"avg_time_to_close_pull_request":8209889.354838709,"issues_closed_count":118,"pull_requests_closed_count":62,"pull_request_authors_count":50,"issue_authors_count":107,"avg_comments_per_issue":2.784,"avg_comments_per_pull_request":1.8108108108108107,"merged_pull_requests_count":18,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":16,"past_year_pull_requests_count":12,"past_year_avg_time_to_close_issue":110534.85714285714,"past_year_avg_time_to_close_pull_request":338901.22222222225,"past_year_issues_closed_count":14,"past_year_pull_requests_closed_count":9,"past_year_pull_request_authors_count":8,"past_year_issue_authors_count":14,"past_year_avg_comments_per_issue":1.125,"past_year_avg_comments_per_pull_request":0.8333333333333334,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":3,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/issues","maintainers":[{"login":"ankane","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ankane"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fankane%2Fstrong_migrations/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fankane%2Fstrong_migrations/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fankane%2Fstrong_migrations/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fankane%2Fstrong_migrations/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fankane%2Fstrong_migrations/codemeta","maintainers":[],"registry":{"name":"proxy.golang.org","url":"https://proxy.golang.org","ecosystem":"go","default":true,"packages_count":2107169,"maintainers_count":0,"namespaces_count":782439,"keywords_count":112823,"github":"golang","metadata":{"funded_packages_count":53495},"icon_url":"https://github.com/golang.png","created_at":"2022-04-04T15:19:22.939Z","updated_at":"2026-04-19T05:14:45.920Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/namespaces"}},{"id":310691,"name":"strong_migrations","ecosystem":"rubygems","description":"Catch unsafe migrations in development","homepage":"https://github.com/ankane/strong_migrations","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/ankane/strong_migrations","keywords_array":[],"namespace":null,"versions_count":73,"first_release_published_at":"2015-11-23T05:27:15.835Z","latest_release_published_at":"2026-04-25T17:39:35.116Z","latest_release_number":"2.7.0","last_synced_at":"2026-04-25T17:47:40.720Z","created_at":"2022-04-06T11:23:04.753Z","updated_at":"2026-04-25T17:47:48.129Z","registry_url":"https://rubygems.org/gems/strong_migrations","install_command":"gem install strong_migrations -s https://rubygems.org","documentation_url":"http://www.rubydoc.info/gems/strong_migrations/","metadata":{"funding":null},"repo_metadata":{"id":37493269,"uuid":"46698467","full_name":"ankane/strong_migrations","owner":"ankane","description":"Catch unsafe migrations in development","archived":false,"fork":false,"pushed_at":"2026-04-08T04:01:14.000Z","size":920,"stargazers_count":4379,"open_issues_count":5,"forks_count":195,"subscribers_count":28,"default_branch":"master","last_synced_at":"2026-04-20T00:16:05.475Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ankane.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2015-11-23T05:24:42.000Z","updated_at":"2026-04-17T04:18:18.000Z","dependencies_parsed_at":"2026-01-06T18:00:20.706Z","dependency_job_id":null,"html_url":"https://github.com/ankane/strong_migrations","commit_stats":{"total_commits":991,"total_committers":27,"mean_commits":36.7037037037037,"dds":0.0353178607467205,"last_synced_commit":"aef4e80d1c96431d92ced222226374ed45a5dbca"},"previous_names":[],"tags_count":71,"template":false,"template_full_name":null,"purl":"pkg:github/ankane/strong_migrations","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ankane","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/sbom","scorecard":{"id":42267,"data":{"date":"2025-08-11","repo":{"name":"github.com/ankane/strong_migrations","commit":"7f7d444ac22a36ea00cd44569f7d299b9e574614"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.4,"checks":[{"name":"Maintained","score":10,"reason":"21 commit(s) and 2 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":0,"reason":"Found 1/30 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/build.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/ankane/strong_migrations/build.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build.yml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/ankane/strong_migrations/build.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build.yml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/ankane/strong_migrations/build.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/ankane/strong_migrations/build.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build.yml:38: update your workflow using https://app.stepsecurity.io/secureworkflow/ankane/strong_migrations/build.yml/master?enable=pin","Info:   0 out of   1 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   4 third-party GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE.txt:0","Info: FSF or OSI recognized license: MIT License: LICENSE.txt:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 1 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-14T21:50:33.722Z","repository_id":37493269,"created_at":"2025-08-14T21:50:33.722Z","updated_at":"2025-08-14T21:50:33.722Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32074812,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-21T02:38:07.213Z","status":"ssl_error","status_checked_at":"2026-04-21T02:38:06.559Z","response_time":128,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"ankane","name":"Andrew Kane","uuid":"220358","kind":"user","description":"","email":"","website":"https://ankane.org","location":"San Francisco, CA","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/220358?u=ba13f3240d7992dc4124a33a4fc65bf4924e5375\u0026v=4","repositories_count":374,"last_synced_at":"2025-01-06T16:40:27.087Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/ankane","funding_links":[],"total_stars":79786,"followers":6387,"following":136,"created_at":"2022-11-02T16:34:23.873Z","updated_at":"2025-01-06T16:40:27.088Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ankane","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ankane/repositories"},"tags":[{"name":"v2.5.2","sha":"543436b78178f432d7f9a3e47d33b70c452e34fa","kind":"commit","published_at":"2025-12-20T23:45:59.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v2.5.2","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v2.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v2.5.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v2.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v2.5.2/manifests"},{"name":"v2.5.1","sha":"9d40089768fab6e1c36190d551df10756231da4e","kind":"tag","published_at":"2025-10-13T18:45:41.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v2.5.1","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v2.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v2.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v2.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v2.5.1/manifests"},{"name":"v2.5.0","sha":"7f7d444ac22a36ea00cd44569f7d299b9e574614","kind":"tag","published_at":"2025-07-27T18:39:09.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v2.5.0","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v2.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v2.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v2.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v2.5.0/manifests"},{"name":"v2.4.0","sha":"bda00b69f1d10478db4437b97d9347226b74a2c6","kind":"tag","published_at":"2025-06-23T15:29:24.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v2.4.0","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v2.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v2.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v2.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v2.4.0/manifests"},{"name":"v2.3.0","sha":"a24220781969e8bee404aef1fb59f05c9545e45a","kind":"tag","published_at":"2025-04-03T19:27:56.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v2.3.0","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v2.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v2.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v2.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v2.3.0/manifests"},{"name":"v2.2.1","sha":"4161bc0598cdc0107877fd5b0beebe4a0bdd9054","kind":"tag","published_at":"2025-03-22T03:45:34.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v2.2.1","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v2.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v2.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v2.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v2.2.1/manifests"},{"name":"v2.2.0","sha":"8e9baaa05c35fc9fdf206160c00b309c6e3a8bb6","kind":"tag","published_at":"2025-02-01T19:55:35.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v2.2.0","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v2.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v2.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v2.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v2.2.0/manifests"},{"name":"v2.1.0","sha":"b90c8b6fa4ee78154c44bad2233259f4f22fb98a","kind":"tag","published_at":"2024-11-09T02:43:50.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v2.1.0","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v2.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v2.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v2.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v2.1.0/manifests"},{"name":"v2.0.2","sha":"be0432cd57b264e4e55fcd79487c4286b123d6f6","kind":"tag","published_at":"2024-10-30T22:02:52.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v2.0.2","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v2.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v2.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v2.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v2.0.2/manifests"},{"name":"v2.0.1","sha":"d08cb5e0776c330c7bf0249e3cb152c8cd0ba130","kind":"tag","published_at":"2024-10-15T02:44:18.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v2.0.1","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v2.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v2.0.1/manifests"},{"name":"v2.0.0","sha":"5143cb4b23a099e1f4ea614daab9a86046448b39","kind":"tag","published_at":"2024-06-28T22:54:45.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v2.0.0","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v2.0.0/manifests"},{"name":"v1.8.0","sha":"2dd1b8a806807006fda7cb25f416bc8632d9ffd6","kind":"tag","published_at":"2024-03-12T05:00:00.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v1.8.0","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v1.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v1.8.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.8.0/manifests"},{"name":"v1.7.0","sha":"9f4dbfbb9443ad71746a26b43ad7bf2d59c7f9e8","kind":"tag","published_at":"2024-01-05T18:18:10.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v1.7.0","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v1.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v1.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.7.0/manifests"},{"name":"v1.6.4","sha":"05d3bf324697e9265cd72173a3e48e0774d933cc","kind":"tag","published_at":"2023-10-17T19:24:18.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v1.6.4","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v1.6.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v1.6.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.6.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.6.4/manifests"},{"name":"v1.6.3","sha":"42a3319d08bc162ee51773e29c942c8bdafd429f","kind":"tag","published_at":"2023-09-20T19:17:53.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v1.6.3","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v1.6.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v1.6.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.6.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.6.3/manifests"},{"name":"v1.6.2","sha":"dcebcf55c8cfb63220e5e3c1c7113860941ab319","kind":"tag","published_at":"2023-09-13T18:15:28.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v1.6.2","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v1.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v1.6.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.6.2/manifests"},{"name":"v1.6.1","sha":"fa4356456bc5994698f39b159d7614e9c9a763c6","kind":"tag","published_at":"2023-08-09T22:59:27.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v1.6.1","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v1.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v1.6.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.6.1/manifests"},{"name":"v1.6.0","sha":"4ea84af560e88020ce43a28342c3fca374fec99a","kind":"tag","published_at":"2023-07-22T23:13:26.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v1.6.0","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v1.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v1.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.6.0/manifests"},{"name":"v1.5.0","sha":"8bb74535ddffe3641697765cb7e39cc256e5a774","kind":"tag","published_at":"2023-07-02T15:06:18.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v1.5.0","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v1.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v1.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.5.0/manifests"},{"name":"v1.4.4","sha":"1146d6836bda6c1d8b51287bba73613edfce9e82","kind":"tag","published_at":"2023-03-08T19:55:41.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v1.4.4","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v1.4.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v1.4.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.4.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.4.4/manifests"},{"name":"v1.4.3","sha":"3ac8f8bbc4da9aca0532f3183bd86f6e95041a75","kind":"tag","published_at":"2023-02-19T21:41:47.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v1.4.3","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v1.4.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v1.4.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.4.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.4.3/manifests"},{"name":"v1.4.2","sha":"083b528614d7dfecdf8840f032791163ce995326","kind":"tag","published_at":"2023-01-30T00:47:38.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v1.4.2","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v1.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v1.4.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.4.2/manifests"},{"name":"v1.4.1","sha":"8e9c9b82834b1761ce91e9746a369b3f243b5c31","kind":"tag","published_at":"2023-01-05T09:11:32.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v1.4.1","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v1.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v1.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.4.1/manifests"},{"name":"v1.4.0","sha":"27efd53a896b7f421a5c18e39071ec9a791b0401","kind":"tag","published_at":"2022-10-31T16:04:58.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v1.4.0","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v1.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v1.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.4.0/manifests"},{"name":"v1.3.2","sha":"dd9a5be370aa0e11028d086964278aea98429372","kind":"tag","published_at":"2022-10-10T02:12:21.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v1.3.2","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v1.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v1.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.3.2/manifests"},{"name":"v1.3.1","sha":"c8091216e494560d7289ab0c76b330b646923565","kind":"tag","published_at":"2022-09-21T19:51:17.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v1.3.1","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v1.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v1.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.3.1/manifests"},{"name":"v1.3.0","sha":"34ffe2500e0fd2609a7527010169475cc044e2d9","kind":"tag","published_at":"2022-08-30T21:58:57.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v1.3.0","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v1.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.3.0/manifests"},{"name":"v1.2.0","sha":"896b508295965977121091dffbf4a3e139d4bb4f","kind":"tag","published_at":"2022-06-10T21:16:16.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v1.2.0","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v1.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.2.0/manifests"},{"name":"v1.1.0","sha":"1f38e73958ef4c066ea87b8b8833244f9835985f","kind":"tag","published_at":"2022-06-09T00:46:41.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v1.1.0","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v1.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.1.0/manifests"},{"name":"v1.0.0","sha":"f5e0c29917163f368af6fd1126d3f0f770ce0e82","kind":"tag","published_at":"2022-03-21T23:03:13.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v1.0.0","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.0.0/manifests"},{"name":"v0.8.0","sha":"14e525876c9d0fdf12d84440bb78bca5b1bea1af","kind":"tag","published_at":"2022-02-10T01:01:37.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.8.0","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.8.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.8.0/manifests"},{"name":"v0.7.9","sha":"05896aa7ce318943d7dafbf6f2255778dc79757b","kind":"tag","published_at":"2021-12-16T02:14:47.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.7.9","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.7.9","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.7.9","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.7.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.7.9/manifests"},{"name":"v0.7.8","sha":"d4bf71467a44e871e8a53ecc1c60914840fbfa3a","kind":"tag","published_at":"2021-08-03T17:59:04.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.7.8","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.7.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.7.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.7.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.7.8/manifests"},{"name":"v0.7.7","sha":"afa553ad3738e025e385d286daea12b894eaff17","kind":"tag","published_at":"2021-06-07T20:55:32.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.7.7","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.7.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.7.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.7.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.7.7/manifests"},{"name":"v0.7.6","sha":"2b95fcde4ccdd606caa19e6cb41653ae458e7e9a","kind":"tag","published_at":"2021-01-17T23:16:23.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.7.6","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.7.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.7.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.7.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.7.6/manifests"},{"name":"v0.7.5","sha":"06c0ad28d8423c157692bbcf35ff16254f9c86ff","kind":"tag","published_at":"2021-01-13T02:42:21.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.7.5","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.7.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.7.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.7.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.7.5/manifests"},{"name":"v0.7.4","sha":"db61b9a162745905a5e132833bc2e802690034f2","kind":"tag","published_at":"2020-12-16T20:26:09.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.7.4","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.7.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.7.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.7.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.7.4/manifests"},{"name":"v0.7.3","sha":"c36dc60d30d95b508b3f09a99e40022d14233a97","kind":"tag","published_at":"2020-11-24T21:28:33.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.7.3","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.7.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.7.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.7.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.7.3/manifests"},{"name":"v0.7.2","sha":"f557321ce12766007452361853c0b6791ba76dd1","kind":"tag","published_at":"2020-10-25T21:33:03.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.7.2","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.7.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.7.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.7.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.7.2/manifests"},{"name":"v0.7.1","sha":"602f021fca79aa32c337bf6b5d9f85f1b7f439cb","kind":"tag","published_at":"2020-07-27T23:36:57.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.7.1","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.7.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.7.1/manifests"},{"name":"v0.7.0","sha":"25ece0dfde547d91404578c8ba7267e2e809342a","kind":"tag","published_at":"2020-07-23T06:15:13.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.7.0","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.7.0/manifests"},{"name":"v0.6.8","sha":"f095d6ee342c8967f05b2410ca3ee00eddfa7f55","kind":"tag","published_at":"2020-05-14T00:02:49.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.6.8","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.6.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.6.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.6.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.6.8/manifests"},{"name":"v0.6.7","sha":"4c3cba1a774550b232ce99b349c9246502bd5fbe","kind":"tag","published_at":"2020-05-13T12:06:40.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.6.7","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.6.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.6.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.6.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.6.7/manifests"},{"name":"v0.6.6","sha":"9354d402f5bca0d6c611b058cda7f1cb463eadbb","kind":"tag","published_at":"2020-05-08T22:56:42.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.6.6","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.6.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.6.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.6.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.6.6/manifests"},{"name":"v0.6.5","sha":"0cbba851a7d418dac6997485e091774fa6722040","kind":"tag","published_at":"2020-05-06T20:32:19.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.6.5","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.6.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.6.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.6.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.6.5/manifests"},{"name":"v0.6.4","sha":"46bc658fe3f923a23a1ad14d82653d153ba90ae9","kind":"tag","published_at":"2020-04-16T21:09:58.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.6.4","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.6.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.6.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.6.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.6.4/manifests"},{"name":"v0.6.3","sha":"777b782e571581378d9e8c729070b938ad80bbc2","kind":"tag","published_at":"2020-04-04T20:27:34.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.6.3","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.6.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.6.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.6.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.6.3/manifests"},{"name":"v0.6.2","sha":"1d8d2e3ee35a2d203485b142c1e815cf9a8f0665","kind":"tag","published_at":"2020-02-03T21:06:53.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.6.2","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.6.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.6.2/manifests"},{"name":"v0.6.1","sha":"3c84c8c78587d9d9a8d1c9f41ef37bd9c0872afc","kind":"tag","published_at":"2020-01-28T19:14:56.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.6.1","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.6.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.6.1/manifests"},{"name":"v0.6.0","sha":"a1f46c6e2bd368bfb00dbe98b4382b17252aca17","kind":"tag","published_at":"2020-01-24T22:28:06.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.6.0","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.6.0/manifests"},{"name":"v0.5.1","sha":"c74edc06cc158abd2a723f0a980bffe422dd7442","kind":"tag","published_at":"2019-12-18T05:50:51.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.5.1","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.5.1/manifests"},{"name":"v0.5.0","sha":"4ec0165f70ea08fb840634a980f23c24ccaa67f6","kind":"tag","published_at":"2019-12-05T19:43:22.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.5.0","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.5.0/manifests"},{"name":"v0.4.2","sha":"e26729cc4be20f22b7a9ba4333503cee9f9a93b9","kind":"tag","published_at":"2019-10-28T03:34:16.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.4.2","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.4.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.4.2/manifests"},{"name":"v0.4.1","sha":"70b532e2bef52c82a01d8b54b92f8cd7fa36860c","kind":"tag","published_at":"2019-07-12T17:05:13.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.4.1","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.4.1/manifests"},{"name":"v0.4.0","sha":"db90905e61448b00cd995606a238b92c07c87bb9","kind":"tag","published_at":"2019-05-27T20:30:13.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.4.0","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.4.0/manifests"},{"name":"v0.3.1","sha":"abd22583c2bbf1f0ed85bb8a8fefd435fbaee979","kind":"tag","published_at":"2018-10-19T01:30:37.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.3.1","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.3.1/manifests"},{"name":"v0.3.0","sha":"123741c5fe217fe3a71de2b1b121c047e1615b65","kind":"tag","published_at":"2018-10-15T20:30:35.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.3.0","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.3.0/manifests"},{"name":"v0.2.3","sha":"8f7fc9fc8e14ca568c5f63ad533ab7d9a910e6f2","kind":"tag","published_at":"2018-07-23T03:07:00.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.2.3","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.2.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.2.3/manifests"},{"name":"v0.2.2","sha":"f964de884662c521c7f3d73964ecce6bb1806dd3","kind":"tag","published_at":"2018-02-14T23:48:13.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.2.2","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.2.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.2.2/manifests"},{"name":"v0.2.1","sha":"223490b107156595e148ba433fae372167625ad7","kind":"tag","published_at":"2018-02-08T05:24:55.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.2.1","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.2.1/manifests"},{"name":"v0.2.0","sha":"07355170b468f1097d296ca976b7f6e2bf10e853","kind":"tag","published_at":"2018-01-07T20:25:36.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.2.0","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.2.0/manifests"},{"name":"v0.1.9","sha":"0702d02a5e907c90c53efa2a467def74122a452c","kind":"tag","published_at":"2017-06-14T19:48:44.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.1.9","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.1.9","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.1.9","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.1.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.1.9/manifests"},{"name":"v0.1.8","sha":"53b84066bd4967737d33f99934d310a1940491ee","kind":"tag","published_at":"2017-05-31T16:06:48.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.1.8","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.1.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.1.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.1.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.1.8/manifests"},{"name":"v0.1.7","sha":"82e07f0663118e6846a77e55a70a810788fc5c20","kind":"tag","published_at":"2017-05-30T04:35:48.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.1.7","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.1.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.1.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.1.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.1.7/manifests"},{"name":"v0.1.6","sha":"952ed2603a0f3b105313ba6d36b49ca716a274d2","kind":"tag","published_at":"2017-03-24T06:38:21.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.1.6","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.1.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.1.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.1.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.1.6/manifests"},{"name":"v0.1.5","sha":"8a744643f3472717f0fdba013479ac6ca4f4fbf1","kind":"tag","published_at":"2016-07-24T02:20:51.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.1.5","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.1.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.1.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.1.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.1.5/manifests"},{"name":"v0.1.4","sha":"795a42a66c4a298c2ee561522ca12d6cc96611ad","kind":"tag","published_at":"2016-03-22T07:15:43.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.1.4","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.1.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.1.4/manifests"},{"name":"v0.1.3","sha":"0836855ccb3baf9e647383307e232727165471a0","kind":"tag","published_at":"2016-03-12T21:22:44.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.1.3","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.1.3/manifests"},{"name":"v0.1.2","sha":"190b511b7e124a4c89af958957ee1b6a0f1448df","kind":"tag","published_at":"2016-02-25T06:17:33.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.1.2","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.1.2/manifests"},{"name":"v0.1.1","sha":"5c999cf8d9e2a1bedcf492b00b52bca378de2115","kind":"tag","published_at":"2015-11-29T21:01:34.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.1.1","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.1.1/manifests"},{"name":"v0.1.0","sha":"b1d7fee03f9be59b4175ad8fd02ac7959a6c8466","kind":"tag","published_at":"2015-11-23T05:27:06.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.1.0","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.1.0/manifests"}]},"repo_metadata_updated_at":"2026-04-25T17:47:48.103Z","dependent_packages_count":4,"downloads":74114598,"downloads_period":"total","dependent_repos_count":942,"rankings":{"downloads":0.48003478997781024,"dependent_repos_count":1.0643280070472005,"dependent_packages_count":3.2827466241455827,"stargazers_count":0.3434395245369699,"forks_count":2.0216099285244367,"docker_downloads_count":1.1083730110056758,"average":1.383421980872946},"purl":"pkg:gem/strong_migrations","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/strong_migrations","docker_dependents_count":35,"docker_downloads_count":17582096,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/strong_migrations","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/strong_migrations/dependencies","status":null,"funding_links":[],"critical":true,"issue_metadata":{"last_synced_at":"2026-04-22T21:05:28.213Z","issues_count":129,"pull_requests_count":78,"avg_time_to_close_issue":3343003.598360656,"avg_time_to_close_pull_request":7953992.21875,"issues_closed_count":122,"pull_requests_closed_count":64,"pull_request_authors_count":54,"issue_authors_count":110,"avg_comments_per_issue":2.7674418604651163,"avg_comments_per_pull_request":1.794871794871795,"merged_pull_requests_count":18,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":8,"past_year_pull_requests_count":10,"past_year_avg_time_to_close_issue":60841.375,"past_year_avg_time_to_close_pull_request":31878.428571428572,"past_year_issues_closed_count":8,"past_year_pull_requests_closed_count":7,"past_year_pull_request_authors_count":9,"past_year_issue_authors_count":8,"past_year_avg_comments_per_issue":1.375,"past_year_avg_comments_per_pull_request":1.5,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":3,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/issues","maintainers":[{"login":"ankane","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ankane"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/strong_migrations/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/strong_migrations/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/strong_migrations/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/strong_migrations/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/strong_migrations/codemeta","maintainers":[{"uuid":"47699","login":"ankane","name":null,"email":null,"url":null,"packages_count":152,"html_url":"https://rubygems.org/profiles/ankane","role":null,"created_at":"2022-11-09T09:52:57.757Z","updated_at":"2022-11-09T09:52:57.757Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/ankane/packages"}],"registry":{"name":"rubygems.org","url":"https://rubygems.org","ecosystem":"rubygems","default":true,"packages_count":205424,"maintainers_count":68434,"namespaces_count":0,"keywords_count":0,"github":"rubygems","metadata":{"funded_packages_count":7260},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-04-03T06:42:17.024Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/namespaces"}},{"id":12335474,"name":"strong_migrations","ecosystem":"rubygems","description":"Catch unsafe migrations in development","homepage":"https://github.com/ankane/strong_migrations","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/ankane/strong_migrations","keywords_array":[],"namespace":null,"versions_count":73,"first_release_published_at":"2015-11-23T05:27:15.835Z","latest_release_published_at":"2026-04-25T17:39:35.116Z","latest_release_number":"2.7.0","last_synced_at":"2026-04-25T17:47:43.096Z","created_at":"2025-10-07T06:16:18.820Z","updated_at":"2026-04-25T17:47:48.133Z","registry_url":"https://gem.coop/gems/strong_migrations","install_command":"gem install strong_migrations -s https://gem.coop","documentation_url":"http://www.rubydoc.info/gems/strong_migrations/","metadata":{"funding":null},"repo_metadata":{"id":37493269,"uuid":"46698467","full_name":"ankane/strong_migrations","owner":"ankane","description":"Catch unsafe migrations in development","archived":false,"fork":false,"pushed_at":"2026-04-08T04:01:14.000Z","size":920,"stargazers_count":4379,"open_issues_count":5,"forks_count":195,"subscribers_count":28,"default_branch":"master","last_synced_at":"2026-04-20T00:16:05.475Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ankane.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2015-11-23T05:24:42.000Z","updated_at":"2026-04-17T04:18:18.000Z","dependencies_parsed_at":"2026-01-06T18:00:20.706Z","dependency_job_id":null,"html_url":"https://github.com/ankane/strong_migrations","commit_stats":{"total_commits":991,"total_committers":27,"mean_commits":36.7037037037037,"dds":0.0353178607467205,"last_synced_commit":"aef4e80d1c96431d92ced222226374ed45a5dbca"},"previous_names":[],"tags_count":71,"template":false,"template_full_name":null,"purl":"pkg:github/ankane/strong_migrations","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ankane","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/sbom","scorecard":{"id":42267,"data":{"date":"2025-08-11","repo":{"name":"github.com/ankane/strong_migrations","commit":"7f7d444ac22a36ea00cd44569f7d299b9e574614"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.4,"checks":[{"name":"Maintained","score":10,"reason":"21 commit(s) and 2 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":0,"reason":"Found 1/30 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/build.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/ankane/strong_migrations/build.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build.yml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/ankane/strong_migrations/build.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build.yml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/ankane/strong_migrations/build.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/ankane/strong_migrations/build.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build.yml:38: update your workflow using https://app.stepsecurity.io/secureworkflow/ankane/strong_migrations/build.yml/master?enable=pin","Info:   0 out of   1 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   4 third-party GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE.txt:0","Info: FSF or OSI recognized license: MIT License: LICENSE.txt:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 1 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-14T21:50:33.722Z","repository_id":37493269,"created_at":"2025-08-14T21:50:33.722Z","updated_at":"2025-08-14T21:50:33.722Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32074812,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-21T02:38:07.213Z","status":"ssl_error","status_checked_at":"2026-04-21T02:38:06.559Z","response_time":128,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"ankane","name":"Andrew Kane","uuid":"220358","kind":"user","description":"","email":"","website":"https://ankane.org","location":"San Francisco, CA","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/220358?u=ba13f3240d7992dc4124a33a4fc65bf4924e5375\u0026v=4","repositories_count":374,"last_synced_at":"2025-01-06T16:40:27.087Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/ankane","funding_links":[],"total_stars":79786,"followers":6387,"following":136,"created_at":"2022-11-02T16:34:23.873Z","updated_at":"2025-01-06T16:40:27.088Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ankane","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ankane/repositories"},"tags":[{"name":"v2.5.2","sha":"543436b78178f432d7f9a3e47d33b70c452e34fa","kind":"commit","published_at":"2025-12-20T23:45:59.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v2.5.2","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v2.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v2.5.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v2.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v2.5.2/manifests"},{"name":"v2.5.1","sha":"9d40089768fab6e1c36190d551df10756231da4e","kind":"tag","published_at":"2025-10-13T18:45:41.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v2.5.1","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v2.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v2.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v2.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v2.5.1/manifests"},{"name":"v2.5.0","sha":"7f7d444ac22a36ea00cd44569f7d299b9e574614","kind":"tag","published_at":"2025-07-27T18:39:09.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v2.5.0","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v2.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v2.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v2.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v2.5.0/manifests"},{"name":"v2.4.0","sha":"bda00b69f1d10478db4437b97d9347226b74a2c6","kind":"tag","published_at":"2025-06-23T15:29:24.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v2.4.0","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v2.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v2.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v2.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v2.4.0/manifests"},{"name":"v2.3.0","sha":"a24220781969e8bee404aef1fb59f05c9545e45a","kind":"tag","published_at":"2025-04-03T19:27:56.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v2.3.0","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v2.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v2.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v2.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v2.3.0/manifests"},{"name":"v2.2.1","sha":"4161bc0598cdc0107877fd5b0beebe4a0bdd9054","kind":"tag","published_at":"2025-03-22T03:45:34.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v2.2.1","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v2.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v2.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v2.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v2.2.1/manifests"},{"name":"v2.2.0","sha":"8e9baaa05c35fc9fdf206160c00b309c6e3a8bb6","kind":"tag","published_at":"2025-02-01T19:55:35.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v2.2.0","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v2.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v2.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v2.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v2.2.0/manifests"},{"name":"v2.1.0","sha":"b90c8b6fa4ee78154c44bad2233259f4f22fb98a","kind":"tag","published_at":"2024-11-09T02:43:50.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v2.1.0","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v2.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v2.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v2.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v2.1.0/manifests"},{"name":"v2.0.2","sha":"be0432cd57b264e4e55fcd79487c4286b123d6f6","kind":"tag","published_at":"2024-10-30T22:02:52.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v2.0.2","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v2.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v2.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v2.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v2.0.2/manifests"},{"name":"v2.0.1","sha":"d08cb5e0776c330c7bf0249e3cb152c8cd0ba130","kind":"tag","published_at":"2024-10-15T02:44:18.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v2.0.1","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v2.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v2.0.1/manifests"},{"name":"v2.0.0","sha":"5143cb4b23a099e1f4ea614daab9a86046448b39","kind":"tag","published_at":"2024-06-28T22:54:45.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v2.0.0","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v2.0.0/manifests"},{"name":"v1.8.0","sha":"2dd1b8a806807006fda7cb25f416bc8632d9ffd6","kind":"tag","published_at":"2024-03-12T05:00:00.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v1.8.0","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v1.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v1.8.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.8.0/manifests"},{"name":"v1.7.0","sha":"9f4dbfbb9443ad71746a26b43ad7bf2d59c7f9e8","kind":"tag","published_at":"2024-01-05T18:18:10.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v1.7.0","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v1.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v1.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.7.0/manifests"},{"name":"v1.6.4","sha":"05d3bf324697e9265cd72173a3e48e0774d933cc","kind":"tag","published_at":"2023-10-17T19:24:18.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v1.6.4","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v1.6.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v1.6.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.6.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.6.4/manifests"},{"name":"v1.6.3","sha":"42a3319d08bc162ee51773e29c942c8bdafd429f","kind":"tag","published_at":"2023-09-20T19:17:53.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v1.6.3","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v1.6.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v1.6.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.6.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.6.3/manifests"},{"name":"v1.6.2","sha":"dcebcf55c8cfb63220e5e3c1c7113860941ab319","kind":"tag","published_at":"2023-09-13T18:15:28.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v1.6.2","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v1.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v1.6.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.6.2/manifests"},{"name":"v1.6.1","sha":"fa4356456bc5994698f39b159d7614e9c9a763c6","kind":"tag","published_at":"2023-08-09T22:59:27.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v1.6.1","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v1.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v1.6.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.6.1/manifests"},{"name":"v1.6.0","sha":"4ea84af560e88020ce43a28342c3fca374fec99a","kind":"tag","published_at":"2023-07-22T23:13:26.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v1.6.0","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v1.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v1.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.6.0/manifests"},{"name":"v1.5.0","sha":"8bb74535ddffe3641697765cb7e39cc256e5a774","kind":"tag","published_at":"2023-07-02T15:06:18.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v1.5.0","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v1.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v1.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.5.0/manifests"},{"name":"v1.4.4","sha":"1146d6836bda6c1d8b51287bba73613edfce9e82","kind":"tag","published_at":"2023-03-08T19:55:41.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v1.4.4","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v1.4.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v1.4.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.4.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.4.4/manifests"},{"name":"v1.4.3","sha":"3ac8f8bbc4da9aca0532f3183bd86f6e95041a75","kind":"tag","published_at":"2023-02-19T21:41:47.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v1.4.3","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v1.4.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v1.4.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.4.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.4.3/manifests"},{"name":"v1.4.2","sha":"083b528614d7dfecdf8840f032791163ce995326","kind":"tag","published_at":"2023-01-30T00:47:38.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v1.4.2","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v1.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v1.4.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.4.2/manifests"},{"name":"v1.4.1","sha":"8e9c9b82834b1761ce91e9746a369b3f243b5c31","kind":"tag","published_at":"2023-01-05T09:11:32.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v1.4.1","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v1.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v1.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.4.1/manifests"},{"name":"v1.4.0","sha":"27efd53a896b7f421a5c18e39071ec9a791b0401","kind":"tag","published_at":"2022-10-31T16:04:58.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v1.4.0","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v1.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v1.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.4.0/manifests"},{"name":"v1.3.2","sha":"dd9a5be370aa0e11028d086964278aea98429372","kind":"tag","published_at":"2022-10-10T02:12:21.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v1.3.2","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v1.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v1.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.3.2/manifests"},{"name":"v1.3.1","sha":"c8091216e494560d7289ab0c76b330b646923565","kind":"tag","published_at":"2022-09-21T19:51:17.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v1.3.1","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v1.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v1.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.3.1/manifests"},{"name":"v1.3.0","sha":"34ffe2500e0fd2609a7527010169475cc044e2d9","kind":"tag","published_at":"2022-08-30T21:58:57.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v1.3.0","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v1.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.3.0/manifests"},{"name":"v1.2.0","sha":"896b508295965977121091dffbf4a3e139d4bb4f","kind":"tag","published_at":"2022-06-10T21:16:16.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v1.2.0","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v1.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.2.0/manifests"},{"name":"v1.1.0","sha":"1f38e73958ef4c066ea87b8b8833244f9835985f","kind":"tag","published_at":"2022-06-09T00:46:41.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v1.1.0","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v1.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.1.0/manifests"},{"name":"v1.0.0","sha":"f5e0c29917163f368af6fd1126d3f0f770ce0e82","kind":"tag","published_at":"2022-03-21T23:03:13.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v1.0.0","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v1.0.0/manifests"},{"name":"v0.8.0","sha":"14e525876c9d0fdf12d84440bb78bca5b1bea1af","kind":"tag","published_at":"2022-02-10T01:01:37.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.8.0","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.8.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.8.0/manifests"},{"name":"v0.7.9","sha":"05896aa7ce318943d7dafbf6f2255778dc79757b","kind":"tag","published_at":"2021-12-16T02:14:47.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.7.9","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.7.9","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.7.9","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.7.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.7.9/manifests"},{"name":"v0.7.8","sha":"d4bf71467a44e871e8a53ecc1c60914840fbfa3a","kind":"tag","published_at":"2021-08-03T17:59:04.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.7.8","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.7.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.7.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.7.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.7.8/manifests"},{"name":"v0.7.7","sha":"afa553ad3738e025e385d286daea12b894eaff17","kind":"tag","published_at":"2021-06-07T20:55:32.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.7.7","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.7.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.7.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.7.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.7.7/manifests"},{"name":"v0.7.6","sha":"2b95fcde4ccdd606caa19e6cb41653ae458e7e9a","kind":"tag","published_at":"2021-01-17T23:16:23.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.7.6","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.7.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.7.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.7.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.7.6/manifests"},{"name":"v0.7.5","sha":"06c0ad28d8423c157692bbcf35ff16254f9c86ff","kind":"tag","published_at":"2021-01-13T02:42:21.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.7.5","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.7.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.7.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.7.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.7.5/manifests"},{"name":"v0.7.4","sha":"db61b9a162745905a5e132833bc2e802690034f2","kind":"tag","published_at":"2020-12-16T20:26:09.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.7.4","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.7.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.7.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.7.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.7.4/manifests"},{"name":"v0.7.3","sha":"c36dc60d30d95b508b3f09a99e40022d14233a97","kind":"tag","published_at":"2020-11-24T21:28:33.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.7.3","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.7.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.7.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.7.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.7.3/manifests"},{"name":"v0.7.2","sha":"f557321ce12766007452361853c0b6791ba76dd1","kind":"tag","published_at":"2020-10-25T21:33:03.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.7.2","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.7.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.7.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.7.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.7.2/manifests"},{"name":"v0.7.1","sha":"602f021fca79aa32c337bf6b5d9f85f1b7f439cb","kind":"tag","published_at":"2020-07-27T23:36:57.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.7.1","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.7.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.7.1/manifests"},{"name":"v0.7.0","sha":"25ece0dfde547d91404578c8ba7267e2e809342a","kind":"tag","published_at":"2020-07-23T06:15:13.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.7.0","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.7.0/manifests"},{"name":"v0.6.8","sha":"f095d6ee342c8967f05b2410ca3ee00eddfa7f55","kind":"tag","published_at":"2020-05-14T00:02:49.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.6.8","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.6.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.6.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.6.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.6.8/manifests"},{"name":"v0.6.7","sha":"4c3cba1a774550b232ce99b349c9246502bd5fbe","kind":"tag","published_at":"2020-05-13T12:06:40.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.6.7","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.6.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.6.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.6.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.6.7/manifests"},{"name":"v0.6.6","sha":"9354d402f5bca0d6c611b058cda7f1cb463eadbb","kind":"tag","published_at":"2020-05-08T22:56:42.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.6.6","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.6.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.6.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.6.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.6.6/manifests"},{"name":"v0.6.5","sha":"0cbba851a7d418dac6997485e091774fa6722040","kind":"tag","published_at":"2020-05-06T20:32:19.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.6.5","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.6.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.6.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.6.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.6.5/manifests"},{"name":"v0.6.4","sha":"46bc658fe3f923a23a1ad14d82653d153ba90ae9","kind":"tag","published_at":"2020-04-16T21:09:58.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.6.4","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.6.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.6.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.6.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.6.4/manifests"},{"name":"v0.6.3","sha":"777b782e571581378d9e8c729070b938ad80bbc2","kind":"tag","published_at":"2020-04-04T20:27:34.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.6.3","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.6.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.6.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.6.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.6.3/manifests"},{"name":"v0.6.2","sha":"1d8d2e3ee35a2d203485b142c1e815cf9a8f0665","kind":"tag","published_at":"2020-02-03T21:06:53.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.6.2","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.6.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.6.2/manifests"},{"name":"v0.6.1","sha":"3c84c8c78587d9d9a8d1c9f41ef37bd9c0872afc","kind":"tag","published_at":"2020-01-28T19:14:56.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.6.1","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.6.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.6.1/manifests"},{"name":"v0.6.0","sha":"a1f46c6e2bd368bfb00dbe98b4382b17252aca17","kind":"tag","published_at":"2020-01-24T22:28:06.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.6.0","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.6.0/manifests"},{"name":"v0.5.1","sha":"c74edc06cc158abd2a723f0a980bffe422dd7442","kind":"tag","published_at":"2019-12-18T05:50:51.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.5.1","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.5.1/manifests"},{"name":"v0.5.0","sha":"4ec0165f70ea08fb840634a980f23c24ccaa67f6","kind":"tag","published_at":"2019-12-05T19:43:22.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.5.0","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.5.0/manifests"},{"name":"v0.4.2","sha":"e26729cc4be20f22b7a9ba4333503cee9f9a93b9","kind":"tag","published_at":"2019-10-28T03:34:16.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.4.2","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.4.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.4.2/manifests"},{"name":"v0.4.1","sha":"70b532e2bef52c82a01d8b54b92f8cd7fa36860c","kind":"tag","published_at":"2019-07-12T17:05:13.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.4.1","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.4.1/manifests"},{"name":"v0.4.0","sha":"db90905e61448b00cd995606a238b92c07c87bb9","kind":"tag","published_at":"2019-05-27T20:30:13.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.4.0","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.4.0/manifests"},{"name":"v0.3.1","sha":"abd22583c2bbf1f0ed85bb8a8fefd435fbaee979","kind":"tag","published_at":"2018-10-19T01:30:37.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.3.1","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.3.1/manifests"},{"name":"v0.3.0","sha":"123741c5fe217fe3a71de2b1b121c047e1615b65","kind":"tag","published_at":"2018-10-15T20:30:35.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.3.0","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.3.0/manifests"},{"name":"v0.2.3","sha":"8f7fc9fc8e14ca568c5f63ad533ab7d9a910e6f2","kind":"tag","published_at":"2018-07-23T03:07:00.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.2.3","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.2.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.2.3/manifests"},{"name":"v0.2.2","sha":"f964de884662c521c7f3d73964ecce6bb1806dd3","kind":"tag","published_at":"2018-02-14T23:48:13.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.2.2","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.2.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.2.2/manifests"},{"name":"v0.2.1","sha":"223490b107156595e148ba433fae372167625ad7","kind":"tag","published_at":"2018-02-08T05:24:55.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.2.1","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.2.1/manifests"},{"name":"v0.2.0","sha":"07355170b468f1097d296ca976b7f6e2bf10e853","kind":"tag","published_at":"2018-01-07T20:25:36.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.2.0","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.2.0/manifests"},{"name":"v0.1.9","sha":"0702d02a5e907c90c53efa2a467def74122a452c","kind":"tag","published_at":"2017-06-14T19:48:44.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.1.9","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.1.9","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.1.9","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.1.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.1.9/manifests"},{"name":"v0.1.8","sha":"53b84066bd4967737d33f99934d310a1940491ee","kind":"tag","published_at":"2017-05-31T16:06:48.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.1.8","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.1.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.1.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.1.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.1.8/manifests"},{"name":"v0.1.7","sha":"82e07f0663118e6846a77e55a70a810788fc5c20","kind":"tag","published_at":"2017-05-30T04:35:48.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.1.7","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.1.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.1.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.1.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.1.7/manifests"},{"name":"v0.1.6","sha":"952ed2603a0f3b105313ba6d36b49ca716a274d2","kind":"tag","published_at":"2017-03-24T06:38:21.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.1.6","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.1.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.1.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.1.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.1.6/manifests"},{"name":"v0.1.5","sha":"8a744643f3472717f0fdba013479ac6ca4f4fbf1","kind":"tag","published_at":"2016-07-24T02:20:51.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.1.5","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.1.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.1.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.1.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.1.5/manifests"},{"name":"v0.1.4","sha":"795a42a66c4a298c2ee561522ca12d6cc96611ad","kind":"tag","published_at":"2016-03-22T07:15:43.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.1.4","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.1.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.1.4/manifests"},{"name":"v0.1.3","sha":"0836855ccb3baf9e647383307e232727165471a0","kind":"tag","published_at":"2016-03-12T21:22:44.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.1.3","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.1.3/manifests"},{"name":"v0.1.2","sha":"190b511b7e124a4c89af958957ee1b6a0f1448df","kind":"tag","published_at":"2016-02-25T06:17:33.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.1.2","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.1.2/manifests"},{"name":"v0.1.1","sha":"5c999cf8d9e2a1bedcf492b00b52bca378de2115","kind":"tag","published_at":"2015-11-29T21:01:34.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.1.1","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.1.1/manifests"},{"name":"v0.1.0","sha":"b1d7fee03f9be59b4175ad8fd02ac7959a6c8466","kind":"tag","published_at":"2015-11-23T05:27:06.000Z","download_url":"https://codeload.github.com/ankane/strong_migrations/tar.gz/v0.1.0","html_url":"https://github.com/ankane/strong_migrations/releases/tag/v0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ankane/strong_migrations@v0.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/tags/v0.1.0/manifests"}]},"repo_metadata_updated_at":"2026-04-25T17:47:48.106Z","dependent_packages_count":0,"downloads":74114598,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":0.4200772033779181,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":1.0191062141150267,"average":0.3597958543732362},"purl":"pkg:gem/strong_migrations?repository_url=https://gem.coop","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/strong_migrations","docker_dependents_count":35,"docker_downloads_count":17582096,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/strong_migrations","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/strong_migrations/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-04-09T17:15:03.395Z","issues_count":128,"pull_requests_count":78,"avg_time_to_close_issue":3370397.5371900825,"avg_time_to_close_pull_request":7953992.21875,"issues_closed_count":121,"pull_requests_closed_count":64,"pull_request_authors_count":54,"issue_authors_count":109,"avg_comments_per_issue":2.78125,"avg_comments_per_pull_request":1.794871794871795,"merged_pull_requests_count":18,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":7,"past_year_pull_requests_count":10,"past_year_avg_time_to_close_issue":65484.857142857145,"past_year_avg_time_to_close_pull_request":31878.428571428572,"past_year_issues_closed_count":7,"past_year_pull_requests_closed_count":7,"past_year_pull_request_authors_count":9,"past_year_issue_authors_count":7,"past_year_avg_comments_per_issue":1.4285714285714286,"past_year_avg_comments_per_pull_request":1.5,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":3,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/issues","maintainers":[{"login":"ankane","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ankane"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/strong_migrations/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/strong_migrations/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/strong_migrations/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/strong_migrations/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/strong_migrations/codemeta","maintainers":[{"uuid":"47699","login":"ankane","name":null,"email":null,"url":null,"packages_count":152,"html_url":"https://gem.coop/profiles/ankane","role":null,"created_at":"2025-10-09T22:52:59.941Z","updated_at":"2025-10-09T22:52:59.941Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/ankane/packages"}],"registry":{"name":"gem.coop","url":"https://gem.coop","ecosystem":"rubygems","default":false,"packages_count":190276,"maintainers_count":67443,"namespaces_count":0,"keywords_count":0,"github":"gem-coop","metadata":{"funded_packages_count":6507},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-04-03T06:45:05.763Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/namespaces"}}],"commits":{"id":19564,"full_name":"ankane/strong_migrations","default_branch":"master","total_commits":1109,"total_committers":30,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":36.96666666666667,"dds":0.0342651036970244,"past_year_total_commits":91,"past_year_total_committers":4,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":22.75,"past_year_dds":0.03296703296703296,"last_synced_at":"2026-04-23T23:04:01.309Z","last_synced_commit":"00ef9e0c8d8091da19c289ee1ee6d84a8e859abd","created_at":"2023-03-07T11:41:28.785Z","updated_at":"2026-04-23T23:03:33.486Z","committers":[{"name":"Andrew Kane","email":"andrew@ankane.org","login":"ankane","count":1071},{"name":"Alex Ghiculescu","email":"alex@tanda.co","login":"ghiculescu","count":4},{"name":"fatkodima","email":"fatkodima123@gmail.com","login":"fatkodima","count":4},{"name":"Joel Turkel","email":"Jturkel@salsify.com","login":"jturkel","count":4},{"name":"Victor Lymar","email":"evidenceofllama@gmail.com","login":null,"count":1},{"name":"twonegatives","email":"whitewhiteheaven@gmail.com","login":"twonegatives","count":1},{"name":"Alexander Rjazantsev","email":"shurik.v.r@gmail.com","login":"alvir","count":1},{"name":"Bart Agapinan","email":"bart@sonic.net","login":"viamin","count":1},{"name":"Bartosz Kopiński","email":"bartosz@kopinski.pl","login":"bartoszkopinski","count":1},{"name":"Chad Wilken","email":"chad.wilken@gmail.com","login":"chadwilken","count":1},{"name":"Charles Delannoy","email":"87308317+CharlesDelannoy","login":"CharlesDelannoy","count":1},{"name":"Chedli Bourguiba","email":"chedli.bourguiba@edu.esiee.fr","login":"chaadow","count":1},{"name":"Geoff Harcourt","email":"geoff.harcourt@commonlit.org","login":"geoffharcourt","count":1},{"name":"Geoff Lee","email":"geoff.lee@lendesk.com","login":"geoff-lee-lendesk","count":1},{"name":"Graham Rogers","email":"graham@ophelos.com","login":"TastyPi","count":1},{"name":"Ajay Sharma","email":"aj@ajsharma.com","login":"ajsharma","count":1},{"name":"Jaroslav","email":"jarosluv","login":"jarosluv","count":1},{"name":"Jon Dufresne","email":"jon.dufresne@gmail.com","login":"jdufresne","count":1},{"name":"Jorge Rodriguez","email":"jorge.rodriguez.suarez@gmail.com","login":"j4rs","count":1},{"name":"Karim","email":"32221969+karimtimer","login":"karimtimer","count":1},{"name":"Masafumi Koba","email":"473530+ybiquitous","login":"ybiquitous","count":1},{"name":"Masataka Pocke Kuwabara","email":"p.ck.t22@gmail.com","login":"pocke","count":1},{"name":"Matt Larraz","email":"mlarraz","login":"mlarraz","count":1},{"name":"Olivier","email":"olimart","login":"olimart","count":1},{"name":"Quentin de Metz","email":"quentin@de.me.tz","login":"quentindemetz","count":1},{"name":"Ryota Arai","email":"ryota.arai@gmail.com","login":"ryotarai","count":1},{"name":"Thierry","email":"6230277+tdeo","login":"tdeo","count":1},{"name":"Tom Chipchase","email":"tomchipchase","login":"tomchipchase","count":1},{"name":"Yudai Takada","email":"t.yudai92@gmail.com","login":"ydah","count":1},{"name":"James Brown","email":"roguelazer@roguelazer.com","login":"Roguelazer","count":1}],"past_year_committers":[{"name":"Andrew Kane","email":"andrew@ankane.org","login":"ankane","count":88},{"name":"Thierry","email":"6230277+tdeo","login":"tdeo","count":1},{"name":"Quentin de Metz","email":"quentin@de.me.tz","login":"quentindemetz","count":1},{"name":"Jorge Rodriguez","email":"jorge.rodriguez.suarez@gmail.com","login":"j4rs","count":1}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-26T00:00:10.019Z","repositories_count":6218656,"commits_count":899421109,"contributors_count":34886385,"owners_count":1145542,"icon_url":"https://github.com/github.png","host_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories"}},"issues_stats":{"full_name":"ankane/strong_migrations","html_url":"https://github.com/ankane/strong_migrations","last_synced_at":"2026-03-28T12:00:41.766Z","status":"active","issues_count":128,"pull_requests_count":77,"avg_time_to_close_issue":3370397.5371900825,"avg_time_to_close_pull_request":8079617.0,"issues_closed_count":121,"pull_requests_closed_count":63,"pull_request_authors_count":53,"issue_authors_count":109,"avg_comments_per_issue":2.7734375,"avg_comments_per_pull_request":1.7662337662337662,"merged_pull_requests_count":18,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":10,"past_year_pull_requests_count":9,"past_year_avg_time_to_close_issue":59113.11111111111,"past_year_avg_time_to_close_pull_request":30586.333333333332,"past_year_issues_closed_count":9,"past_year_pull_requests_closed_count":6,"past_year_pull_request_authors_count":8,"past_year_issue_authors_count":9,"past_year_avg_comments_per_issue":1.2,"past_year_avg_comments_per_pull_request":1.222222222222222,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":3,"created_at":"2023-05-12T17:56:40.471Z","updated_at":"2026-03-28T12:00:41.766Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankane%2Fstrong_migrations/issues","issue_labels_count":{},"pull_request_labels_count":{},"issue_author_associations_count":{"NONE":116,"CONTRIBUTOR":9,"OWNER":3},"pull_request_author_associations_count":{"NONE":45,"CONTRIBUTOR":32},"issue_authors":{"mockdeep":4,"ankane":3,"alexeyr-ci1":3,"bheemreddy181-zz":3,"jdufresne":3,"jjb":3,"tdeo":2,"Roguelazer":2,"jasonkarns":2,"lake-effect":2,"pil0u":2,"aandrieu":2,"fade2black":1,"aditya-cherukuri":1,"bessey":1,"headshota":1,"dijonkitchen":1,"fatkodima":1,"cthomas-figma":1,"oskarpearson":1,"a-ali":1,"archonic":1,"ThHareau":1,"Brentwish":1,"jenskdsgn":1,"keithlayne":1,"aantoniadis":1,"andylouisqin":1,"swiknaba":1,"zernie":1,"jg":1,"ryannmcq":1,"davidwessman":1,"ohbarye":1,"kromiii":1,"grk":1,"novacoole":1,"delbetu":1,"morgoth":1,"phil-wkt":1,"difernandez":1,"pjmartorell":1,"alexbrebu":1,"svobom57":1,"bvirlet":1,"concept47":1,"leoplct":1,"gisborne":1,"Aquaj":1,"thedumbtechguy":1,"jscheid":1,"gogochikago":1,"bensheldon":1,"plantoeat":1,"trevorrjohn":1,"swh-tropic":1,"jharrilim":1,"kopylovvlad":1,"paul110":1,"louiswdavis":1,"Skulli":1,"samrjenkins":1,"khamusa":1,"OuYangJinTing":1,"guillaumewrobel":1,"mib32":1,"pauljacksonrodgers":1,"sevenmaxis":1,"turgs":1,"Mywe4ka":1,"Jetbo":1,"excid3":1,"dhnaranjo":1,"joshmenden":1,"gingerlime":1,"dup2":1,"shepmaster":1,"hmcfletch":1,"ybiquitous":1,"yakschuss":1,"pirj":1,"tmaier":1,"kayla-glick":1,"john-h-k":1,"sgeef":1,"aedwardg":1,"harto":1,"tleish":1,"feliperaul":1,"bj-mcduck":1,"markbrown4":1,"cbortz":1,"federicoaldunate":1,"ViktorKopychko":1,"fabn":1,"berkovichpavel":1,"cscorley":1,"xxx":1,"silva96":1,"rui-sebastiao":1,"fg24davies":1,"breis-sa":1,"wleeper":1,"kpalmvik":1,"healos-web":1,"scottjacobsen":1,"ibrahima":1,"DmitryTsepelev":1,"nleoutsa":1},"pull_request_authors":{"chaadow":7,"ydah":2,"maxjacobson":2,"guillaumewrobel":2,"jdufresne":2,"dgsuarez":2,"shogokaji":2,"JasonnnW3000":2,"quentindemetz":2,"leoarnold":2,"sinsoku":2,"cthomas-figma":2,"fatkodima":2,"claireannecotter":2,"tomchipchase":2,"jaredbeck":2,"ryotarai":2,"TastyPi":2,"MaximeD":2,"CharlesDelannoy":1,"olimart":1,"pawneetdev":1,"joshmenden":1,"saviokmua":1,"pocke":1,"Laykou":1,"55728":1,"gabo-cs":1,"achmiral":1,"patelkrunal31":1,"dijonkitchen":1,"tdeo":1,"capripot":1,"pyromaniac":1,"karimtimer":1,"jenskdsgn":1,"ybiquitous":1,"vergenzt":1,"ghiculescu":1,"duderman":1,"gogochikago":1,"alexeyltd":1,"panbanda":1,"barthez":1,"kaka-ruto":1,"hlascelles":1,"okhwaja":1,"janko":1,"ajsharma":1,"cselmer":1,"j4rs":1,"Zhong-z":1,"Roguelazer":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-03-28T00:00:07.303Z","repositories_count":13959633,"issues_count":34595563,"pull_requests_count":113180773,"authors_count":11211325,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"},"past_year_issue_labels_count":{},"past_year_pull_request_labels_count":{},"past_year_issue_author_associations_count":{"NONE":10},"past_year_pull_request_author_associations_count":{"NONE":8,"CONTRIBUTOR":1},"past_year_issue_authors":{"aandrieu":2,"feliperaul":1,"fg24davies":1,"oskarpearson":1,"paul110":1,"phil-wkt":1,"sgeef":1,"tdeo":1,"tmaier":1},"past_year_pull_request_authors":{"quentindemetz":2,"55728":1,"alexeyltd":1,"capripot":1,"dijonkitchen":1,"j4rs":1,"kaka-ruto":1,"tdeo":1},"maintainers":[{"login":"ankane","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ankane"}],"active_maintainers":[]},"events":{"total":{"PullRequestEvent":23,"ForkEvent":18,"IssuesEvent":41,"WatchEvent":238,"IssueCommentEvent":70,"PushEvent":167,"PullRequestReviewCommentEvent":3,"PullRequestReviewEvent":2,"CreateEvent":7,"CommitCommentEvent":2},"last_year":{"PullRequestEvent":6,"ForkEvent":8,"IssuesEvent":8,"WatchEvent":103,"IssueCommentEvent":20,"PushEvent":36,"PullRequestReviewCommentEvent":1,"CreateEvent":2}},"keywords":[],"dependencies":[{"ecosystem":"actions","filepath":".github/workflows/build.yml","sha":null,"kind":"manifest","created_at":"2023-02-16T02:15:49.237Z","updated_at":"2023-02-16T02:15:49.237Z","repository_link":"https://github.com/ankane/strong_migrations/blob/master/.github/workflows/build.yml","dependencies":[{"id":7698839412,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":7698839413,"package_name":"ruby/setup-ruby","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false},{"id":7698839414,"package_name":"ankane/setup-postgres","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false},{"id":7698839415,"package_name":"ankane/setup-mysql","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false},{"id":7698839416,"package_name":"ankane/setup-mariadb","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"rubygems","filepath":"Gemfile","sha":null,"kind":"manifest","created_at":"2023-02-16T02:15:49.318Z","updated_at":"2023-02-16T02:15:49.318Z","repository_link":"https://github.com/ankane/strong_migrations/blob/master/Gemfile","dependencies":[{"id":7698839423,"package_name":"rake","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":7698839424,"package_name":"minitest","ecosystem":"rubygems","requirements":"\u003e= 5","direct":true,"kind":"runtime","optional":false},{"id":7698839425,"package_name":"activerecord","ecosystem":"rubygems","requirements":"~\u003e 7.0.0","direct":true,"kind":"runtime","optional":false},{"id":7698839426,"package_name":"pg","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":7698839427,"package_name":"mysql2","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"rubygems","filepath":"strong_migrations.gemspec","sha":null,"kind":"manifest","created_at":"2023-02-16T02:15:49.353Z","updated_at":"2023-02-16T02:15:49.353Z","repository_link":"https://github.com/ankane/strong_migrations/blob/master/strong_migrations.gemspec","dependencies":[{"id":7698839432,"package_name":"activerecord","ecosystem":"rubygems","requirements":"\u003e= 5.2","direct":true,"kind":"runtime","optional":false}]}],"score":30.814063820522964,"created_at":"2024-12-15T21:38:07.967Z","updated_at":"2026-05-02T05:03:51.428Z","avatar_url":"https://github.com/ankane.png","language":"Ruby","monthly_downloads":0,"readme":"# Strong Migrations\n\nCatch unsafe migrations in development\n\n\u0026nbsp;\u0026nbsp;✓\u0026nbsp;\u0026nbsp;Detects potentially dangerous operations\u003cbr /\u003e\u0026nbsp;\u0026nbsp;✓\u0026nbsp;\u0026nbsp;Prevents them from running by default\u003cbr /\u003e\u0026nbsp;\u0026nbsp;✓\u0026nbsp;\u0026nbsp;Provides instructions on safer ways to do what you want\n\nSupports PostgreSQL, MySQL, and MariaDB\n\n:tangerine: Battle-tested at [Instacart](https://www.instacart.com/opensource)\n\n[![Build Status](https://github.com/ankane/strong_migrations/actions/workflows/build.yml/badge.svg)](https://github.com/ankane/strong_migrations/actions)\n\n## Installation\n\nAdd this line to your application’s Gemfile:\n\n```ruby\ngem \"strong_migrations\"\n```\n\nAnd run:\n\n```sh\nbundle install\nrails generate strong_migrations:install\n```\n\nStrong Migrations sets a long statement timeout for migrations so you can set a [short statement timeout](#app-timeouts) for your application.\n\n## How It Works\n\nWhen you run a migration that’s potentially dangerous, you’ll see an error message like:\n\n```txt\n=== Dangerous operation detected #strong_migrations ===\n\nActive Record caches attributes, which causes problems\nwhen removing columns. Be sure to ignore the column:\n\nclass User \u003c ApplicationRecord\n  self.ignored_columns += [\"name\"]\nend\n\nDeploy the code, then wrap this step in a safety_assured { ... } block.\n\nclass RemoveColumn \u003c ActiveRecord::Migration[8.1]\n  def change\n    safety_assured { remove_column :users, :name }\n  end\nend\n```\n\nAn operation is classified as dangerous if it either:\n\n- Blocks reads or writes for more than a few seconds (after a lock is acquired)\n- Has a good chance of causing application errors\n\n## Checks\n\nPotentially dangerous operations:\n\n- [removing a column](#removing-a-column)\n- [changing the type of a column](#changing-the-type-of-a-column)\n- [renaming a column](#renaming-a-column)\n- [renaming a table](#renaming-a-table)\n- [creating a table with the force option](#creating-a-table-with-the-force-option)\n- [adding an auto-incrementing column](#adding-an-auto-incrementing-column)\n- [adding a stored generated column](#adding-a-stored-generated-column)\n- [adding a check constraint](#adding-a-check-constraint)\n- [executing SQL directly](#executing-SQL-directly)\n- [backfilling data](#backfilling-data)\n\nPostgres-specific checks:\n\n- [adding an index non-concurrently](#adding-an-index-non-concurrently)\n- [adding a reference](#adding-a-reference)\n- [adding a foreign key](#adding-a-foreign-key)\n- [adding a unique constraint](#adding-a-unique-constraint)\n- [adding an exclusion constraint](#adding-an-exclusion-constraint)\n- [adding a json column](#adding-a-json-column)\n- [setting NOT NULL on an existing column](#setting-not-null-on-an-existing-column)\n- [adding a column with a volatile default value](#adding-a-column-with-a-volatile-default-value)\n- [renaming a schema](#renaming-a-schema)\n\nBest practices:\n\n- [keeping non-unique indexes to three columns or less](#keeping-non-unique-indexes-to-three-columns-or-less)\n\nYou can also add [custom checks](#custom-checks) or [disable specific checks](#disable-checks).\n\n### Removing a column\n\n#### Bad\n\nActive Record caches database columns at runtime, so if you drop a column, it can cause exceptions until your app reboots.\n\n```ruby\nclass RemoveSomeColumnFromUsers \u003c ActiveRecord::Migration[8.1]\n  def change\n    remove_column :users, :some_column\n  end\nend\n```\n\n#### Good\n\n1. Tell Active Record to ignore the column from its cache\n\n  ```ruby\n  class User \u003c ApplicationRecord\n    self.ignored_columns += [\"some_column\"]\n  end\n  ```\n\n2. Deploy the code\n3. Write a migration to remove the column (wrap in `safety_assured` block)\n\n  ```ruby\n  class RemoveSomeColumnFromUsers \u003c ActiveRecord::Migration[8.1]\n    def change\n      safety_assured { remove_column :users, :some_column }\n    end\n  end\n  ```\n\n4. Deploy and run the migration\n5. Remove the line added in step 1\n\n### Changing the type of a column\n\n#### Bad\n\nChanging the type of a column causes the entire table to be rewritten. During this time, reads and writes are blocked in Postgres, and writes are blocked in MySQL and MariaDB.\n\n```ruby\nclass ChangeSomeColumnType \u003c ActiveRecord::Migration[8.1]\n  def change\n    change_column :users, :some_column, :new_type\n  end\nend\n```\n\nSome changes don’t require a table rewrite and are safe in Postgres:\n\nType | Safe Changes\n--- | ---\n`cidr` | Changing to `inet`\n`citext` | Changing to `text` if not indexed, changing to `string` with no `:limit` if not indexed\n`datetime` | Increasing or removing `:precision`, changing to `timestamptz` when session time zone is UTC in Postgres 12+\n`decimal` | Increasing `:precision` at same `:scale`, removing `:precision` and `:scale`\n`interval` | Increasing or removing `:precision`\n`numeric` | Increasing `:precision` at same `:scale`, removing `:precision` and `:scale`\n`string` | Increasing or removing `:limit`, changing to `text`, changing `citext` if not indexed\n`text` | Changing to `string` with no `:limit`, changing to `citext` if not indexed\n`time` | Increasing or removing `:precision`\n`timestamptz` | Increasing or removing `:limit`, changing to `datetime` when session time zone is UTC in Postgres 12+\n\nAnd some in MySQL and MariaDB:\n\nType | Safe Changes\n--- | ---\n`string` | Increasing `:limit` from under 63 up to 63, increasing `:limit` from over 63 to the max (the threshold can be different if using an encoding other than `utf8mb4` - for instance, it’s 85 for `utf8mb3` and 255 for `latin1`)\n\n#### Good\n\nA safer approach is to:\n\n1. Create a new column\n2. Write to both columns\n3. Backfill data from the old column to the new column\n4. Move reads from the old column to the new column\n5. Stop writing to the old column\n6. Drop the old column\n\n### Renaming a column\n\n#### Bad\n\nRenaming a column that’s in use will cause errors in your application.\n\n```ruby\nclass RenameSomeColumn \u003c ActiveRecord::Migration[8.1]\n  def change\n    rename_column :users, :some_column, :new_name\n  end\nend\n```\n\n#### Good\n\nA safer approach is to:\n\n1. Create a new column\n2. Write to both columns\n3. Backfill data from the old column to the new column\n4. Move reads from the old column to the new column\n5. Stop writing to the old column\n6. Drop the old column\n\n### Renaming a table\n\n#### Bad\n\nRenaming a table that’s in use will cause errors in your application.\n\n```ruby\nclass RenameUsersToCustomers \u003c ActiveRecord::Migration[8.1]\n  def change\n    rename_table :users, :customers\n  end\nend\n```\n\n#### Good\n\nA safer approach is to:\n\n1. Create a new table\n2. Write to both tables\n3. Backfill data from the old table to the new table\n4. Move reads from the old table to the new table\n5. Stop writing to the old table\n6. Drop the old table\n\n### Creating a table with the force option\n\n#### Bad\n\nThe `force` option can drop an existing table.\n\n```ruby\nclass CreateUsers \u003c ActiveRecord::Migration[8.1]\n  def change\n    create_table :users, force: true do |t|\n      # ...\n    end\n  end\nend\n```\n\n#### Good\n\nCreate tables without the `force` option.\n\n```ruby\nclass CreateUsers \u003c ActiveRecord::Migration[8.1]\n  def change\n    create_table :users do |t|\n      # ...\n    end\n  end\nend\n```\n\nIf you intend to drop an existing table, run `drop_table` first.\n\n### Adding an auto-incrementing column\n\n#### Bad\n\nAdding an auto-incrementing column (`serial`/`bigserial` in Postgres and `AUTO_INCREMENT` in MySQL and MariaDB) causes the entire table to be rewritten. During this time, reads and writes are blocked in Postgres, and writes are blocked in MySQL and MariaDB.\n\n```ruby\nclass AddIdToCitiesUsers \u003c ActiveRecord::Migration[8.1]\n  def change\n    add_column :cities_users, :id, :primary_key\n  end\nend\n```\n\nWith MySQL and MariaDB, this can also [generate different values on replicas](https://dev.mysql.com/doc/mysql-replication-excerpt/8.0/en/replication-features-auto-increment.html) if using statement-based replication.\n\n#### Good\n\nCreate a new table and migrate the data with the same steps as [renaming a table](#renaming-a-table).\n\n### Adding a stored generated column\n\n#### Bad\n\nAdding a stored generated column causes the entire table to be rewritten. During this time, reads and writes are blocked in Postgres, and writes are blocked in MySQL and MariaDB.\n\n```ruby\nclass AddSomeColumnToUsers \u003c ActiveRecord::Migration[8.1]\n  def change\n    add_column :users, :some_column, :virtual, type: :string, as: \"...\", stored: true\n  end\nend\n```\n\n#### Good\n\nAdd a non-generated column and use callbacks or triggers instead (or a virtual generated column with MySQL and MariaDB).\n\n### Adding a check constraint\n\n:turtle: Safe by default available\n\n#### Bad\n\nAdding a check constraint blocks reads and writes in Postgres and blocks writes in MySQL and MariaDB while every row is checked.\n\n```ruby\nclass AddCheckConstraint \u003c ActiveRecord::Migration[8.1]\n  def change\n    add_check_constraint :users, \"price \u003e 0\", name: \"price_check\"\n  end\nend\n```\n\n#### Good - Postgres\n\nAdd the check constraint without validating existing rows:\n\n```ruby\nclass AddCheckConstraint \u003c ActiveRecord::Migration[8.1]\n  def change\n    add_check_constraint :users, \"price \u003e 0\", name: \"price_check\", validate: false\n  end\nend\n```\n\nThen validate them in a separate migration.\n\n```ruby\nclass ValidateCheckConstraint \u003c ActiveRecord::Migration[8.1]\n  def change\n    validate_check_constraint :users, name: \"price_check\"\n  end\nend\n```\n\n#### Good - MySQL and MariaDB\n\n[Let us know](https://github.com/ankane/strong_migrations/issues/new) if you have a safe way to do this (check constraints can be added with `NOT ENFORCED`, but enforcing blocks writes).\n\n### Executing SQL directly\n\nStrong Migrations can’t ensure safety for raw SQL statements. Make really sure that what you’re doing is safe, then use:\n\n```ruby\nclass ExecuteSQL \u003c ActiveRecord::Migration[8.1]\n  def change\n    safety_assured { execute \"...\" }\n  end\nend\n```\n\n### Backfilling data\n\nNote: Strong Migrations does not detect dangerous backfills.\n\n#### Bad\n\nActive Record creates a transaction around each migration, and backfilling in the same transaction that alters a table keeps the table locked for the [duration of the backfill](https://wework.github.io/data/2015/11/05/add-columns-with-default-values-to-large-tables-in-rails-postgres/).\n\n```ruby\nclass AddSomeColumnToUsers \u003c ActiveRecord::Migration[8.1]\n  def change\n    add_column :users, :some_column, :text\n    User.update_all some_column: \"default_value\"\n  end\nend\n```\n\nAlso, running a single query to update data can cause issues for large tables.\n\n#### Good\n\nThere are three keys to backfilling safely: batching, throttling, and running it outside a transaction. Use the Rails console or a separate migration with `disable_ddl_transaction!`.\n\n```ruby\nclass BackfillSomeColumn \u003c ActiveRecord::Migration[8.1]\n  disable_ddl_transaction!\n\n  def up\n    User.unscoped.in_batches(of: 10000) do |relation|\n      relation.where(some_column: nil).update_all some_column: \"default_value\"\n      sleep(0.01) # throttle\n    end\n  end\nend\n```\n\nNote: If backfilling with a method other than `update_all`, use `User.reset_column_information` to ensure the model has up-to-date column information.\n\n### Adding an index non-concurrently\n\n:turtle: Safe by default available\n\n#### Bad\n\nIn Postgres, adding an index non-concurrently blocks writes.\n\n```ruby\nclass AddSomeIndexToUsers \u003c ActiveRecord::Migration[8.1]\n  def change\n    add_index :users, :some_column\n  end\nend\n```\n\n#### Good\n\nAdd indexes concurrently.\n\n```ruby\nclass AddSomeIndexToUsers \u003c ActiveRecord::Migration[8.1]\n  disable_ddl_transaction!\n\n  def change\n    add_index :users, :some_column, algorithm: :concurrently\n  end\nend\n```\n\nIf you forget `disable_ddl_transaction!`, the migration will fail. Also, note that indexes on new tables (those created in the same migration) don’t require this.\n\nWith [gindex](https://github.com/ankane/gindex), you can generate an index migration instantly with:\n\n```sh\nrails g index table column\n```\n\n### Adding a reference\n\n:turtle: Safe by default available\n\n#### Bad\n\nRails adds an index non-concurrently to references by default, which blocks writes in Postgres.\n\n```ruby\nclass AddReferenceToUsers \u003c ActiveRecord::Migration[8.1]\n  def change\n    add_reference :users, :city\n  end\nend\n```\n\n#### Good\n\nMake sure the index is added concurrently.\n\n```ruby\nclass AddReferenceToUsers \u003c ActiveRecord::Migration[8.1]\n  disable_ddl_transaction!\n\n  def change\n    add_reference :users, :city, index: {algorithm: :concurrently}\n  end\nend\n```\n\n### Adding a foreign key\n\n:turtle: Safe by default available\n\n#### Bad\n\nIn Postgres, adding a foreign key blocks writes on both tables.\n\n```ruby\nclass AddForeignKeyOnUsers \u003c ActiveRecord::Migration[8.1]\n  def change\n    add_foreign_key :users, :orders\n  end\nend\n```\n\nor\n\n```ruby\nclass AddReferenceToUsers \u003c ActiveRecord::Migration[8.1]\n  def change\n    add_reference :users, :order, foreign_key: true\n  end\nend\n```\n\n#### Good\n\nAdd the foreign key without validating existing rows:\n\n```ruby\nclass AddForeignKeyOnUsers \u003c ActiveRecord::Migration[8.1]\n  def change\n    add_foreign_key :users, :orders, validate: false\n  end\nend\n```\n\nThen validate them in a separate migration.\n\n```ruby\nclass ValidateForeignKeyOnUsers \u003c ActiveRecord::Migration[8.1]\n  def change\n    validate_foreign_key :users, :orders\n  end\nend\n```\n\n### Adding a unique constraint\n\n#### Bad\n\nIn Postgres, adding a unique constraint creates a unique index, which blocks reads and writes.\n\n```ruby\nclass AddUniqueConstraint \u003c ActiveRecord::Migration[8.1]\n  def change\n    add_unique_constraint :users, :some_column\n  end\nend\n```\n\n#### Good\n\nCreate a unique index concurrently, then use it for the constraint.\n\n```ruby\nclass AddUniqueConstraint \u003c ActiveRecord::Migration[8.1]\n  disable_ddl_transaction!\n\n  def up\n    add_index :users, :some_column, unique: true, algorithm: :concurrently\n    add_unique_constraint :users, using_index: \"index_users_on_some_column\"\n  end\n\n  def down\n    remove_unique_constraint :users, :some_column\n  end\nend\n```\n\n### Adding an exclusion constraint\n\n#### Bad\n\nIn Postgres, adding an exclusion constraint blocks reads and writes while every row is checked.\n\n```ruby\nclass AddExclusionConstraint \u003c ActiveRecord::Migration[8.1]\n  def change\n    add_exclusion_constraint :users, \"number WITH =\", using: :gist\n  end\nend\n```\n\n#### Good\n\n[Let us know](https://github.com/ankane/strong_migrations/issues/new) if you have a safe way to do this (exclusion constraints cannot be marked `NOT VALID`).\n\n### Adding a json column\n\n#### Bad\n\nIn Postgres, there’s no equality operator for the `json` column type, which can cause errors for existing `SELECT DISTINCT` queries in your application.\n\n```ruby\nclass AddPropertiesToUsers \u003c ActiveRecord::Migration[8.1]\n  def change\n    add_column :users, :properties, :json\n  end\nend\n```\n\n#### Good\n\nUse `jsonb` instead.\n\n```ruby\nclass AddPropertiesToUsers \u003c ActiveRecord::Migration[8.1]\n  def change\n    add_column :users, :properties, :jsonb\n  end\nend\n```\n\n### Setting NOT NULL on an existing column\n\n:turtle: Safe by default available\n\n#### Bad\n\nIn Postgres, setting `NOT NULL` on an existing column blocks reads and writes while every row is checked.\n\n```ruby\nclass SetSomeColumnNotNull \u003c ActiveRecord::Migration[8.1]\n  def change\n    change_column_null :users, :some_column, false\n  end\nend\n```\n\n#### Good\n\nInstead, add a check constraint.\n\n```ruby\nclass SetSomeColumnNotNull \u003c ActiveRecord::Migration[8.1]\n  def change\n    add_check_constraint :users, \"some_column IS NOT NULL\", name: \"users_some_column_null\", validate: false\n  end\nend\n```\n\nThen validate it in a separate migration. Once the check constraint is validated, you can safely set `NOT NULL` on the column and drop the check constraint.\n\n```ruby\nclass ValidateSomeColumnNotNull \u003c ActiveRecord::Migration[8.1]\n  def up\n    validate_check_constraint :users, name: \"users_some_column_null\"\n    change_column_null :users, :some_column, false\n    remove_check_constraint :users, name: \"users_some_column_null\"\n  end\n\n  def down\n    add_check_constraint :users, \"some_column IS NOT NULL\", name: \"users_some_column_null\", validate: false\n    change_column_null :users, :some_column, true\n  end\nend\n```\n\n### Adding a column with a volatile default value\n\n#### Bad\n\nAdding a column with a volatile default value to an existing table causes the entire table to be rewritten. During this time, reads and writes are blocked.\n\n```ruby\nclass AddSomeColumnToUsers \u003c ActiveRecord::Migration[8.1]\n  def change\n    add_column :users, :some_column, :uuid, default: \"gen_random_uuid()\"\n  end\nend\n```\n\n#### Good\n\nInstead, add the column without a default value, then change the default.\n\n```ruby\nclass AddSomeColumnToUsers \u003c ActiveRecord::Migration[8.1]\n  def up\n    add_column :users, :some_column, :uuid\n    change_column_default :users, :some_column, from: nil, to: \"gen_random_uuid()\"\n  end\n\n  def down\n    remove_column :users, :some_column\n  end\nend\n```\n\nThen [backfill the data](#backfilling-data).\n\n### Renaming a schema\n\n#### Bad\n\nRenaming a schema that’s in use will cause errors in your application.\n\n```ruby\nclass RenameUsersToCustomers \u003c ActiveRecord::Migration[8.1]\n  def change\n    rename_schema :users, :customers\n  end\nend\n```\n\n#### Good\n\nA safer approach is to:\n\n1. Create a new schema\n2. Write to both schemas\n3. Backfill data from the old schema to the new schema\n4. Move reads from the old schema to the new schema\n5. Stop writing to the old schema\n6. Drop the old schema\n\n### Keeping non-unique indexes to three columns or less\n\n#### Bad\n\nAdding a non-unique index with more than three columns rarely improves performance.\n\n```ruby\nclass AddSomeIndexToUsers \u003c ActiveRecord::Migration[8.1]\n  def change\n    add_index :users, [:a, :b, :c, :d]\n  end\nend\n```\n\n#### Good\n\nInstead, start an index with columns that narrow down the results the most.\n\n```ruby\nclass AddSomeIndexToUsers \u003c ActiveRecord::Migration[8.1]\n  def change\n    add_index :users, [:d, :b]\n  end\nend\n```\n\nFor Postgres, be sure to add them concurrently.\n\n## Assuring Safety\n\nTo mark a step in the migration as safe, despite using a method that might otherwise be dangerous, wrap it in a `safety_assured` block.\n\n```ruby\nclass MySafeMigration \u003c ActiveRecord::Migration[8.1]\n  def change\n    safety_assured { remove_column :users, :some_column }\n  end\nend\n```\n\nCertain methods like `execute` and `change_table` cannot be inspected and are prevented from running by default. Make sure what you’re doing is really safe and use this pattern.\n\n## Safe by Default\n\nMake certain operations safe by default. This allows you to write the code under the \"Bad\" section, but the migration will be performed as if you had written the \"Good\" version.\n\n- adding and removing an index\n- adding a foreign key\n- adding a check constraint\n- setting NOT NULL on an existing column\n\nAdd to `config/initializers/strong_migrations.rb`:\n\n```ruby\nStrongMigrations.safe_by_default = true\n```\n\n## Custom Checks\n\nAdd your own custom checks with:\n\n```ruby\nStrongMigrations.add_check do |method, args|\n  if method == :add_index \u0026\u0026 args[0].to_s == \"users\"\n    stop! \"No more indexes on the users table\"\n  end\nend\n```\n\nUse the `stop!` method to stop migrations.\n\nNote: Since `remove_column` always requires a `safety_assured` block, it’s not possible to add a custom check for `remove_column` operations.\n\n## Opt-in Checks\n\n### Removing an index non-concurrently\n\nPostgres supports removing indexes concurrently, but removing them non-concurrently shouldn’t be an issue for most applications. You can enable this check with:\n\n```ruby\nStrongMigrations.enable_check(:remove_index)\n```\n\n## Disable Checks\n\nDisable specific checks with:\n\n```ruby\nStrongMigrations.disable_check(:add_index)\n```\n\nCheck the [source code](https://github.com/ankane/strong_migrations/blob/master/lib/strong_migrations/error_messages.rb) for the list of keys.\n\n## Skip Databases\n\nSkip checks and other functionality for specific databases with:\n\n```ruby\nStrongMigrations.skip_database(:catalog)\n```\n\nNote: This does not affect `alphabetize_schema`.\n\n## Down Migrations / Rollbacks\n\nBy default, checks are disabled when migrating down. Enable them with:\n\n```ruby\nStrongMigrations.check_down = true\n```\n\n## Custom Messages\n\nTo customize specific messages, create an initializer with:\n\n```ruby\nStrongMigrations.error_messages[:add_column_default] = \"Your custom instructions\"\n```\n\nCheck the [source code](https://github.com/ankane/strong_migrations/blob/master/lib/strong_migrations/error_messages.rb) for the list of keys.\n\n## Migration Timeouts\n\nIt’s extremely important to set a short lock timeout for migrations. This way, if a migration can’t acquire a lock in a timely manner, other statements won’t be stuck behind it. We also recommend setting a long statement timeout so migrations can run for a while.\n\nCreate `config/initializers/strong_migrations.rb` with:\n\n```ruby\nStrongMigrations.lock_timeout = 10.seconds\nStrongMigrations.statement_timeout = 1.hour\n```\n\nOr set the timeouts directly on the database user that runs migrations. For Postgres, use:\n\n```sql\nALTER ROLE myuser SET lock_timeout = '10s';\nALTER ROLE myuser SET statement_timeout = '1h';\n```\n\nNote: If you use PgBouncer in transaction mode, you must set timeouts on the database user.\n\n## App Timeouts\n\nWe recommend adding timeouts to `config/database.yml` to prevent connections from hanging and individual queries from taking up too many resources in controllers, jobs, the Rails console, and other places.\n\nFor Postgres:\n\n```yml\nproduction:\n  connect_timeout: 5\n  variables:\n    statement_timeout: 15s\n    lock_timeout: 10s\n```\n\nNote: If you use PgBouncer in transaction mode, you must set the statement and lock timeouts on the database user as shown above.\n\nFor MySQL:\n\n```yml\nproduction:\n  connect_timeout: 5\n  read_timeout: 5\n  write_timeout: 5\n  variables:\n    max_execution_time: 15000 # ms\n    lock_wait_timeout: 10 # sec\n\n```\n\nFor MariaDB:\n\n```yml\nproduction:\n  connect_timeout: 5\n  read_timeout: 5\n  write_timeout: 5\n  variables:\n    max_statement_time: 15 # sec\n    lock_wait_timeout: 10 # sec\n```\n\nFor HTTP connections, Redis, and other services, check out [this guide](https://github.com/ankane/the-ultimate-guide-to-ruby-timeouts).\n\n## Invalid Indexes\n\nIn Postgres, adding an index non-concurrently can leave behind an invalid index if the lock timeout is reached. Running the migration again can result in an error.\n\nTo automatically remove the invalid index when the migration runs again, use:\n\n```ruby\nStrongMigrations.remove_invalid_indexes = true\n```\n\n## Lock Timeout Retries\n\nNote: This feature is experimental.\n\nThere’s the option to automatically retry statements for migrations when the lock timeout is reached. Here’s how it works:\n\n- If a lock timeout happens outside a transaction, the statement is retried\n- If it happens inside the DDL transaction, the entire migration is retried (only applicable to Postgres)\n\nAdd to `config/initializers/strong_migrations.rb`:\n\n```ruby\nStrongMigrations.lock_timeout_retries = 3\n```\n\nSet the delay between retries with:\n\n```ruby\nStrongMigrations.lock_timeout_retry_delay = 10.seconds\n```\n\n## Existing Migrations\n\nTo mark migrations as safe that were created before installing this gem, create an initializer with:\n\n```ruby\nStrongMigrations.start_after = 20250101000000\n```\n\nUse the version from your latest migration.\n\n## Target Version\n\nIf your development database version is different from production, you can specify the production version so the right checks run in development.\n\n```ruby\nStrongMigrations.target_version = 10 # or 8.0, 10.5, etc\n```\n\nThe major version works well for Postgres, while the major and minor version is recommended for MySQL and MariaDB.\n\nFor safety, this option only affects development and test environments. In other environments, the actual server version is always used.\n\nIf your app has multiple databases with different versions, you can use:\n\n```ruby\nStrongMigrations.target_version = {primary: 13, catalog: 15}\n```\n\n## Analyze Tables\n\nAnalyze tables automatically (to update planner statistics) after an index is added. Create an initializer with:\n\n```ruby\nStrongMigrations.auto_analyze = true\n```\n\n## Faster Migrations\n\nOnly dump the schema when adding a new migration. If you use Git, add to the end of your `Rakefile`:\n\n```rb\ntask :faster_migrations do\n  ActiveRecord.dump_schema_after_migration = Rails.env.development? \u0026\u0026\n    `git status db/migrate/ --porcelain`.present?\nend\n\ntask \"db:migrate\" =\u003e \"faster_migrations\"\n```\n\n## Schema Sanity\n\nWith Active Record \u003c 8.1, columns can flip order in `db/schema.rb` when you have multiple developers. One way to prevent this is to [alphabetize them](https://www.pgrs.net/2008/03/12/alphabetize-schema-rb-columns/). Add to `config/initializers/strong_migrations.rb`:\n\n```ruby\nStrongMigrations.alphabetize_schema = true\n```\n\n## Permissions\n\nWe recommend using a [separate database user](https://ankane.org/postgres-users) for migrations when possible so you don’t need to grant your app user permission to alter tables.\n\n## Smaller Projects\n\nYou probably don’t need this gem for smaller projects, as operations that are unsafe at scale can be perfectly safe on smaller, low-traffic tables.\n\n## Additional Reading\n\n- [PostgreSQL at Scale: Database Schema Changes Without Downtime](https://medium.com/braintree-product-technology/postgresql-at-scale-database-schema-changes-without-downtime-20d3749ed680)\n- [MySQL InnoDB Online DDL Operations](https://dev.mysql.com/doc/refman/en/innodb-online-ddl-operations.html)\n- [MariaDB InnoDB Online DDL Overview](https://mariadb.com/kb/en/innodb-online-ddl-overview/)\n\n## Credits\n\nThanks to Bob Remeika and David Waller for the [original code](https://github.com/foobarfighter/safe-migrations) and [Sean Huber](https://github.com/LendingHome/zero_downtime_migrations) for the bad/good readme format.\n\n## History\n\nView the [changelog](https://github.com/ankane/strong_migrations/blob/master/CHANGELOG.md)\n\n## Contributing\n\nEveryone is encouraged to help improve this project. Here are a few ways you can help:\n\n- [Report bugs](https://github.com/ankane/strong_migrations/issues)\n- Fix bugs and [submit pull requests](https://github.com/ankane/strong_migrations/pulls)\n- Write, clarify, or fix documentation\n- Suggest or add new features\n\nTo get started with development:\n\n```sh\ngit clone https://github.com/ankane/strong_migrations.git\ncd strong_migrations\nbundle install\n\n# Postgres\ncreatedb strong_migrations_test\nbundle exec rake test\n\n# MySQL and MariaDB\nmysqladmin create strong_migrations_test\nADAPTER=mysql2 bundle exec rake test\n```\n","funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["activerecord","mvc","activejob","rspec","rubocop","code-formatter","static-code-analysis","rubygems","static-analysis","ruby-gem"],"project_url":"https://ruby.ecosyste.ms/api/v1/projects/406","html_url":"https://ruby.ecosyste.ms/projects/406"}