diff --git a/NEWS.md b/NEWS.md index c88f7284e..e0c365dca 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,5 +1,23 @@ # News +## 6.5.6 (October 22, 2025) + +* Fix: Enforce association override precedence over trait foreign keys by @JinOketani in [#1768](https://github.com/thoughtbot/factory_bot/pull/1768) +* Build: Add ostruct as a development dependency by @ydah in [#1778](https://github.com/thoughtbot/factory_bot/pull/1778) +* Build: Bump standard from v1.44.0 to v1.51.1 by @ydah in [#1779](https://github.com/thoughtbot/factory_bot/pull/1779) +* Build: Add Ruby 3.4 to CI matrix by @ydah in [#1780](https://github.com/thoughtbot/factory_bot/pull/1780) +* Build: Remove unnecessary development dependencies by @ydah in [#1781](https://github.com/thoughtbot/factory_bot/pull/1781) +* Build: update gem versions and dependencies by @ydah in [#1782](https://github.com/thoughtbot/factory_bot/pull/1782) +* Build: revert removal of mutex_m by @vburzynski in [#1784](https://github.com/thoughtbot/factory_bot/pull/1784) +* Refactor: factory calculator cleanup by @vburzynski in [#1770](https://github.com/thoughtbot/factory_bot/pull/1770) +* Chore(ci): Bump actions/checkout from 4 to 5 by @dependabot[bot] in [#1765](https://github.com/thoughtbot/factory_bot/pull/1765) +* Chore(specs): tag slow specs by @vburzynski in [#1776](https://github.com/thoughtbot/factory_bot/pull/1776) +* Docs: Update RELEASING.md by @vburzynski in [#1763](https://github.com/thoughtbot/factory_bot/pull/1763) +* Docs: Update link to FactoryGirl upgrade guide by @imRohan in [#1769](https://github.com/thoughtbot/factory_bot/pull/1769) +* Docs: Fix some typos by @ydah in [#1783](https://github.com/thoughtbot/factory_bot/pull/1783) +* Docs(yard): resolve yard doc warnings by @vburzynski in [#1764](https://github.com/thoughtbot/factory_bot/pull/1764) +* Docs(yard): ruby syntax highlighting in yard docs by @djbender in [#1777](https://github.com/thoughtbot/factory_bot/pull/1777) + ## 6.5.5 (August 15, 2025) * Feat: Adds developer console features (CodeMeister) diff --git a/RELEASING.md b/RELEASING.md index d0c280678..ee640c99d 100644 --- a/RELEASING.md +++ b/RELEASING.md @@ -1,29 +1,57 @@ # Releasing 1. Create a release branch using the naming scheme `release-x.x.x` + + ```shell + git checkout main + git pull + git checkout -b release-x.x.x + ``` + 2. Bump the `VERSION` inside `lib/factory_bot/version.rb` + 3. Run `bundle install` to ensure the `Gemfile.lock` file is up to date. -4. Update `NEWS.md` to reflect the changes since last release. - A useful GitHub URL to compare the changes is: - `https://github.com/thoughtbot/factory_bot/compare/vLAST_VERSION...main` -5. Commit the changes. + +4. Generate release notes using [GitHub's New Release](https://github.com/thoughtbot/factory_bot/releases/new) feature. + + 1. Click the tags drop down and select "Create new tag" + 2. Fill in the create new tag modal and select "Create" + Note: This is a safe step as the tag will not be created unless the release is published + 3. Click the "Generate release notes" button + 4. Copy the generated text from the "What's Changed" section, for use when updating `NEWS.md` in the next step. + +5. Update `NEWS.md` to reflect the changes since last release. + + 1. Add a heading with the version number and date + 2. Paste the release notes you copied from the previous step + Note: A useful GitHub URL to compare the changes is: + `https://github.com/thoughtbot/factory_bot/compare/vLAST_VERSION...main` + +6. Commit the changes. Note: As there shouldn't be code changes, CI doesn't need to run. You can add `[ci skip]` to the commit message to skip it. -6. Create a Pull Request, get it reviewed, and merge it to the `main` branch once approved. -7. Back on your machine, switch to the `main` branch and tag the latest commit with the release version: `git tag -s vVERSION` + +7. Create a Pull Request, get it reviewed, and merge it to the `main` branch once approved. + +8. Back on your machine, switch to the `main` branch and tag the latest commit with the release version: `git tag -s vVERSION` + - We recommend the [_quick guide on how to sign a release_] from git ready. -8. Push your changes: `git push && git push --tags` -9. If you haven't already, add yourself as an owner of the `factory_bot` gem on [rubygems.org](https://rubygems.org/) using [the guide in the thoughtbot handbook](https://github.com/thoughtbot/handbook/blob/main/operations/services/rubygems.md#managing-rubygems) -10. Build and publish the gem: + +9. Push your changes: `git push && git push --tags` + +10. If you haven't already, add yourself as an owner of the `factory_bot` gem on [rubygems.org](https://rubygems.org/) using [the guide in the thoughtbot handbook](https://github.com/thoughtbot/handbook/blob/main/operations/services/rubygems.md#managing-rubygems) + +11. Build and publish the gem: ```bash gem build factory_bot.gemspec gem push factory_bot-VERSION.gem ``` -11. On GitHub, add a new release using the recent `NEWS.md` as the content. Sample +12. On GitHub, add a new release using the recent `NEWS.md` as the content. Sample URL: `https://github.com/thoughtbot/factory_bot/releases/new?tag=vVERSION` -12. Announce the new release, making sure to say "thank you" to the contributors who helped shape this version! + +13. Announce the new release, making sure to say "thank you" to the contributors who helped shape this version! thoughtbotters can refer to the handbook for announcements guidelines. [_quick guide on how to sign a release_]: http://gitready.com/advanced/2014/11/02/gpg-sign-releases.html diff --git a/lib/factory_bot/version.rb b/lib/factory_bot/version.rb index 71870ed84..6f94888e1 100644 --- a/lib/factory_bot/version.rb +++ b/lib/factory_bot/version.rb @@ -1,3 +1,3 @@ module FactoryBot - VERSION = "6.5.5".freeze + VERSION = "6.5.6".freeze end