All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog.
- Ability to customize
UIDandGIDif you're not using1000:1000(check the.env.examplefile) - Output
docker compose logsin CI for easier debugging
- Replace
Redis.current(removed inredis5.0+) withRedisConn.currentwhich is inconfig/initializers/redis.rb - Rename
run bashtorun shell - Reference
PORTvariable in thedocker-compose.ymlweb service instead of hard coding8000 - Adjust Hadolint to exit > 0 if any style warnings are present
- Update
Rubyto3.2.1 - Update
Nodeto18.X - Update
Postgresto15.2 - Update
Redisto7.0.8
- Update
cssbundling-railsto1.1.2 - Update
jsbundling-railsto1.1.1 - Update
minitestto5.18.0 - Update
pgto1.4.6 - Update
pumato6.1.1 - Update
railsto7.0.4.2 - Update
redisto5.0.6 - Update
sidekiqto7.0.6 - Update
stimulus-railsto1.2.1 - Update
turbo-railsto1.4.0
- Update
@hotwired/stimulusto3.2.1 - Update
@hotwired/turbo-railsto7.3.0 - Update
autoprefixerto10.4.13 - Update
esbuildto0.17.11 - Update
postcss-importto15.1.0 - Update
postcssto8.4.21 - Update
tailwindcssto3.2.7
set -o nounsetfromrunscript since it's incompatible with Bash 3.2 (default on macOS)--jobs "$(nproc)"from thebundle installcommand in theDockerfilesince this is the default
- Assets in production mode were using the wrong
.sprockets-manifest-XXX.jsonfile,bin/docker-entrypoint-webwas adjusted to delete all but the last built version since Rails doesn't pick the latest file based onmtime
0.7.0 - 2022-09-08
set -o nounsettorunscript to exit if there's any undefined variables
- Switch Docker Compose
env_filetoenvironmentforpostgresto avoid needless recreates on.envchanges - Replace override file with Docker Compose profiles for running specific services
- Update Github Actions to use Ubuntu 22.04
- Enable BuildKit by default in the
.env.examplefile
- Update
PostgreSQLto14.5 - Update
Redisto7.0.4
- Update
cssbundling-railsto1.1.1 - Update
jsbundling-railsto1.0.3 - Update
pgto1.4.3 - Update
redisto4.7.1 - Update
sidekiqto6.5.4 - Update
stimulus-railsto1.1.0 - Update
turbo-railsto1.1.1
- Update
@hotwired/stimulusto3.1.0 - Update
@hotwired/turbo-railsto7.1.3 - Update
autoprefixerto10.4.8 - Update
esbuildto0.15.2 - Update
postcssto8.4.16 - Update
tailwindcssto3.1.8
- Docker Compose
env_fileproperty forredisto avoid needless recreates on.envchanges - Drop support for Docker Compose v1 (mainly to use profiles in an optimal way, it's worth it!)
0.6.0 - 2022-05-15
config/initializers/rack_mini_profiler.rbto enable profiling Hotwire Turbo Drive
- Refactor
/up/endpoint into its own controller and add/up/databasesas a second URL
- Update
Rubyto3.1.2 - Update
PostgreSQLto14.2 - Update
Redisto7.0.0
- Update
capybarato3.37.1 - Update
jsbundling-railsto1.0.2 - Update
pgto1.3.5 - Update
pumato5.6.4 - Update
rack-mini-profilerto3.0.0 - Update
railsto7.0.3 - Update
redisto4.6.0 - Update
sidekiqto6.4.2 - Update
stimulus-railsto1.0.4 - Update
turbo-railsto1.0.1
- Update
@hotwired/turbo-railsto7.1.1 - Update
autoprefixerto10.4.7 - Update
esbuildto0.14.39 - Update
postcss-importto14.1.0 - Update
postcssto8.4.13 - Update
tailwindcssto3.0.24
0.5.0 - 2021-01-15
- esbuild and tailwindcss based on Rails 7
- Lint Dockerfile with https://github.com/hadolint/hadolint
./run testwhich runsrails testbut also optionally builds your JS / CSS with./run test -b
- Use the Docker Compose spec in
docker-compose.yml(removes version: property) - Rename
webpackerDocker build stage toassets - Replace
cp -awithcp -rin Docker entrypoint to make it easier to delete older assets - Base application has been freshly generated by Rails 7.0.1
- Only install and enable bootsnap in non-production environments
- Update
tailwind.config.jsbased on the new TailwindCSS v3 defaults - Update Bash shebang to use
#!/usr/bin/env bashindocker-entrypoint-web
- Update
Rubyto3.1.0and switch to Debian Bullseye Slim - Update
Nodeto16.x - Update
PostgreSQLto14.1and switch to Debian Bullseye Slim - Update
Redisto6.2.6and switch to Debian Bullseye Slim
- Update
bootsnapto1.9.3 - Update
capybarato3.36.0 - Update
cssbundling-railsto1.0.0 - Update
jbuilderto2.11.5 - Update
jsbundling-railsto1.0.0 - Update
pumato5.5.2 - Update
rack-mini-profilerto2.3.3 - Update
railsto7.0.1 - Update
redisto4.5.1 - Update
selenium-webdriverto4.1.0 - Update
sidekiqto6.3.1 - Update
sprockets-railsto3.4.2 - Update
stimulus-railsto1.0.2 - Update
turbo-railsto1.0.0 - Update
web-consoleto4.2.0 - Update
webdriversto5.0.0
- Update
@hotwired/stimulusto3.0.1 - Update
@hotwired/turbo-railsto7.1.0 - Update
autoprefixerto10.4.2 - Update
esbuildto0.14.11 - Update
postcss-import14.0.2 - Update
postcss8.4.5 - Update
tailwindcssto3.0.15
- All traces of Webpacker
- Deleting old assets in the Docker entrypoint (it's best to handle this out of band in a cron job, etc.)
- Channel related JavaScript (this isn't added by default with Rails 7 and Hotwire is available now)
tailwindcss-stimulus-componentsfront-end package@rails/activestoragefront-end package (you can always add it back if you use this feature)
- Use
bundle exec sidekiqinstead ofsidekiqwhich fixes issue #30
0.4.0 - 2021-07-01
- StimulusJS imports into
application.js
- Update Rails from
6.1.3to6.1.4 - Update Puma from
5.3.1to5.3.2 - Update TailwindCSS from
2.1.2to2.2.4 - Update Turbo Rails from
7.0.0-beta.5to7.0.0-beta.8
- Use multi-stage build to prevent
bundle installfrom running multiple times #8 - JS not executing due to
Gemfile.lockreferencing Webpackerpre.2notbeta.7 Gemfilenow correctly references Webpacker 6 beta 7
0.3.0 - 2021-05-19
PORTenv variable to be compatible with more hosting providersCABLE_PORTenv variable to split out the bind port from the Docker port forwardrun cmdto run any command you want in the web container, ie.run cmd ruby --versionbin/rename-projectscript to assist with renaming the project
- Rename
DOCKER_WEB_PORTtoDOCKER_WEB_PORT_FORWARD - Rename
DOCKER_CABLE_PORTtoDOCKER_CABLE_PORT_FORWARD - Comment out Sidekiq's dashboard route by default for extra safety (check
config/routes.rb) - Refactor
runscript so all web container commands use the newcmdfunction - Replace
##comments with#in therunscript - Replace
APP_NAMEinrunscript withPOSTGRES_USERfor connecting to psql - Update Ruby from
2.7.2to3.0.1 - Update Webpacker from
5.2to6.0-beta7 - Update TailwindCSS from
2.0.3to2.1.2 - Update TailwindCSS Stimulus Components from
2.1.2to2.2.0 - Update PostgreSQL from
13.2to13.3 - Update Redis from
6.0.10to6.2.3 - Use new packs directory structure recommended by Webpacker 6
- Enable JIT compiler for TailwindCSS
- Move
tailwind.config.jsto the root of the project
- Add Web Console support by configuring
web_console.allowed_ipsinconfig/environments/development.rb - Set an empty ENTRYPOINT for the worker and action cable to avoid race conditions when copying static files
- Fix
runscript error for unbound variable in older versions of Bash on macOS
- Ability to customize puma bind host, it's hard coded to
0.0.0.0now - Unnecessary
mkdirandchownof/publicinDockerfile
0.2.0 - 2021-02-20
- Hotwire Turbo through Webpack
run bundle:outdatedtask to show outdated Ruby dependenciesrun bundle:updatetask to update your Ruby dependenciesrun yarn:outdatedtask to show outdated Node dependencies
run bundletask has been replaced withrun bundle:installtaskrun yarntask has been replaced withrun yarn:installtask- Update PostgreSQL from
13.1to13.2 - Update Redis from
6.0.9to6.0.10 - Update all Ruby and most Node packages to their latest stable releases
- Ping Redis as part of the
/uphealth check - Rename
staticcontroller topages - Call
rails sinstead ofpuma -C config/puma.rbin the Dockerfile CMD - Meta description to include the app being production ready
- Refactor
runscript to remove a lot of duplication by introducing helper functions
- Run
rails testas part of the CI pipeline
- Turbolinks (replaced by Hotwire Turbo Drive)
0.1.0 - 2020-12-22
- Everything!