<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -1,3 +1,11 @@
+= 0.9.2 / unreleased
+
+ * Development mode source file reloading has been removed. The
+   &quot;shotgun&quot; (http://rtomayko.github.com/shotgun/) program can be
+   used to achieve the same basic functionality in most situations.
+   Passenger users should use the &quot;tmp/always_restart.txt&quot;
+   file (http://tinyurl.com/c67o4h). [#166]
+
 = 0.9.1.1 / 2009-03-09
 
  * Fix directory traversal vulnerability in default static files</diff>
      <filename>CHANGES</filename>
    </modified>
    <modified>
      <diff>@@ -285,13 +285,7 @@ A route can punt processing to the next matching route using &lt;tt&gt;pass&lt;/tt&gt;:
 The route block is immediately exited and control continues with the next
 matching route. If no matching route is found, a 404 is returned.
 
-== Configuration and Reloading
-
-Sinatra supports multiple environments and reloading. Reloading happens
-before each request when running under the &lt;tt&gt;:development&lt;/tt&gt;
-environment. Wrap your configurations (e.g., database connections, constants,
-etc.) in &lt;tt&gt;configure&lt;/tt&gt; blocks to protect them from reloading or to
-target specific environments.
+== Configuration
 
 Run once, at startup, in any environment:
 
@@ -300,14 +294,14 @@ Run once, at startup, in any environment:
   end
 
 Run only when the environment (RACK_ENV environment variable) is set to
-&lt;tt&gt;:production&lt;/tt&gt;.
+&lt;tt&gt;:production&lt;/tt&gt;:
 
   configure :production do
     ...
   end
 
-Run when the environment (RACK_ENV environment variable) is set to
-either &lt;tt&gt;:production&lt;/tt&gt; or &lt;tt&gt;:test&lt;/tt&gt;.
+Run when the environment is set to either &lt;tt&gt;:production&lt;/tt&gt; or
+&lt;tt&gt;:test&lt;/tt&gt;:
 
   configure :production, :test do
     ...</diff>
      <filename>README.rdoc</filename>
    </modified>
    <modified>
      <diff>@@ -797,7 +797,6 @@ module Sinatra
       # Set configuration options for Sinatra and/or the app.
       # Allows scoping of settings for certain environments.
       def configure(*envs, &amp;block)
-        return if reloading?
         yield if envs.empty? || envs.include?(environment.to_sym)
       end
 
@@ -845,22 +844,7 @@ module Sinatra
       end
 
       def call(env)
-        synchronize do
-          reload! if reload?
-          prototype.call(env)
-        end
-      end
-
-      def reloading?
-        @reloading
-      end
-
-      def reload!
-        @reloading = true
-        reset!
-        $LOADED_FEATURES.delete(&quot;sinatra.rb&quot;)
-        ::Kernel.load app_file
-        @reloading = false
+        synchronize { prototype.call(env) }
       end
 
       def reset!(base=superclass)
@@ -947,8 +931,7 @@ module Sinatra
     set :root, Proc.new { app_file &amp;&amp; File.expand_path(File.dirname(app_file)) }
     set :views, Proc.new { root &amp;&amp; File.join(root, 'views') }
     set :public, Proc.new { root &amp;&amp; File.join(root, 'public') }
-    set :reload, Proc.new { app_file? &amp;&amp; app_file !~ /\.ru$/i &amp;&amp; development? }
-    set :lock, Proc.new { reload? }
+    set :lock, false
 
     # static files route
     get(/.*[^\/]$/) do</diff>
      <filename>lib/sinatra/base.rb</filename>
    </modified>
    <modified>
      <diff>@@ -3,8 +3,8 @@ Gem::Specification.new do |s|
   s.required_rubygems_version = Gem::Requirement.new(&quot;&gt;= 0&quot;) if s.respond_to? :required_rubygems_version=
 
   s.name = 'sinatra'
-  s.version = '0.9.1.1'
-  s.date = '2009-03-09'
+  s.version = '0.9.1.2'
+  s.date = '2009-03-24'
 
   s.description = &quot;Classy web-development dressed in a DSL&quot;
   s.summary     = &quot;Classy web-development dressed in a DSL&quot;
@@ -78,7 +78,6 @@ Gem::Specification.new do |s|
     test/mapped_error_test.rb
     test/middleware_test.rb
     test/options_test.rb
-    test/reload_test.rb
     test/request_test.rb
     test/response_test.rb
     test/result_test.rb
@@ -104,7 +103,8 @@ Gem::Specification.new do |s|
   s.test_files = s.files.select {|path| path =~ /^test\/.*_test.rb/}
 
   s.extra_rdoc_files = %w[README.rdoc LICENSE]
-  s.add_dependency 'rack', '&gt;= 0.9.1', '&lt; 1.0'
+  s.add_dependency 'rack',    '&gt;= 0.9.1', '&lt; 1.0'
+  s.add_development_dependency 'shotgun', '&gt;= 0.2',   '&lt; 1.0'
 
   s.has_rdoc = true
   s.homepage = &quot;http://sinatra.rubyforge.org&quot;</diff>
      <filename>sinatra.gemspec</filename>
    </modified>
    <modified>
      <diff>@@ -319,56 +319,8 @@ describe_option 'public' do
   end
 end
 
-describe_option 'reload' do
-  it 'is enabled when
-        app_file is set,
-        is not a rackup file,
-        and we are in development' do
-    @base.app_file = __FILE__
-    @base.set(:environment, :development)
-    assert @base.reload?
-
-    @default.app_file = __FILE__
-    @default.set(:environment, :development)
-    assert @default.reload?
-  end
-
-  it 'is disabled if app_file is not set' do
-    assert ! @base.reload?
-    assert ! @default.reload?
-  end
-
-  it 'is disabled if app_file is a rackup file' do
-    @base.app_file = 'config.ru'
-    assert ! @base.reload?
-
-    @default.app_file = 'config.ru'
-    assert ! @base.reload?
-  end
-
-  it 'is disabled if we are not in development' do
-    @base.set(:environment, :foo)
-    assert ! @base.reload
-
-    @default.set(:environment, :bar)
-    assert ! @default.reload
-  end
-end
-
 describe_option 'lock' do
-  it 'is enabled when reload is enabled' do
-    @base.enable(:reload)
-    assert @base.lock?
-
-    @default.enable(:reload)
-    assert @default.lock?
-  end
-
-  it 'is disabled when reload is disabled' do
-    @base.disable(:reload)
+  it 'is disabled by default' do
     assert ! @base.lock?
-
-    @default.disable(:reload)
-    assert ! @default.lock?
   end
 end</diff>
      <filename>test/options_test.rb</filename>
    </modified>
  </modified>
  <removed type="array">
    <removed>
      <filename>test/reload_test.rb</filename>
    </removed>
  </removed>
  <parents type="array">
    <parent>
      <id>9dec74e3d889ab5706f77bef1fcef0f4b7653fdc</id>
    </parent>
  </parents>
  <author>
    <name>Ryan Tomayko</name>
    <email>rtomayko@gmail.com</email>
  </author>
  <url>http://github.com/bmizerany/sinatra/commit/13fc79d38856608f8d90e5334066501a90178bf0</url>
  <id>13fc79d38856608f8d90e5334066501a90178bf0</id>
  <committed-date>2009-03-24T21:11:52-07:00</committed-date>
  <authored-date>2009-03-24T01:24:01-07:00</authored-date>
  <message>Remove support for source file reloading [#166]

Use shotgun: http://rtomayko.github.com/shotgun/</message>
  <tree>a4892b74fc5f0f806017bacbee70650a7efe7284</tree>
  <committer>
    <name>Ryan Tomayko</name>
    <email>rtomayko@gmail.com</email>
  </committer>
</commit>
