Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions NEWS.md
Original file line number Diff line number Diff line change
@@ -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)
Expand Down
50 changes: 39 additions & 11 deletions RELEASING.md
Original file line number Diff line number Diff line change
@@ -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
2 changes: 1 addition & 1 deletion lib/factory_bot/version.rb
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
module FactoryBot
VERSION = "6.5.5".freeze
VERSION = "6.5.6".freeze
end