suspenders 20240516.0 → 20251219.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. checksums.yaml +4 -4
  2. data/.ruby-version +1 -0
  3. data/CODEOWNERS +9 -0
  4. data/CONTRIBUTING.md +71 -0
  5. data/FEATURES.md +177 -0
  6. data/GOALS.md +65 -0
  7. data/LICENSE +21 -0
  8. data/NEWS.md +808 -0
  9. data/README.md +73 -60
  10. data/RELEASING.md +18 -0
  11. data/Rakefile +7 -10
  12. data/SECURITY.md +19 -0
  13. data/exe/suspenders +38 -0
  14. data/lib/suspenders/cli.rb +64 -0
  15. data/lib/suspenders/version.rb +4 -4
  16. data/lib/suspenders.rb +5 -6
  17. data/lib/templates/Procfile +3 -0
  18. data/lib/templates/Procfile.dev +2 -0
  19. data/lib/{generators/templates/views/flashes.html.erb → templates/app/views/application/_flashes.html.erb} +4 -2
  20. data/lib/templates/app/views/application/_form_errors.html.erb +11 -0
  21. data/lib/templates/config/initializers/sidekiq.rb +14 -0
  22. data/lib/templates/lib/development/seeder.rb +21 -0
  23. data/lib/templates/lib/tasks/development.rake +15 -0
  24. data/lib/templates/spec/support/action_mailer.rb +11 -0
  25. data/lib/{generators/templates/factories/factory_bot_rspec.rb → templates/spec/support/factory_bot.rb} +0 -2
  26. data/lib/templates/web.rb +544 -0
  27. data/sig/suspenders.rbs +4 -0
  28. metadata +34 -120
  29. data/lib/generators/suspenders/accessibility_generator.rb +0 -24
  30. data/lib/generators/suspenders/advisories_generator.rb +0 -32
  31. data/lib/generators/suspenders/ci_generator.rb +0 -57
  32. data/lib/generators/suspenders/email_generator.rb +0 -56
  33. data/lib/generators/suspenders/environments/development_generator.rb +0 -50
  34. data/lib/generators/suspenders/environments/production_generator.rb +0 -27
  35. data/lib/generators/suspenders/environments/test_generator.rb +0 -39
  36. data/lib/generators/suspenders/factories_generator.rb +0 -64
  37. data/lib/generators/suspenders/inline_svg_generator.rb +0 -24
  38. data/lib/generators/suspenders/install/web_generator.rb +0 -71
  39. data/lib/generators/suspenders/jobs_generator.rb +0 -34
  40. data/lib/generators/suspenders/lint_generator.rb +0 -94
  41. data/lib/generators/suspenders/prerequisites_generator.rb +0 -19
  42. data/lib/generators/suspenders/rake_generator.rb +0 -25
  43. data/lib/generators/suspenders/setup_generator.rb +0 -14
  44. data/lib/generators/suspenders/styles_generator.rb +0 -84
  45. data/lib/generators/suspenders/tasks_generator.rb +0 -20
  46. data/lib/generators/suspenders/testing_generator.rb +0 -113
  47. data/lib/generators/suspenders/views_generator.rb +0 -38
  48. data/lib/generators/templates/ci/ci.yml.tt +0 -148
  49. data/lib/generators/templates/ci/dependabot.yml +0 -7
  50. data/lib/generators/templates/email/email_interceptor.rb +0 -11
  51. data/lib/generators/templates/factories/factories.rb +0 -2
  52. data/lib/generators/templates/factories/factories_test.rb +0 -9
  53. data/lib/generators/templates/inline_svg/inline_svg.rb +0 -3
  54. data/lib/generators/templates/install/web/CONTRIBUTING.md +0 -94
  55. data/lib/generators/templates/lint/config_better_html.yml +0 -2
  56. data/lib/generators/templates/lint/config_initializers_better_html.rb +0 -9
  57. data/lib/generators/templates/lint/erb-lint.yml +0 -63
  58. data/lib/generators/templates/lint/erblint.rake +0 -47
  59. data/lib/generators/templates/lint/eslintrc.json +0 -7
  60. data/lib/generators/templates/lint/package.json +0 -4
  61. data/lib/generators/templates/lint/prettierignore +0 -1
  62. data/lib/generators/templates/lint/prettierrc +0 -11
  63. data/lib/generators/templates/lint/rubocop.yml.tt +0 -7
  64. data/lib/generators/templates/lint/stylelintrc.json +0 -3
  65. data/lib/generators/templates/prerequisites/node-version.tt +0 -1
  66. data/lib/generators/templates/setup/bin_setup.rb +0 -39
  67. data/lib/generators/templates/styles/postcss.config.js +0 -11
  68. data/lib/generators/templates/tasks/dev.rake +0 -12
  69. data/lib/generators/templates/testing/action_mailer.rb +0 -5
  70. data/lib/install/web.rb +0 -54
  71. data/lib/suspenders/cleanup/generate_readme.rb +0 -165
  72. data/lib/suspenders/cleanup/organize_gemfile.rb +0 -134
  73. data/lib/suspenders/engine.rb +0 -5
  74. data/lib/suspenders/generators.rb +0 -126
  75. data/lib/suspenders/railtie.rb +0 -4
  76. data/lib/tasks/suspenders.rake +0 -37
  77. /data/lib/{generators/templates/factories → templates/spec}/factories_spec.rb +0 -0
  78. /data/lib/{generators/templates/testing → templates/spec/support}/driver.rb +0 -0
  79. /data/lib/{generators/templates/testing → templates/spec/support}/i18n.rb +0 -0
  80. /data/lib/{generators/templates/testing → templates/spec/support}/shoulda_matchers.rb +0 -0
data/NEWS.md ADDED
@@ -0,0 +1,808 @@
1
+ Unreleased
2
+
3
+ 20251219.0 (December 19, 2025)
4
+
5
+ Reintroduce system executable.
6
+
7
+ * Added: New apps can now be generated with `suspenders new <app_name>`.
8
+ * Added: `config.active_record.strict_loading_mode = :n_plus_one_only` in `application.rb`.
9
+ * Added: `config.active_record.strict_loading_by_default = true` in `application.rb`
10
+ * Added: `config.action_mailer.default_url_options = { host: ENV.fetch("APPLICATION_HOST") }` in `production.rb`.
11
+ * Added: `config.asset_host = ENV["ASSET_HOST"]` in `production.rb`.
12
+ * Added: `config.active_record.action_on_strict_loading_violation = :log` in `production.rb`.
13
+ * Added: `config.sandbox_by_default = true` in `production.rb`.
14
+ * Added: `config.generators.apply_rubocop_autocorrect_after_generate! = true` in `development.rb`.
15
+ * Added: `app/views/application/_form_errors.html.erb`.
16
+ * Removed: Removed `dev:prime` in favor of `development:db:seed` and `development:db:seed:replant`.
17
+ * Removed: Custom linting in favor of default Rails linter.
18
+ * Removed: Advisories generator in favor of default Rails configuration.
19
+ * Removed: Dependency on PostCSS, cssbundling-rails, and modern-normalize.
20
+ * Removed: Dependency on title Gem.
21
+
22
+ 20250317.0 (March 17, 2025)
23
+
24
+ Support Rails 8.
25
+
26
+ * Fixed: [Force creation of GitHub Actions CI workflow](https://github.com/thoughtbot/suspenders/pull/1249)
27
+ * Fixed: [Remove dependabot config in favour of upstream](https://github.com/thoughtbot/suspenders/pull/1247)
28
+ * Fixed: [Switch to using yml for generated yaml files](https://github.com/thoughtbot/suspenders/pull/1246)
29
+ * Added: [Add support for Rails 8.0](https://github.com/thoughtbot/suspenders/pull/1239)
30
+ * Fixed: [Ensure `bin/setup` works](https://github.com/thoughtbot/suspenders/pull/1242)
31
+ * Fixed: [Add node_modules to .gitignore](https://github.com/thoughtbot/suspenders/pull/1235)
32
+ * Fixed: [Fix generate_readme for running the dev server](https://github.com/thoughtbot/suspenders/pull/1231)
33
+ * Added: [Allow running against suspenders main](https://github.com/thoughtbot/suspenders/pull/1230)
34
+ * Added: Require `--skip-rubocop` in favor of our [linting configuration][]
35
+ * Fixed: [Specify a tag when installing capybara_accessible_selectors](https://github.com/thoughtbot/suspenders/issues/1228)
36
+ * Fixed: [Issue 1229: How do we want to handle un-released versions?](https://github.com/thoughtbot/suspenders/issues/1229)
37
+ * Fixed: [Issue 1222: README instructions for running the development server are wrong](https://github.com/thoughtbot/suspenders/issues/1222)
38
+ * Fixed: [#1224](https://github.com/thoughtbot/suspenders/issues/1224)
39
+
40
+ [linting configuration]: https://github.com/thoughtbot/suspenders/blob/main/FEATURES.md#linting
41
+
42
+ 20240516.0 (May, 16, 2024)
43
+
44
+ "Tailored" release
45
+
46
+ * Remove `suspenders` system executable and introduce [application template][]
47
+ * Introduce `suspenders:accessibility` generator
48
+ * Introduce `suspenders:inline_svg` generator
49
+ * Introduce `suspenders:factories` generator
50
+ * Introduce `suspenders:advisories` generator
51
+ * Introduce `suspenders:styles` generator
52
+ * Introduce `suspenders:jobs` generator
53
+ * Introduce `suspenders:lint` generator
54
+ * Introduce `suspenders:rake` generator
55
+ * Introduce `suspenders:views` generator
56
+ * Introduce `suspenders:setup` generator
57
+ * Introduce `suspenders:tasks` generator
58
+ * Introduce `suspenders:db:migrate` task
59
+ * Introduce `suspenders:email` generator
60
+ * Introduce `suspenders:testing` generator
61
+ * Introduce `suspenders:prerequisites` generator
62
+ * Introduce `suspenders:ci` generator
63
+ * Introduce `suspenders:cleanup:organize_gemfile` task
64
+ * Introduce `suspenders:environments:production` generator
65
+ * Introduce `suspenders:environments:test` generator
66
+ * Introduce `suspenders:environments:development` generator
67
+ * Introduce `suspenders:install:web` generator
68
+
69
+ [application template]: https://guides.rubyonrails.org/rails_application_templates.html
70
+
71
+ 20230113.0 (January, 13, 2023)
72
+
73
+ Support Rails 7 and Ruby 3. Introduce CalVer.
74
+
75
+ * Upgraded: Ruby to 3.0.5
76
+ * Upgraded: Supported Rails version to 7.0.0
77
+ * Removed: Bourbon
78
+ * Removed: Bitters
79
+ * Removed: Autoprefixer Rails
80
+ * Added: cssbundling-rails
81
+ * Added: PostCSS Autoprefixer
82
+ * Added: PostCSS Normalize
83
+
84
+ 1.56.1 (July 17, 2022)
85
+
86
+ Fixes a critical error with the previous release
87
+
88
+ * Run database migrations as the last step of bin/suspenders
89
+ * Fix bundler error on bin/suspenders script
90
+
91
+ 1.56.0 (July 4, 2022)
92
+
93
+ Maintenance release
94
+
95
+ * Fixed: Make Suspenders fail if running with an unsupported Rails version
96
+ * Added: Update default configuration to use request specs
97
+ * Added: Add missing Errno::ECONNREFUSED to HTTP_ERRORS
98
+ * Fixed: Drop use of git in gemspec
99
+ * Fixed: Enforce bundler >= 2.1.0
100
+ * Fixed: Make suspenders abort when something goes wrong
101
+ * Fixed: Reliability and aesthetics of the config files comment stripper
102
+ * Fixed: ActionMailer asset host in the production configuration
103
+ * Added: Configure the oj gem (fast JSON parsing) when generating a new application
104
+ * Fixed: Improve error message of the match_contents matcher
105
+ * Fixed: Convert generator tests to unit tests thus speeding up the test suite
106
+ * Removed: Preloader generator / spring
107
+ * Added: Pull in DATABASE_URL env var explicitly in database.yml
108
+ * Removed: Travis CI configuration
109
+ * Upgraded: Ruby to version 2.7.4
110
+ * Added: A GitHub Action for CI
111
+ * Fixed: Run bin/suspenders in both CLI and tests against a fixed Rails version
112
+
113
+ 1.55.1 (September 11, 2020)
114
+
115
+ * Fixed: Missing newline in generated development config
116
+
117
+ 1.55.0 (July 15, 2020)
118
+
119
+ * Changed: lint generator to install standard instead of RuboCop
120
+ * Changed: profile generator and timeout generator to write to `.sample.env`
121
+ instead of `.env`
122
+
123
+ 1.54.1 (June 30, 2020)
124
+
125
+ * Fixed: invalid Gemfile entry for bundler-audit
126
+ * Fixed: Deprecation warning for `Bundler.with_clean_env`
127
+
128
+ 1.54.0 (June 24, 2020)
129
+
130
+ * New generator: `suspenders:single_redirect` for setting up `Rack::CanonicalHost`
131
+ * New generator: `suspenders:production:compression` for setting up `Rack::Deflater`
132
+ * New generator: `suspenders:preloader` for managing spring
133
+ * New generator: `suspenders:advisories` for installing bundler-audit
134
+ * New generator: `suspenders:profiler` for setting up rack\_mini\_profiler
135
+ * New generator: `suspenders:runner` for making an app runnable locally
136
+ * Added: generator descriptions
137
+ * Added: Heroku release phase for running database migrations
138
+ * Added: automatic buildpack configuration for Heroku
139
+ * Added: system test configuration to opt into JavaScript as needed
140
+ * Added: spring-watcher-listen gem
141
+ * Changed: from `chromedriver-helper` to `webdrivers`
142
+ * Changed: replace `heroku join` calls with `heroku apps:info` in `bin/setup`
143
+ * Changed: check environment instead of `DATABASE\_URL` in test helper
144
+ * Fixed: `ExpandJson` merging
145
+ * Fixed: spacing in the generated config file
146
+ * Upgraded: bitters to version 2.x
147
+ * Upgraded: bourbon to version 6.x
148
+ * Upgraded: Ruby to version 2.6.6
149
+ * Removed: neat gem
150
+ * Removed: ctags configuration
151
+ * Removed: custom placeholder directories
152
+ * Removed: customization for error pages
153
+ * Removed: custom Puma config
154
+
155
+ 1.53.0 (August 23, 2019)
156
+ * Upgraded: Rails 6.0.
157
+ * New generator: `suspenders:inline_svg` for setting up the inline_svg gem.
158
+ * Changed: silence Puma's startup messages in JS specs.
159
+ * Changed: improve chromedriver configuration.
160
+ * Added: documentation for deploying to Heroku.
161
+ * Fixed: indentation in production config file.
162
+
163
+ 1.52.0 (June 7, 2019)
164
+ * Changed: Setup system tests instead of feature specs
165
+ * Upgraded: Rails 5.2.3
166
+
167
+ 1.51.0 (April 26, 2019)
168
+
169
+ * Changed: from sass-rails to sassc-rails.
170
+ * Upgraded: Ruby 2.6.3.
171
+ * Fixed: Avoid installing autoprefixer-rails in api mode
172
+ * New generator: `suspenders:stylelint` for setting up stylelint.
173
+ * New generator: `suspenders:production:manifest` for app.json.
174
+ * New generator: `suspenders:production:deployment` for bin/deploy script.
175
+
176
+ 1.50.0 (December 28, 2018)
177
+
178
+ * Removed: jquery-rails.
179
+ * Changed: default FactoryBot to `use_parent_strategy = true`.
180
+ * Upgraded: Ruby 2.5.3.
181
+ * Fixed: set `ASSET_HOST` and `APPLICATION_HOST` at top of `production.rb`.
182
+ * Fixed: `tzinfo-data` gem for Windows.
183
+ * New generator: `suspenders:json` for JSON parsing.
184
+ * New generator: `suspenders:staging:pull_requests` for Heroku app per PR.
185
+
186
+ 1.49.0 (October 19, 2018)
187
+
188
+ * Removed: NOODP robots meta tags
189
+ * Removed: flutie gem and body class in application layout
190
+ * Upgraded: remove version constraint for pg gem
191
+ * Fixed: install JavaScript dependencies in bin/setup
192
+ * Fixed: include action_mailer SMTP settings in production config
193
+
194
+ 1.48.0 (August 10, 2018)
195
+
196
+ * Bug fix: change production timeouts generator to use working configuration
197
+ method with latest version of Rack::Timeout
198
+ * Bug fix: Only add email environment requirements if configuring for email
199
+ * Breaking: Replace capybara-webkit with chromedriver
200
+
201
+ 1.47.0 (May 25, 2018)
202
+
203
+ * Bug fix: normalize.css Sass import is concatenated with other styles now
204
+ * Bug fix: the suspenders gem itself is not needed in production
205
+ * Bug fix: bundle install after adding a gem
206
+ * Breaking: remove Refills
207
+ * Breaking: rename suspenders:enforce_ssl to suspenders:production:force_tls
208
+ * Upgrade: update to Ruby 2.5.1
209
+ * Upgrade: update to Rails 5.2.0
210
+ * New generator: production email
211
+ * New generator: production timeouts
212
+
213
+ 1.46.0 (January 26, 2018)
214
+
215
+ * Bug fix: Fix for action mailer asset_host
216
+ * Bug fix: Lock pg to ~> 0.18
217
+ * Breaking: Remove Database Cleaner
218
+ * Upgrade: Update to Rails 5.1.4
219
+ * Upgrade: Update to Ruby 2.5.0
220
+ * Upgrade: Update bourbon from 5.0.0.beta.8 to 5.0.0
221
+ * Upgrade: Update FactoryGirl to FactoryBot
222
+ * Generators: Analytics generator
223
+ * Generators: CI generator
224
+ * Generators: DB optimization generator
225
+ * Generators: Factories generator
226
+ * Generators: Forms generator
227
+ * Generators: Javascript driver generator
228
+ * Generators: Jobs generator
229
+ * Generators: Lint generator
230
+ * Generators: Testing driver generator
231
+ * Generators: Views generator
232
+
233
+ 1.45.0 (September 8, 2017)
234
+
235
+ * Bump Rails to 5.1.3 (#857)
236
+ * Configure HONEYBADGER_ENV for staging, production (#861)
237
+ * Remove vestigial `staging` references (#860)
238
+ * Prevent memory bloat in ActiveJob children (#856)
239
+ * .git/safe is opt-in (#837)
240
+ * Enforce SSL in production environment (#855)
241
+ * Configures action mailer asset host (#853)
242
+ * Install normalize.css via yarn (#851)
243
+ * Update Rails to 5.1 (#847)
244
+ * Update bourbon from 5.0.0.beta.7 to 5.0.0.beta.8 (#848)
245
+ * Update Neat to 2.1 (#849)
246
+ * Update Bitters to 1.7 (#850)
247
+ * Fix incorrect Timecop link (#845)
248
+ * Update Ruby to 2.4.1 (#841)
249
+ * Update rspec-rails to 3.6 (#842)
250
+ * Configure TimeCop safe mode (#840)
251
+ * Pull normalize.css through Rails Assets (#839)
252
+ * Fix fatal git failures in tests (#832)
253
+ * Schedule Heroku Backups and Capture backup of existing staging database for
254
+ Review Apps (#826)
255
+ * Use bundle-audit rake task from the gem (#831)
256
+ * Update thoughtbot logo (#829)
257
+ * Change terminal symbol in README's deploying section (#828)
258
+ * Update Segment snippet to 4.0.0 (#822)
259
+
260
+ 1.44.0 (January 25, 2017)
261
+
262
+ * Improve readability of `bin/setup-review-app` (#819)
263
+ * Update scripts to be `sh`-compatible (#820)
264
+ * Remove `rails_stdout_logging` gem (#818)
265
+ * Remove `12factor` gem (#817)
266
+ * Update Ruby to 2.4.0 (#814)
267
+
268
+ 1.43.0 (November 8, 2016)
269
+
270
+ * Update Bourbon to 5.0.0.beta.7
271
+ * Update Neat to 2.0.0.beta.1
272
+ * Update Bitters to 1.5.0
273
+ * Drop sprockets-es6
274
+ * Bugfix: doesn’t generate unused `test/` directory
275
+
276
+ 1.42.0 (July 23, 2016)
277
+
278
+ * [#784] Require refills once
279
+ * [#790] Ensure stylesheet_base generator runs with a clean bundle
280
+ * [#791] Use Rails' 5 syntax for `public_file_server.headers`
281
+ * [#792] Remove turbolinks from application.js file
282
+
283
+ 1.41.0 (July 1, 2016)
284
+
285
+ * Update to Rails 5
286
+ * Drop quiet_assets
287
+ * Drop unneeded `suspenders` aliases: `--skip-test-unit`, `--skip-turbolinks`,
288
+ `--skip-bundle`. Drops `-G` that clashes with Rails’ `--skip-git` alias.
289
+
290
+ 1.40.0 (June 25, 2016)
291
+
292
+ * Upgrade bourbon to 5.0.0.beta.6
293
+ * Update Neat to 1.8.0
294
+ * `APPLICATION_HOST` bug fix in production environment (was used before it was
295
+ defined)
296
+ * Update comment around Pipelines: it is now a Heroku core plugin
297
+ * Drop unneeded `WEB_CONCURRENCY` from `app.json` file
298
+ * Introduce a `suspenders:stylesheet_base` generator. The `application.scss`
299
+ must list the imports in a specific order. This removes the `application.css`.
300
+
301
+ 1.39.0 (May 25, 2016)
302
+
303
+ * Update to Ruby 2.3.1
304
+ * Make new apps "deployable to Heroku" by default.
305
+ * Make the help text returned when running `suspenders -h` Suspenders specific
306
+ * Bugfix: Configure `static_cache_control` in production environment
307
+ * Replace NewRelic with Skylight
308
+ * Drop initializer for disabling XML parser
309
+ * Start moving suspenders features into different Rails Generators
310
+ * Set default `application_host` in Heroku
311
+ * Update the viewport meta tag
312
+
313
+ 1.38.1 (April 20, 2016)
314
+
315
+ * Bugfix: add bitters as suspenders’ dependency back.
316
+
317
+ 1.38.0 (April 15, 2016)
318
+
319
+ * Update bourbon to `v5.0.0.beta.5`
320
+ * Drops staging environment in favor of configuration through env variables
321
+ * Bugfix: failing migrations were not making Heroku deploys fail
322
+
323
+ 1.37.0 (March 13, 2016)
324
+
325
+ * Remove `RAILS_ENV` definitions
326
+ * Set development `action_mailer.delivery_method` to `:file`
327
+ so that mails are copied to `./tmp/mails/` directory for easy development
328
+ access.
329
+ * Update Bourbon to v5.0.0.beta.3
330
+ * Update Bitters to v1.3
331
+ * Update Autoprefixer config, drop support for IE 9, IE 10 and iOS 7
332
+ * Better db support in linux environments
333
+ * Replaces coffeescript with babel
334
+ * Update CSS tests to ignore transitions
335
+
336
+ 1.36.0 (February 26, 2016)
337
+
338
+ * Update Bitters to v1.2
339
+ * Remove deprecated `fix_i18n_deprecation_warning` method
340
+ * Switch from Airbrake to Honeybadger
341
+ * Generate applications with `rack_mini_profiler` (disabled by default, enabled
342
+ by setting `RACK_MINI_PROFILER=1`)
343
+ * Heroku Pipelines bug fixes
344
+
345
+ 1.35.0 (December 30, 2015)
346
+
347
+ * Introduce Heroku Pipelines support
348
+ * Update to Ruby 2.3.0
349
+ * Heroku commands run on staging by default
350
+ * Git ignore `.env.local` instead of `.env`
351
+ * Add ability to use byebug navigation commands inside of Pry using the
352
+ `pry-byebug` gem
353
+ * Remove `i18n-tasks` from generated Gemfile
354
+ * Accessibility: Add `lang` attribute to `html` element in layout
355
+
356
+ 1.34.0 (November 15, 2015)
357
+
358
+ * Fix `block_unknown_urls` deprecation warning with capybara_webkit when running
359
+ Javascript tests
360
+ * Inherit staging's `action_mailer_host` config from production
361
+ * Suspenders command line responds to `-v` and `--version` options
362
+ * Clean up `bin/rake`
363
+ * Remove `email_validator` gem from generated Gemfile
364
+ * Fix Circle deploys by removing redundant remote
365
+ * Add `bullet` as development dependency
366
+ * Use Heroku Local (Forego) instead of Foreman
367
+ * Raise on missing Sprockets assets in test environment
368
+
369
+ 1.33.0 (October 23, 2015)
370
+
371
+ * Add `quiet_assets` as development dependency
372
+ * Reduce number of Puma processes and threads to reduce memory usage
373
+ * Move non-runtime-dependency i18n-tasks to development and test Gemfile groups
374
+ * Move non-runtime-dependency refills to the development Gemfile group
375
+ * Generate empty `spec/factories.rb` file in accordance with thoughtbot’s
376
+ styleguide
377
+ * Shoulda Matchers 3.0 configuration
378
+
379
+ 1.32.0 (October 9, 2015)
380
+
381
+ * Install Foreman automatically during setup script
382
+ * Port always defaults to 3000
383
+ * Provide shoulda-matchers config
384
+ * Set CI auto-deploy for Heroku suspended apps
385
+ * Configure capybara-webkit to block unknown URLs
386
+ * Add mandatory environment variables to .sample.env
387
+ * Other bugfixes
388
+
389
+ 1.31.0 (September 3, 2015)
390
+
391
+ * Update to Ruby 2.2.3
392
+ * Add ctags configuration dotfile
393
+ * Rename `$HOST` to `$APPLICATION_HOST` for zsh compatibility
394
+ * Update Bitters to 1.1
395
+ * Remove comments and newlines in config files
396
+ * Abort tests run if `DATABASE_URL` env variable is set
397
+
398
+ 1.30.0 (July 30, 2015)
399
+
400
+ * Update to RSpec 3.3
401
+ * Replace TravisCI with CircleCI
402
+ * Rename development data concept to avoid confusion with db/seeds
403
+ * Remove Unicorn in favor of Puma, as [recommended by Heroku]
404
+
405
+ [recommended by Heroku]: https://devcenter.heroku.com/changelog-items/594
406
+
407
+ 1.29.0 (June 16, 2015)
408
+
409
+ * Generate rake, rails and rspec binstubs with Spring
410
+ * Remove Capybara and use RSpec 3.2 for development
411
+ * Improves suspenders' test suite speed
412
+ * Refills `flashes.scss` bugfix
413
+
414
+ 1.28.0 (May 9, 2015)
415
+
416
+ * Require spec/support files in a certain order
417
+ * Use rack-canonical-host
418
+ * Swap `id="flash"` for `class="flashes"` in `_flashes.html.erb`
419
+ * Provide EXECJS_RUNTIME env variable (Node, as in Heroku)
420
+ * Removes .css file suffix from application stylesheet
421
+ * Add mention of Autoprefixer Rails gem to readme
422
+ * Use ruby 2.2.2
423
+ * Update gems
424
+
425
+ 1.27.0 (April 10, 2015)
426
+
427
+ * Add Autoprefixer and browserslist config file
428
+ * Only display user-facing flashes
429
+ * Add code of conduct to CONTRIBUTING document
430
+ * Only use rack-timeout in staging and production
431
+ * Add SimpleCov
432
+ * Avoid generation of extra _flashes view
433
+ * Fix Travis CI install step
434
+ * Cache bundle in Travis CI runs
435
+
436
+ 1.26.0 (March 23, 2015)
437
+
438
+ * Update Rails to 4.2.1
439
+ * Update Bitters to 1.0
440
+ * Fix .ruby-version (should have been 2.1.1)
441
+ * Enable `verify_partial_doubles`
442
+ * Renames Segment.io to Segment
443
+ * Removes New Relic unnecessary configuration setting
444
+
445
+ 1.25.0 (March 7, 2015)
446
+
447
+ * Configure Active Job queue adapter for test env
448
+ * Use Ruby 2.2.1 (bug: `.ruby-version` wasn’t updated in the package)
449
+ * Dasherize heroku app names
450
+ * Update Bourbon to 4.2.0
451
+ * Add ASSET_HOST to sample.env (defaults to HOST)
452
+ * Set bin/deploy script as executable
453
+ * Set email deliver method to :test for development
454
+ * Include missing word in the Flutie description in README.
455
+ * Remove unused dev gems: aruba & cucumber
456
+ * Use skip_bundle class_option (rather than defining an empty run_bundle method)
457
+
458
+ 1.24.0 (February 3, 2015)
459
+
460
+ * Remove things in Suspenders that Rails does for us now.
461
+ * Document how to use the `title` view helper.
462
+ * Improve speed of bundling in `bin/setup` script.
463
+ * Set ENV variable to make out-of-the-box Heroku static asset experience better.
464
+
465
+ 1.23.0 (January 19, 2015)
466
+
467
+ * Use Bourbon 4.1.0.
468
+ * Use Neat 1.7.0.
469
+ * Remove [parameter wrapping] for every format, including JSON.
470
+ * Turn off TravisCI email notifications for Suspended apps.
471
+ * Run `rake dev:prime` on CI in order to test
472
+ whether `bin/setup` has any regressions.
473
+ * Fix `config.action_mailer.default_url_options`'s value.
474
+ It now correctly uses `ENV.fetch("HOST")` in staging
475
+ and production.
476
+
477
+ [parameter wrapping]: http://api.rubyonrails.org/classes/ActionController/ParamsWrapper.html
478
+
479
+ 1.22.0 (January 11, 2015)
480
+
481
+ * Allow additional
482
+ [Heroku flags](https://github.com/thoughtbot/suspenders#heroku)
483
+ such as `--addons` and `--region`.
484
+ * Use RSpec 3.1.0.
485
+ * Use Travis' new Docker container infrastructure
486
+ for builds that start sooner and run faster.
487
+ * Improve SMTP and ActionMailer default settings.
488
+
489
+ 1.21.0 (January 4, 2015)
490
+
491
+ * Use Ruby 2.2.0.
492
+ * Use Rails 4.2.0.
493
+ * Install [Refills] and Refills' "flashes" component.
494
+ * Add `bin/deploy` script.
495
+
496
+ [Refills]: http://refills.bourbon.io/components/#flashes
497
+
498
+ 1.20.0 (November 25, 2014)
499
+
500
+ * Use Ruby 2.1.5.
501
+ * Use bin/setup from TravisCI to test executable documentation.
502
+ * Default JSON time format to use ISO8601 to match Heroku API Design Guide.
503
+ * Add Bundler Audit to scan Gemfile for insecure dependencies per CVEs.
504
+
505
+ 1.19.0 (November 23, 2014)
506
+
507
+ * Use Ruby 2.1.4.
508
+ * Use Rails 4.1.8.
509
+ * Add Bundler Audit gem for scanning the Gemfile
510
+ for insecure dependencies based on published CVEs.
511
+ * Use Heroku-recommended timeout numbers.
512
+ * [Improve memory] of app on Heroku with New Relic.
513
+ * Turn off RSpec verbose mode by default.
514
+
515
+ [Improve memory]: http://forum.upcase.com/t/how-to-free-up-swap-space-heroku/3017/13?u=croaky
516
+
517
+ 1.18.0 (October 23, 2014)
518
+
519
+ * Use Ruby 2.1.3.
520
+ * Move New Relic to all gem groups to more easily
521
+ [debug Rails performance in development][debug-performance].
522
+ * Make `bin/setup` idempotent, failing fast with install messages.
523
+ * Fix unevaluated app name in generated `en.yml` locale file.
524
+ * Change `File.exists?` to `File.exist?` to fix Ruby warning.
525
+ * Don't include port 6000 as an option for Foreman; Chome considers it unsafe.
526
+ * Git ignore the entire /tmp directory.
527
+
528
+ [debug-performance]: https://upcase.com/improving-rails-performance
529
+
530
+ 1.17.0 (September 30, 2014)
531
+
532
+ * Use Rails 4.1.6.
533
+ * Generate a `spec/rails_helper.rb` and `spec/spec_helper.rb` following
534
+ RSpec 3.x's example, but using our defaults.
535
+ * Raise on missing i18n translations in test environment.
536
+ * Raise on unpermitted parameters in test environment.
537
+ * Provide example for using Title gem for internationalizing page title text.
538
+
539
+ 1.16.0 (August 16, 2014)
540
+
541
+ * Use the 3.x series of RSpec.
542
+ * Use the 0.10.x series of Bitters.
543
+ * Improve documentation in generated README for machine setup via `bin/setup`
544
+ and https://github.com/thoughtbot/laptop script.
545
+ * Remove Foreman from `Gemfile`.
546
+ * Use i18n-tasks for missing or unused translations.
547
+ * Raise on missing translations in development environment. Fail fast!
548
+ * Prevent empty div when there are no flashes.
549
+ * Pick random port when generating Rails app so multiple apps can be run via
550
+ Foreman on a development machine at the same time.
551
+ * Add `normalize-rails` gem for resetting browser styles.
552
+
553
+ 1.15.0 (July 9, 2014)
554
+
555
+ * Use Rails 4.1.4.
556
+ * Use latest thoughtbot style guidelines in generated code so that
557
+ https://houndci.com will approve the initial commit.
558
+ * Remove Campfire in favor of Slack.
559
+ * Remove Pow in bin/setup.
560
+ * Upgrade Capybara Webkit to support Capybara 2.3 API.
561
+ * Add byebug.
562
+
563
+ 1.14.0 (June 11, 2014)
564
+
565
+ * Set up Bitters during Suspenders setup. http://bitters.bourbon.io/
566
+ * Remove SimpleCov.
567
+ * Force Suspenders to use a particular Rails version (4.1.1).
568
+ * Use RSpec 2.x until Travis/Capybara issues resolve.
569
+ * Set `viewport` to `initial-scale=1`.
570
+
571
+ 1.13.0 (May 29, 2014)
572
+
573
+ * Remove `FactoryGirl.lint` in `before(:suite)` in order to avoid paying and
574
+ estimated extra ~300ms load time on a typical thoughtbot app.
575
+ * Automatically join Heroku app in `bin/setup` if using Heroku organizations.
576
+
577
+ 1.12.0 (May 26, 2014)
578
+
579
+ * Fix `rake dev:prime` now that Suspenders-generated apps require some `ENV`
580
+ variables to be set.
581
+ * Ensure `EMAIL_RECIPIENTS` is set on staging.
582
+ * Clear `ActionMailer` deliveries before every test.
583
+ * Include New Relic configuration file.
584
+ * Add Formulaic gem for integration testing HTML forms.
585
+ * Set up the Segment.io adapter for analytics and event tracking through
586
+ services such as Google Analytics and Intercom.
587
+ * Prepare staging and production environments to serve static assets through a
588
+ CDN.
589
+
590
+ 1.11.0 (May 17, 2014)
591
+
592
+ * Generate a Rails 4.1.1 app and implement fixes for compatibility.
593
+ * Escape ERb in secrets.yml
594
+ * Maintain ActiveRecord test schema.
595
+ * Make Shoulda Matchers work with Spring.
596
+ * Unify Ruby version for gem and suspended apps.
597
+ * Move SMTP variable settings out of initializer.
598
+ * Connect to Postgres on localhost.
599
+ * Add `bin/setup` for contributors.
600
+ * Improve and document TravisCI configuration.
601
+
602
+ 1.10.2 (April 28, 2014)
603
+
604
+ * Fix bundling Bourbon and Neat.
605
+
606
+ 1.10.1 (April 25, 2014)
607
+
608
+ * Fix bundling sass-rails.
609
+
610
+ 1.10.0 (April 21, 2014)
611
+
612
+ * Generate a Rails 4.1 app.
613
+ * Generate a working .ruby-version for Ruby >= 2.1.0.
614
+ * Update Unicorn template to version now preferred by Heroku.
615
+
616
+ 1.9.3 (April 13, 2014)
617
+
618
+ * Use FactoryGirl.lint instead of custom-generated factory-testing code.
619
+ * Fix Delayed::Job <-> Rails 4.1 dependency conflict.
620
+
621
+ 1.9.2 (April 10, 2014)
622
+
623
+ * Join Heroku apps in bin/setup.
624
+ * Enable SMTP/TLS in SMTP settings.
625
+ * Silence an RSpec warning.
626
+
627
+ 1.9.1 (April 7, 2014)
628
+
629
+ * Fix sass-rails environment NilClass error.
630
+
631
+ 1.9.0 (March 24, 2014)
632
+
633
+ * Add `awesome_print` gem.
634
+ * Add `dev:prime` task placeholder for bootstrapping local dev data.
635
+ * Add fix for I18n deprecation warning from `enforce_available_locales`.
636
+ * Add generated `.travis.yml`.
637
+ * Remove `better_errors` because of issues with Unicorn.
638
+ * Remove fast-failing for RSpec; respect user's `~/.rspec` instead.
639
+ * Update New Relic agent.
640
+ * Update Rails to 4.0.3.
641
+
642
+ 1.8.1 (February 19, 2014)
643
+
644
+ * Don't distribute rspec binstub with gem.
645
+
646
+ 1.8.0 (February 18, 2014)
647
+
648
+ * Make the .git/safe directory in bin/setup.
649
+ * Require `rails_12factor` gem only on Heroku.
650
+ * Require mailer config on staging and production.
651
+ * Add rspec binstub.
652
+ * Fix .ruby-version on Ruby 2.1.0.
653
+ * Replace Flutie's `page_title` with `title` gem.
654
+ * Don't run factory specs twice.
655
+ * Inherit staging config from production.
656
+ * Internal: convert tests from Cucumber to RSpec.
657
+ * Don't include `prefilled_input.js`.
658
+ * Fix Rack class name - Deflater instead of Timeout.
659
+ * Add Pry Rails.
660
+ * Add Spring.
661
+ * Add Dotenv to development and test environments to load environment variables
662
+ from the `.env` file.
663
+ * Reduce ActiveRecord connection pool from 5 to 2.
664
+
665
+ 1.7.0 (December 6, 2013)
666
+
667
+ * Keep `db/schema.rb` under version control.
668
+ * Fast-fail if any part of `bin/setup` fails.
669
+ * Move secret key out of version control.
670
+ * Create `.ruby-version` in generated applications.
671
+ * Add placeholder modules and directories for feature specs.
672
+ * Improve README to include setup instructions.
673
+
674
+ 1.6.0 (November 28, 2013)
675
+
676
+ * Do not create `.rspec` file as the settings are not project-specific.
677
+ * Generate RSpec binstub at `bin/rspec`.
678
+ * Fix stylesheet error on 500, 404, and 422 static pages.
679
+ * Add `--skip-git` option.
680
+ * Disable jQuery animations in Rails integration tests that execute JavaScript.
681
+ * Fix git remote bug.
682
+ * Add `Rack::Deflater` to compress responses with Gzip.
683
+
684
+ 1.5.1 (September 10, 2013)
685
+
686
+ * Remove Turbolinks.
687
+ * Don't use Bundler's binstubs in `bin/setup`.
688
+ * Remove `--drb` now that we aren't using Spork.
689
+ * Set up DNS via Pow for development.
690
+ * Update gem versions.
691
+
692
+ 1.5.0 (August 3, 2013)
693
+
694
+ * Add Neat.
695
+ * Replace Bourne with RSpec Mocks.
696
+ * Replace Sham Rack with WebMock.
697
+ * Remove dependency on `hub` gem.
698
+ * Clean up leftover Rails 3 conventions.
699
+
700
+ 1.4.0 (July 21, 2013)
701
+
702
+ * Support Rails 4.
703
+ * Support Ruby 2.
704
+ * Remove jQuery UI.
705
+ * Factories spec works for non-ActiveRecord objects.
706
+ * Use New Relic RPM gem >= 3.5.7 for Heroku request queue accuracy.
707
+ * Abort RSpec runs on first failure.
708
+ * Replace custom email validator with gem.
709
+
710
+ 1.3.0 (May 13, 2013)
711
+
712
+ * Switch web server from Thin to Unicorn
713
+ * Set up database before setting up RSpec so that the rspec:install task works
714
+ * Add Delayed::Job
715
+ * Clean up cruft from ActionMailer delivery configuration
716
+ * strong_parameters now raises an error in development
717
+ * Enforce Ruby 1.9.2+ in the gemspec
718
+
719
+ 1.2.2 (March 14, 2013)
720
+
721
+ * Fix Syntax error in staging/production environment config files.
722
+ * Make Factory Girl available to development environment for generators and
723
+ `rails console`.
724
+
725
+ 1.2.1 (February 28, 2013)
726
+
727
+ * Use Ruby 1.9.3 and 2.0
728
+ * Update staging and production email delivery
729
+ * Remove Spork and Guard
730
+ * Add better_errors and binding_of_caller gems
731
+ * Fix ActiveRecord attributes' blacklist
732
+ * Add Flutie to Gemfile
733
+
734
+ 1.2.0 (February 13, 2013)
735
+
736
+ * Upgrade Rails from 3.2.8 to 3.2.12 to keep pace with security patches.
737
+ * Improve staging environment on Heroku with staging `ENV` variables and
738
+ overriding the recipient in staging email delivery.
739
+ * Remove Flutie, use Bourbon.
740
+ * Wrap all HTTP requests in a 5 second timeout.
741
+ * Don't use `attr_accessible` whitelists. Instead, configure Strong Parameters.
742
+ * Provide a `bin/setup` script.
743
+ * Force RSpec's `expect` syntax.
744
+ * Remove remaining references to Cucumber, complete RSpec + Capybara conversion.
745
+ * Improve Foreman/`.env`/`Procfile` interactions.
746
+
747
+ 1.1.5 (October 22, 2012)
748
+
749
+ * Ignore `.env`.
750
+ * Link to thoughtbot/guides in generated README.
751
+ * Remove Cucumber in favor of RSpec + Capybara.
752
+ * Deliver emails in staging environment to an overriden email or set of emails.
753
+ * Encode database as UTF8.
754
+ * Bundle with binstubs using 37signals' directory convention.
755
+ * Configure time formats using localization.
756
+ * Add Ruby version to Gemfile.
757
+ * Add fast-failing spec that tests validity of factories.
758
+ * Use SimpleCov for C0 coverage.
759
+ * Configure RSpec with `--profile` flag to find slow-running specs.
760
+
761
+ 1.1.4 (September 4, 2012)
762
+
763
+ * Always store UTC in the DB.
764
+ * Use Rails 3.2.8.
765
+
766
+ 1.1.3 (August 7, 2012)
767
+
768
+ * Fix broken Gemfile additions where capybara stole cucumber's `require: false`
769
+
770
+ 1.1.2 (August 6, 2012)
771
+
772
+ * Fix broken rake.
773
+ * Use Heroku-compliant asset pipeline settings.
774
+
775
+ 1.1.1 (August 3, 2012)
776
+
777
+ * Fix broken newline interpolation
778
+
779
+ 1.1.0 (August 3, 2012)
780
+
781
+ * Add --github option.
782
+ * Add --webkit option.
783
+ * Remove cruft when generating controllers.
784
+ * Add Spork and Guard.
785
+
786
+ 1.0.1 (August 2, 2012)
787
+
788
+ * Fix broken install on Ruby 1.8.
789
+ * Remove db/schema.rb from .gitignore.
790
+ * Remove Factory Girl step definitions.
791
+
792
+ 1.0.0 (June 29, 2012)
793
+
794
+ * Ignore `bin/`, `.rake_tasks`, `.bundle/`, and `.gem/`.
795
+ * Create a root route only with `--clearance`.
796
+ * Do not autocommit after generate.
797
+ * Style static error pages.
798
+ * Cucumber requires everything under `features/`, regardless of pwd.
799
+ * Added gems:
800
+ * `foreman`
801
+ * `therubyracer`
802
+ * Removed gems:
803
+ * `copycopter_client`
804
+ * `heroku`
805
+ * `ruby-debug`
806
+ * `sass`
807
+ * `sprockets-redirect`
808
+ * `email_spec`