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