Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
13809f1
WEB-8347: rm unused field_declaration_dsl and spec
ColinDKelley Aug 18, 2025
b8ac309
WEB-8347: bump v3.1.0 pre-release; update CHANGELOG
ColinDKelley Aug 18, 2025
947f85e
WEB-8347: add support for HABTM to refer to primary keys of arbitrary…
ColinDKelley Aug 18, 2025
f0a4275
WEB-8347: _infer_foreign_key_field_spec
ColinDKelley Aug 19, 2025
d605798
WEB-8347: rename vars and add comments for clarity
ColinDKelley Aug 19, 2025
4efb1a5
WEB-8347: defer belongs_to FK type to migration-generation time
ColinDKelley May 2, 2026
0f11212
WEB-8347: fix habtm_model_shim_spec.rb after constructor signature drift
ColinDKelley May 2, 2026
e07a6c1
WEB-8347: add specs for non-default primary key foreign key mirroring
ColinDKelley May 2, 2026
8a32447
WEB-8347: extract _parse_pk_table_options helper
ColinDKelley May 2, 2026
24f1fc0
WEB-8347: tighten resolver: contract to always return a FieldSpec
ColinDKelley May 2, 2026
7490b1e
CI: unpin bundler so Ruby 3.4 runs again
ColinDKelley May 2, 2026
b30b7fd
WEB-8347: drop Rails 6.x support
ColinDKelley May 2, 2026
2d46e06
WEB-8347: refresh brakeman ignore for current command.rb fingerprints
ColinDKelley May 2, 2026
633edd3
WEB-8347: bump rexml to clear bundler-audit CVEs
ColinDKelley May 2, 2026
556205d
WEB-8347: swap position in brakeman.ignore so diff is more accurate
ColinDKelley May 2, 2026
533632c
WEB-8347: bump pre-release to 3.1.0.colin.2
ColinDKelley May 2, 2026
fdba69c
WEB-8347: drop dead defaults from FieldSpec#foreign_key_field_spec
ColinDKelley May 2, 2026
a906cb2
WEB-8347: DRY default PK type via DeclareSchema.default_generated_pri…
ColinDKelley May 2, 2026
51e17ee
WEB-8347: HabtmModelShim#primary_key returns the composite FK array
ColinDKelley May 2, 2026
b28e065
WEB-8347: rename resolver arg 'placeholder' -> 'default_spec'
ColinDKelley May 2, 2026
f03fea7
WEB-8347: promote :resolver to a first-class FieldSpec attribute
ColinDKelley May 2, 2026
461d26b
WEB-8347: derive Migrator add-PK fallback from default_generated_prim…
ColinDKelley May 2, 2026
b46775c
WEB-8347: move migrator default PK type spec under spec/lib/generators/
ColinDKelley May 2, 2026
340a949
Drop ticket prefix from test context name
ColinDKelley May 2, 2026
c0eb4ed
WEB-8347: encapsulate resolver invocation behind FieldSpec#resolve
ColinDKelley May 2, 2026
f9759f9
WEB-8347: fix STI-subclass and HABTM-shim crashes during migration ge…
ColinDKelley May 3, 2026
0b00a37
WEB-8347: simplify FK/PK mirroring and add YARD docs
ColinDKelley May 4, 2026
1bbff86
WEB-8347: take FieldSpec resolver as a block, not a kwarg
ColinDKelley May 4, 2026
6be2c0a
WEB-8347: extract DeferredFieldSpec for deferred FK resolution
ColinDKelley May 4, 2026
aca5d32
Bump VERSION to 3.1.0.colin.3
ColinDKelley May 4, 2026
38559a3
Fix postgres CI: drop sqlite-only AUTOINCREMENT in migrator default P…
ColinDKelley May 4, 2026
ead749b
Tidy `_pk_column_for`: try(:_declared_primary_key), drop redundant to_s
ColinDKelley May 4, 2026
b10a77c
Replace ternary in `_field_spec_options_from_pk_column`; YARD-documen…
ColinDKelley May 4, 2026
4fefc8a
YARD-document `Migrator.habtm_tables`
ColinDKelley May 4, 2026
47517d0
WEB-8347: release v4.0.0; update CHANGELOG
ColinDKelley May 5, 2026
a595646
WEB-8347: pin bundler to 2.5 per Copilot suggestion
ColinDKelley May 5, 2026
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
2 changes: 1 addition & 1 deletion .github/workflows/pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ jobs:
- uses: ruby/setup-ruby@v1
with:
ruby-version: ${{matrix.ruby}}
bundler: 2.2.29
bundler: 2.5
bundler-cache: true
- name: Setup
run: |
Expand Down
11 changes: 10 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,16 @@ Inspired by [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).

Note: this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [3.0.0] - Unreleased
## [4.0.0] - 2026-05-05
### Added
- Generalized `belongs_to` foreign keys to always match the primary key they point at, including
in HABTM intersection tables. (Previously this was just a special case that matched up
:integer vs :bigint.)

### Removed
- Drop support for Rails 6.x. Minimum supported Rails is now 7.0.

Comment on lines 5 to +15
## [3.0.0] - 2025-04-08
### Changed
- The `timestamps` DSL method to create `created_at` and `updated_at` columns now defaults to `null: false` for `datetime` columns
- The `timestamps` DSL method to allow additional options to be passed to the `datetime` fields
Expand Down
2 changes: 1 addition & 1 deletion Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ gem 'mail'
gem 'net-smtp'
gem 'pry'
gem 'pry-byebug'
gem 'rails', '~> 6.0'
gem 'rails', '~> 7.0'
gem 'responders'
gem 'rspec'
gem 'rspec-its'
Expand Down
Loading
Loading