CHANGELOG.md 9.9 KB
Newer Older
1
## Rails 4.0.0.beta1 (February 25, 2013) ##
2

3 4 5 6 7
*   Improve `rake stats` for JavaScript and CoffeeScript: ignore block comments
    and calculates number of functions.

    *Hendy Tanata*

8 9 10 11 12 13
*   Ability to use a custom builder by passing `--builder` (or `-b`) has been removed. Consider
    using application template instead. See this guide for more detail:
    http://guides.rubyonrails.org/rails_application_templates.html

    *Prem Sichanugrist*

T
Terence Lee 已提交
14 15 16
*   fix rake db:* tasks to work with DATABASE_URL and without config/database.yml

    *Terence Lee*
S
Santiago Pastorino 已提交
17

18
*   Add notice message for destroy action in scaffold generator.
19 20 21

    *Rahul P. Chaudhari*

22 23 24 25 26 27 28 29
*   Add two new test rake tasks to speed up full test runs.

    * `test:all`: run tests quickly by merging all types and not resetting db.
    * `test:all:db`: run tests quickly, but also reset db.

    *Ryan Davis*

*   Add `--rc` option to support the load of a custom rc file during the generation of a new app.
30 31 32

    *Amparo Luna*

33 34
*   Add `--no-rc` option to skip the loading of railsrc file during the generation of a new app.

35 36
    *Amparo Luna*

37 38 39 40 41
*   Fixes database.yml when creating a new rails application with '.'
    Fix #8304

    *Jeremy W. Rowe*

42 43 44 45 46 47
*   Restore Rails::Engine::Railties#engines with deprecation to ensure
    compatibility with gems such as Thinking Sphinx
    Fix #8551

    *Tim Raymond*

48 49 50 51 52
*   Specify which logs to clear when using the `rake log:clear` task.
    (e.g. rake log:clear LOGS=test,staging)

    *Matt Bridges*

53 54 55 56 57 58
*   Allow a `:dirs` key in the `SourceAnnotationExtractor.enumerate` options
    to explicitly set the directories to be traversed so it's easier to define
    custom rake tasks.

    *Brian D. Burns*

59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
*   Deprecate `Rails::Generators::ActiveModel#update_attributes` in favor of `#update`.

    ORMs that implement `Generators::ActiveModel#update_attributes` should change
    to `#update`. Scaffold controller generators should change calls like:

        @orm_instance.update_attributes(...)

    to:

        @orm_instance.update(...)

    This goes along with the addition of `ActiveRecord::Base#update`.

    *Carlos Antonio da Silva*

74 75 76 77 78 79 80 81 82
*   Include `jbuilder` by default and rely on its scaffold generator to show json API.
    Check https://github.com/rails/jbuilder for more info and examples.

    *DHH*

*   Scaffold now generates HTML-only controller by default.

    *DHH + Pavel Pravosud*

X
Xavier Noria 已提交
83 84 85 86 87
*   The generated `README.rdoc` for new applications invites the user to
    document the necessary steps to get the application up and running.

    *Xavier Noria*

88 89 90 91 92 93
*   Generated applications no longer get `doc/README_FOR_APP`. In consequence,
    the `doc` directory is created on demand by documentation tasks rather than
    generated by default.

    *Xavier Noria*

94 95 96 97 98 99 100 101 102 103 104 105 106 107
*   App executables now live in the `bin/` directory: `bin/bundle`,
    `bin/rails`, `bin/rake`. Run `rake rails:update:bin` to add these
    executables to your own app. `script/rails` is gone from new apps.

    Running executables within your app ensures they use your app's Ruby
    version and its bundled gems, and it ensures your production deployment
    tools only need to execute a single script. No more having to carefully
    `cd` to the app dir and run `bundle exec ...`.

    Rather than treating `bin/` as a junk drawer for generated "binstubs",
    bundler 1.3 adds support for generating stubs for just the executables
    you actually use: `bundle binstubs unicorn` generates `bin/unicorn`.
    Add that executable to git and version it just like any other app code.

J
Jeremy Kemper 已提交
108 109
    *Jeremy Kemper*

110
*   `config.assets.enabled` is now true by default. If you're upgrading from a Rails 3.x app
111
    that does not use the asset pipeline, you'll be required to add `config.assets.enabled = false`
112 113
    to your application.rb. If you don't want the asset pipeline on a new app use `--skip-sprockets`

114 115
    *DHH*

116 117 118
*   Environment name can be a start substring of the default environment names
    (production, development, test). For example: tes, pro, prod, dev, devel.
    Fix #8628.
119

120
    *Mykola Kyryk*
121

122
*   Add `-B` alias for `--skip-bundle` option in the rails new generators.
M
Mykola Kyryk 已提交
123

124
    *Jiri Pospisil*
M
Mykola Kyryk 已提交
125

126 127
*   Quote column names in generates fixture files. This prevents
    conflicts with reserved YAML keywords such as 'yes' and 'no'
128
    Fix #8612.
129 130 131

    *Yves Senn*

132 133 134 135
*   Explicit options have precedence over `~/.railsrc` on the `rails new` command.

    *Rafael Mendonça França*

136 137 138 139
*   Generated migrations now always use the `change` method.

    *Marc-André Lafortune*

140
*   Add `app/models/concerns` and `app/controllers/concerns` to the default directory structure and load path.
141
    See http://37signals.com/svn/posts/3372-put-chubby-models-on-a-diet-with-concerns for usage instructions.
D
David Heinemeier Hansson 已提交
142

143 144
    *DHH*

145 146 147
*   The `rails/info/routes` now correctly formats routing output as an html table.

    *Richard Schneeman*
148

149 150
*   The `public/index.html` is no longer generated for new projects.
    Page is replaced by internal `welcome_controller` inside of railties.
S
schneems 已提交
151 152 153

    *Richard Schneeman*

154
*   Add `ENV['RACK_ENV']` support to `rails runner/console/server`.
155 156

    *kennyj*
S
schneems 已提交
157

158 159
*   Add `db` to list of folders included by `rake notes` and `rake notes:custom`. *Antonio Cangiano*

160 161 162 163 164
*   Engines with a dummy app include the rake tasks of dependencies in the app namespace.
    Fix #8229

    *Yves Senn*

165
*   Add `sqlserver.yml` template file to satisfy `-d sqlserver` being passed to `rails new`.
166 167
    Fix #6882

168
    *Robert Nesius*
169

N
Nicolas Despres 已提交
170 171
*   Rake test:uncommitted finds git directory in ancestors *Nicolas Despres*

172
*   Add dummy app Rake tasks when `--skip-test-unit` and `--dummy-path` is passed to the plugin generator.
173 174 175 176
    Fix #8121

    *Yves Senn*

177 178
*   Add `.rake` to list of file extensions included by `rake notes` and `rake notes:custom`. *Brent J. Nordquist*

M
Mike Moore 已提交
179 180 181
*   New test locations `test/models`, `test/helpers`, `test/controllers`, and
    `test/mailers`. Corresponding rake tasks added as well. *Mike Moore*

182
*   Set a different cache per environment for assets pipeline
183 184 185 186
    through `config.assets.cache`.

    *Guillermo Iguaran*

187 188
*   `Rails.public_path` now returns a Pathname object. *Prem Sichanugrist*

189
*   Remove highly uncommon `config.assets.manifest` option for moving the manifest path.
190
    This option is now unsupported in sprockets-rails.
191 192 193

    *Guillermo Iguaran & Dmitry Vorotilin*

194 195 196 197 198
*   Add `config.action_controller.permit_all_parameters` to disable
    StrongParameters protection, it's false by default.

    *Guillermo Iguaran*

199
*   Remove `config.active_record.whitelist_attributes` and
200 201 202 203 204
    `config.active_record.mass_assignment_sanitizer` from new applications since
    MassAssignmentSecurity has been extracted from Rails.

    *Guillermo Iguaran*

205 206 207 208 209 210 211 212 213 214
*   Change `rails new` and `rails plugin new` generators to name the `.gitkeep` files
    as `.keep` in a more SCM-agnostic way.

    Change `--skip-git` option to only skip the `.gitignore` file and still generate
    the `.keep` files.

    Add `--skip-keeps` option to skip the `.keep` files.

    *Derek Prior & Francesco Rodriguez*

215 216
*   Fixed support for DATABASE_URL environment variable for rake db tasks. *Grace Liu*

N
needfeed 已提交
217 218 219
*   rails dbconsole now can use SSL for MySQL. The database.yml options sslca, sslcert, sslcapath, sslcipher,
    and sslkey now affect rails dbconsole. *Jim Kingdon and Lars Petrus*

220 221 222 223 224
*   Correctly handle SCRIPT_NAME when generating routes to engine in application
    that's mounted at a sub-uri. With this behavior, you *should not* use
    default_url_options[:script_name] to set proper application's mount point by
    yourself. *Piotr Sarnacki*

J
José Valim 已提交
225 226
*   `config.threadsafe!` is deprecated in favor of `config.eager_load` which provides a more fine grained control on what is eager loaded *José Valim*

227 228 229 230 231 232 233 234 235 236 237
*   The migration generator will now produce AddXXXToYYY/RemoveXXXFromYYY migrations with references statements, for instance

        rails g migration AddReferencesToProducts user:references supplier:references{polymorphic}

    will generate the migration with:

        add_reference :products, :user, index: true
        add_reference :products, :supplier, polymorphic: true, index: true

    *Aleksey Magusev*

238 239 240 241 242 243 244 245 246 247
*   Allow scaffold/model/migration generators to accept a `polymorphic` modifier
    for `references`/`belongs_to`, for instance

        rails g model Product supplier:references{polymorphic}

    will generate the model with `belongs_to :supplier, polymorphic: true`
    association and appropriate migration.

    *Aleksey Magusev*

248 249
*   Set `config.active_record.migration_error` to `:page_load` for development *Richard Schneeman*

250 251
*   Add runner to Rails::Railtie as a hook called just after runner starts. *José Valim & kennyj*

252 253
*   Add `/rails/info/routes` path, displays same information as `rake routes` *Richard Schneeman & Andrew White*

254 255
*   Improved `rake routes` output for redirects *Łukasz Strzałkowski & Andrew White*

256 257
*   Load all environments available in `config.paths["config/environments"]`. *Piotr Sarnacki*

258 259
*   Remove Rack::SSL in favour of ActionDispatch::SSL. *Rafael Mendonça França*

260 261
*   Remove Active Resource from Rails framework. *Prem Sichangrist*

262 263 264 265 266 267 268 269 270 271 272 273
*   Allow to set class that will be used to run as a console, other than IRB, with `Rails.application.config.console=`. It's best to add it to `console` block. *Piotr Sarnacki*

    Example:

        # it can be added to config/application.rb
        console do
          # this block is called only when running console,
          # so we can safely require pry here
          require "pry"
          config.console = Pry
        end

274 275 276
*   Add convenience `hide!` method to Rails generators to hide current generator
    namespace from showing when running `rails generate`. *Carlos Antonio da Silva*

S
Santiago Pastorino 已提交
277 278
*   Rails::Plugin has gone. Instead of adding plugins to vendor/plugins use gems or bundler with path or git dependencies. *Santiago Pastorino*

B
Brian Cardarella 已提交
279 280 281
*   Set config.action_mailer.async = true to turn on asynchronous
    message delivery *Brian Cardarella*

X
Xavier Noria 已提交
282
Please check [3-2-stable](https://github.com/rails/rails/blob/3-2-stable/railties/CHANGELOG.md) for previous changes.