2018-04-16 01:35:13 -04:00
|
|
|
* Deprecate support for using the `HOST` environment to specify the server IP.
|
|
|
|
|
|
|
|
The `BINDING` environment should be used instead.
|
|
|
|
|
|
|
|
Fixes #29516.
|
|
|
|
|
|
|
|
*Yuji Yaginuma*
|
|
|
|
|
Introduce explicit rails server handler option
I mistype `rails server production` instead of `rails server -e
production` expecting to lunch a server in the production environment
all the time. However, the signature of `rails server --help` is:
```
Usage:
rails server [puma, thin etc] [options]
```
This means that the `production` argument is being interpreted as a Rack
server handler like Puma, Thin or Unicorn.
Should we argue for the `rails server production`? I'm not sure of the
reasons, but the `rails console production` behavior was deprecated in:
https://github.com/rails/rails/pull/29358, so parity with the existing
`rails console production` usage may not hold anymore.
In any case, this PR introduces an explicit option for the Rack servers
configuration. The option is called `--using` (or `-u` for short) to
avoid the `rails server --server` tantrum.
The new interface of `rails server` is:
```
Usage:
rails server [using] [options]
Options:
-p, [--port=port] # Runs Rails on the specified port - defaults to 3000.
-b, [--binding=IP] # Binds Rails to the specified IP - defaults to 'localhost' in development and '0.0.0.0' in other environments'.
-c, [--config=file] # Uses a custom rackup configuration.
# Default: config.ru
-d, [--daemon], [--no-daemon] # Runs server as a Daemon.
-e, [--environment=name] # Specifies the environment to run this server under (development/test/production).
-u, [--using=name] # Specifies the Rack server used to run the application (thin/puma/webrick).
-P, [--pid=PID] # Specifies the PID file.
# Default: tmp/pids/server.pid
-C, [--dev-caching], [--no-dev-caching] # Specifies whether to perform caching in development.
[--early-hints], [--no-early-hints] # Enables HTTP/2 early hints.
```
As a bonus, if you mistype the server to use, you'll get an
auto-correction message:
```
$ rails s tin
Could not find handler "tin". Maybe you meant "thin" or "cgi"?
Run `rails server --help` for more options.
```
2018-02-19 13:31:56 -05:00
|
|
|
* Deprecate passing Rack server name as a regular argument to `rails server`.
|
|
|
|
|
|
|
|
Previously:
|
|
|
|
|
|
|
|
$ bin/rails server thin
|
|
|
|
|
|
|
|
There wasn't an explicit option for the Rack server to use, now we have the
|
|
|
|
`--using` option with the `-u` short switch.
|
|
|
|
|
|
|
|
Now:
|
|
|
|
|
|
|
|
$ bin/rails server -u thin
|
|
|
|
|
|
|
|
This change also improves the error message if a missing or mistyped rack
|
|
|
|
server is given.
|
|
|
|
|
|
|
|
*Genadi Samokovarov*
|
|
|
|
|
2018-02-25 12:25:55 -05:00
|
|
|
* Add "rails routes --expanded" option to output routes in expanded mode like
|
|
|
|
"psql --expanded". Result looks like:
|
|
|
|
|
|
|
|
```
|
|
|
|
$ rails routes --expanded
|
|
|
|
--[ Route 1 ]------------------------------------------------------------
|
|
|
|
Prefix | high_scores
|
|
|
|
Verb | GET
|
|
|
|
URI | /high_scores(.:format)
|
|
|
|
Controller#Action | high_scores#index
|
|
|
|
--[ Route 2 ]------------------------------------------------------------
|
|
|
|
Prefix | new_high_score
|
|
|
|
Verb | GET
|
|
|
|
URI | /high_scores/new(.:format)
|
|
|
|
Controller#Action | high_scores#new
|
|
|
|
```
|
|
|
|
|
|
|
|
*Benoit Tigeot*
|
|
|
|
|
2018-02-17 16:02:18 -05:00
|
|
|
* Rails 6 requires Ruby 2.4.1 or newer.
|
|
|
|
|
|
|
|
*Jeremy Daer*
|
|
|
|
|
|
|
|
|
2018-01-30 18:51:17 -05:00
|
|
|
Please check [5-2-stable](https://github.com/rails/rails/blob/5-2-stable/railties/CHANGELOG.md) for previous changes.
|