= 3.2.6
09 Aug, 2024
* Server now loads everything from the kindling directory. To start your fire.
* Move Camping Gear to their own directory to play nicer with Zeitwerk.
* Add some testing for Camping::Server.

= 3.2.5
== 13 June, 2024
* Fix bug where create method is never called.
* Update KDL dependency to 1.0.6.

= 3.2.4
== 10 June, 2024
* Add new integration test.
* Pack the new Firewatch Logging Gear wrapper by default in Camping apps.

= 3.2.3
== 09 June, 2024
* Remove dead code make a derelict file in the generator.
* Correct some Ruby warnings in Camping.rb, CampingTools, and Camping Gear.
* Hopefully correct some Gemfile errors causing tests to fail.
* Add MIT License to camping.gemspec.
* Correct error where Minitest was misspelled in generated test helper.

= 3.2.2
== 09 June, 2024
* Fix wrong version of dependency.

= 3.2.1
== 09 June, 2024
* Start work on integration testing.
* Change some gem requirements in Gemfile and gemspec.
* Add XSendfile to deployment middleware.

= 3.2.0
== 05 June, 2024
* Add default logging middleware to Camping.
* Some Bugfixes for Nancy.

= 3.1.3
=== 24 June, 2023
* Fix a loader error where the loader would assume that the `/apps` directory exists, instead of checking first.

= 3.1.1
=== 23 June, 2023
* Fix an error that caused the loader not to load because we renamed it Loader from Relaoder.
* Add new dependencies to gemspec.

= 3.1.0
=== 22 June, 2023
* Rewrote Camping's Reloader/Loader to work with the new nested /apps directory.
* Reopening and redefining controllers, views, and helpers is possible by placing them in the /apps directory.
* Added Zeitwerk autoloading, watched directories are /apps and /lib.
* Reloader now calls make camp upon each request in development mode.
* Reloader also now listens for changes in the /apps and /lib directory and eager reloads as needed.
* /apps and /lib are now eager loaded.
* Camping new command now adds a test_helper.
* Started work on CampGuide, an exception handler that provides context aware resolutions to common Camping Problems.

= 3.0.2
=== 18th March, 2023
* App names supplied to the camping new command are now CamelCased.

= 3.0.1
=== 18th March, 2023
* Fixed error with Camping new that would generate a faulty camp.rb.
* App names supplied to the camping new command are now capitlized.

= 3.0
=== 18th March, 2023
* Camping Now uses the latest versions of Rack and Rackup under the hood.
* New Routing Spec gives Sinatra like Routing helpers.
* Inherit from other Controllers without carrying their urls.
* You can now inherit from another Controller, AND set custom urls.
* ActiveRecord now removed in favor of a more flexible database architecture.
* Builtin Gear added for Filtering, and Sinatra style routing.
* Added Camping Tools, small utilities that come with Camping.
* Camping now has a new project generator. run `camping new` from your shell.
* _meta data set in an App's options hash.
* Session secrets are now much longer.
* Camping settings can now be set in a kdl config doc.
* Gems are now loaded from your Gemfile upon startup.
* Add Inspection Camping Gear. Utilities for Camp inspection.
* Camping now looks for a `camp.rb` file to start with. Put your apps there.

= 2.3
=== 28th July, 2022
* New routes command line helper command.
* plugin support added via the gear method.
* Restored support for mounting multiple apps.
* Add url_prefix option for mounting apps at different urls.
* Increase camping test limit to 5120 bytes. We needed just a bit more space.
* Add a book stub about Models.
* Add a chapter about middleware and how it works.
* Camping a '/' is now forcibly terminating each route. May revert this back if we run into trouble.

= 2.2
=== Never Released
* Updated ActiveRecord migrations class to reference version 6.1
* Removed deprecated gemfile definitions
* Rename deprecated methods
* Get tests to pass

= 2.1
=== 19th Aug, 2010 (whyday)
* Helpers#R now calls to_param on any object it passes in
* Fix route generation issue with routes including "." (#22)
* Improved tests
* Improved 1.9 support
* Camping::Server is now built upon Rack::Server
* Add support for ERB, Haml etc through Tilt
* Introducing Camping.options and Camping#set
* Camping::Server only loads ActiveRecord when needed

= 2.0
=== 9th Apr, 2010
* Speed-up of Camping::Mab (thanks zimbatm!)
* @state is now an alias of @env['rack.session']
* Camping.use injects a Rack middleware.
* Update Flipbook to RDoc 2.4
* Removed old examples.
* Updated examples/blog.rb
* Camping::Apps returns!
* Session-cookies now timeout naturally (thanks jenna!)
* You can now `throw :halt` to halt the response in a helper.
* Camping::H#u is gone (was an alias to merge!)
* Camping::Session now uses session-cookies. The AR-backend is gone for now.
* camping/db.rb has been renamed to camping/ar.rb.
* Camping now uses Rack internally. Every app responds to #call.

= 1.6
=== Never released

* Camping::Apps removed, it wasn't reliable.
* bin/camping server kinds splitted in various files.
* NotFound and ServerError controllers changed to methods :

  r404 : called when a controller was not found
  r500 : called on uncaught exception
  r501 : called on undefined method

  All of those can be overridden at your taste.

* Markaby no longer required. Like AR, is it autoloaded on (Mab) usage.
* Camping::H is now inheriting from Hash instead of HashWithIndifferentAccess.
* Which made possible to remove the last strict dependency : active_support
* #errors_for removed, it wasn't really used
* Bug fixes !

= 1.5
=== 3rd Oct, 2006

* Camping::Apps stores an array of classes for all loaded apps.
* bin/camping can be given a directory. Like: <tt>camping examples/</tt>
* Console mode -- thank zimbatm. Use: camping -C yourapp.rb
* Call controllers with Camping.method_missing.

    Tepee.get(:Index) #=> (Response)
    Blog.post(:Delete, id) #=> (Response)

    Blog.post(:Login, :input => {'username' => 'admin', 'password' => 'camping'})
      #=> #<Blog::Controllers::Login @user=... >

    Blog.get(:Info, :env => {:HTTP_HOST => 'wagon'})
      #=> #<Blog::Controllers::Info @env={'HTTP_HOST'=>'wagon'} ...>

* Using \r\n instead of \n on output. FastCGI has these needs.
* ActiveRecord no longer required or installed.
* If you refer to Models::Base, however, ActiveRecord will be loaded with autoload. (see lib/camping/db.rb)
* new Camping::FastCGI.serve which will serve a whole directory of apps
  (see http://code.whytheluckystiff.net/camping/wiki/TheCampingServer)
* ~/.campingrc can contain database connection info if you want your default to be something other than SQLite.

    database:
      adapter: mysql
      username: camping
      socket: /tmp/mysql.sock
      password: NOFORESTFIRES
      database: camping

* controllers are now *ordered*. uses the inherited hook to keep track of all
  classes created with R. those classes are scanned, in order, when a request is
  made. any other controllers are handled first. so if you plan on overriding the
  urls method, be sure to subclass from R().
* Console mode will load .irbrc in the working directory, if present.
  (for example, in my ~/git/balloon directory, i have this in the .irbrc:
  include Balloon::Models
  when camping -C balloon.rb gets run, the models all get included in main.)
* And, of course, many other bugfixes from myself and the loyal+kind zimbatm...
* Markaby updated to 0.5. (See its CHANGELOG.)

= 1.4.2
=== 18th May, 2006

* Efficient file uploads for multipart/form-data POSTs.
* Camping tool now uses Mongrel, if available.  If not, sticks with WEBrick.
* Multiple apps can be loaded with the camping tool, each mounted according to their file name.

= 1.4.1
=== 3rd May, 2006

* Streaming HTTP support.  If body is IO, will simply pass to the controller.  Mongrel, in particular, supports this nicely.

= 1.4
=== 11th April, 2006

* Moved Camping::Controllers::Base to Camping::Base.
* Moved Camping::Controllers::R to Camping::R.
* New session library (lib/camping/session.rb).
* WEBrick handler (lib/camping/webrick.rb) and Mongrel handler (lib/camping/mongrel.rb).
* Helpers#URL, builds a complete URL for a route.  Returns a URI object. This way relative links could just return self.URL.path.
* Base#initialize takes over some of Base#service's duties.
* ENV now available as @env in controllers and views.
* Beautiful multi-page docs without frames!

= 1.3
=== 28th January, 2006

* bin/camping: an application launcher.
* <tt>Camping.run(request, response)</tt> now changed to <tt>controller = Camping.run(request, env)</tt>
* This means outputting the response is the wrapper/server's job.  See bin/camping, you can do a controller.to_s at the least.
* <tt>Controllers::Base.env</tt> is the new thread-safe home for <tt>ENV</tt>.
* The input hash now works more like Rails params.  You can call keys
  like methods or with symbols or strings.
* Queries are now parsed more like PHP/Rails, in that you can denote
  structure with brackets: post[user]=_why;post[id]=2
* Auto-prefix table names, to help prevent name clash.
* Helpers.errors_for simple validation.
* Lots of empty :href and :action attributes, a bug.
* New single-page flipbook RDoc template.

= 1.2
=== 23rd January, 2006

* Camping.goes allows fresh modules build from all Camping parts.
* File uploads now supported (multipart/form-data).
* Helpers.R can rebuild routes.
* Helpers./ for tracing paths from the root.

= 1.1
=== 19th January, 2006

* Allowed request and response streams to be passed in, to allow WEBrick and FastCGI support.

= 1.0
=== 17th January, 2006

* Initial checkin, see announcement at http://redhanded.hobix.com/bits/campingAMicroframework.html.
