===0.5.5.3 * Restored compatibility with Passenger and the next version of Thin. * Fixed 'requires' out of order in certain flavors or unix. Hopefully. ===0.5.5.2 * Fixed an issue where if there are no parameters for render(:url) it will blow up. ===0.5.5.1 * Generated applications were still being generated with @content_for_layout instead of yield_to :view in application.html.erb. ===0.5.5 * INCOMPATIBILITY NOTICE: Ripped apart the ENTIRE rendering engine and rewrote it from the ground up. This means that wherever you are using 'render' calls in your views and controllers need to be changed. The new format is render(type, value, options). Examples: render(:action, :show), render(:url, "http://www.mackframework.com"), etc... * INCOMPATIBILITY NOTICE: Files named *.xml.erb need to be changed to *.xml.builder to use the Builder::XmlMarkup library. If you leave the .erb extension on there the file will be run through Erubis. * INCOMPATIBILITY NOTICE: <%= @content_for_layout %> is now <%= yield_to :view %> * Added Markaby support. * Added Haml support. * Added content_for and yield_to methods in views. * Erubis compiled templates are now cached for increased performance. * Added render(:inline) and render(:template) support. * Refactored, and reorganized some files to clean up the gem. * Fixed bug with cookies not merging with configured app_config parameters. * Added mime-types. The 'Content-Type' header is now being set based on the format that is requested. Default is text/html. * Fixed r.defaults in routes so they are always the last routes to be checked, no matter where they are placed in the routes definitions. * render(:url) now recognizes 'local' urls and tries to run them through the app, mimicking most headers from the original request. * Added 'options' banners to the mack and mack_ring_server binaries. * gem: genosaurus 1.1.8 * gem: mack_ruby_core_extensions 0.1.28 * gem: markaby 0.5.0 * gem: mack-data_mapper 0.5.5 ===0.5.0 * Added rake db:create and db:create:all rake tasks. * Refactored out constants, such as MACK_ROOT and MACK_ENV and made them into Mack::Configuration.env, Mack::Configuration.root, etc... * Added test:stats and test:coverage Rake tasks. * Removed support for ActiveRecord and DataMapper and moved them into their own gems. * Fixed a bug where yields in ERB weren't giving the desired results. * DataMapper database.yml file can now be nested, and is generated as such. * Cleaned up some tests, and refactored the HTML generation stuff. * Fixed a bug with the scaffold generating 'bad' methods instead of 'post' * Made error_messages_for more compatible with DataMapper. * Fixed a bug loading url.rb and uploaded_file.rb found by Phil Darnowsky * [dsutedja] Render method (in controller_base) now accepts response status code. * gem: mack_ruby_core_extensions 0.1.23 * gem: genosaurus 1.1.4 * gem: datamapper 0.3.2 * gem: rcov 0.8.1.2.0 * gem: mack-data_mapper 0.5.0 * gem: erubis 2.6.0 ===0.4.7 * Added Mack::Request::UploadedFile class to make dealing with file uploads easy. * Fixed bug where if a controller didn't exist it wasn't checking the public directory. * Generated DataMapper models no longer extend DataMapper::Base, but rather 'include DataMapper::Persistence'. This corresponds to the 0.9.0 upcoming release of DataMapper. * Fixed a bug in request.params that was making file uploads into strings. * Namespaced resourced routes, such as Admin::UserController, now work. * Added rake generator:list task to list all the available generators. * scaffold generator now creates a stub functional test. * model generator now creates a stub unit test. * Rake tasks in plugins now show up in the Rake tasks list. * All generators, including the 'mack' binary are now using Genosaurus. * [dsutedja] initializer will load Mack::Configuration.app_directory/controllers/default_controller.rb if it exists * [dsutedja] added link_image_to and image_tag to html helper. * gem: thin 0.8.1 * gem: genosaurus 1.1.1 ===0.4.6 * Mack now uses Erubis, http://www.kuwata-lab.com/erubis/, for it's rendering engine instead of ERB. This makes Mack even faster now! Yippie! * Added rake generate:model name= (optional: cols=:,:) This will also create a migration for you. * Updated rake generate:migration name= (optional: cols=:,:) This will create the proper table migration for you. * Updated rake generate:scaffold to use the ModelGenerator now. * ScaffoldGenerator now create input fields based on the type of columns, if any, passed in. * Overall general refactoring of the generator classes. * Fixed a bug with request logging not, well, logging. * gem: erubis 2.5.0 * gem: thin 0.8.0 ===0.4.5 * Removed boot.rb file. It was unnecessary. * When a new Mack application is generated the Rakefile that gets generated is stamped with the Mack gem version used to create it. This ties the project to that gem. This can, of course, be upgraded as new Mack gems come out, but it's a good way of tying your app to a specific revision of Mack. * Added support for migrations for both ActiveRecord and DataMapper. DataMapper migration support requires DataMapper 0.3.0 gem. Please keep in mind, though, that DataMapper 0.3.0 has a serious bug in it, which may prevent you from using it. Please see http://www.mackframework.com/2008/04/09/horrible-bug-in-datamapper-030/ for more information. * Rewrote distributed routing support to use Rinda inside of plain old DRb. This makes for an almost zero configuration usage. * Added: mack_ring_server binary to start a Rinda ring server for use with distributed routing. * Sqlite3 is now the default database for Mack applications configured with ORM support. * Added a test helper method, rake_task, to aid in the testing of Rake tasks. * Added: rake generate:migration name= * Added: rake db:migrate * Added: rake db:abort_if_pending_migrations * Added: rake db:rollback * Added: rake db:version * Added: rake mack:ring_server:start * Added: rake mack:ring_server:stop * Added: rake mack:ring_server:restart * Added: rake mack:ring_server:services:list * gem: application_configuration 1.2.2 * gem: daemons 1.0.10 ===0.4.2.1 * Fixed bug with gems:list rake task that was looking in the wrong path for the gems.rb file. ===0.4.2 * Added config/initializers directory. All files in this directory will be required at start up time. * Gems can now be required simply using the initializers/gems.rb file and the require_gems method. * Added gems:list and gems:install rake tasks. The gems:list task will list any gems being required for the application. The gems:install task will install all the gems being required for the application. * Filters in controllers can now be inherited from parent controller classes. * gem: mack_ruby_core_extensions 0.1.5 * gem: thin 0.7.1 ===0.4.1 * Improved testing support. * Added assigns support to testing. This is allows for pulling instance variables that were set in a controller to tests. * Added ability to do 'session' based tests. * Added assert_difference method. * Added ability to set/remove cookies before requests are made. * gem: mack_ruby_core_extensions 0.1.4 ===0.4.0.1 * gem: cachetastic 1.4.2 ===0.4.0 * Added Distributed Routes! * gem: mack_ruby_core_extensions 0.1.3 * removed gem: ruby_extensions ===0.3.0 * Ticket: #8 Xml Builder Support * Ticket: #7 Ability to drive certain content based on 'format' * Ticket: #9 Added a global encryption system to make encrypting/decrypting of strings easy to use. * gem: builder 2.1.2 * gem: crypt 1.1.4 ===0.2.0.1 * gem: cachetastic 1.4.1 * gem: application_configuration 1.2.1 ===0.2.0 * ticket: 3 Render url in Controllers/Views * ticket: 5 Render Extension System. ===0.1.0 * Added an inflections system. The default inflections are from Jeremy McAnally's great Rails plugin, acts_as_good_speeler. Thanks Jeremy! http://www.jeremymcanally.com/ * Added a to_params method to Hash to help with testing. * Added rake generate:scaffold task. ===0.0.7.0 * Fixed [#18488] Recommend moving files under lib/ ===0.0.6.2 * gem: thin 0.7.0 * gem: cachetastic 1.3.1 * Fixed 18487: #convert_security_of_methods ignores new_level param ===0.0.6 * rake generate: * rake generate:plugin - will generate the stub of a plugin in the vendor/plugins directory. * rake dump:config - prints out the configuration information for the specified environment. * redirect_to now takes an optional Hash as a second parameter, instead of a fixnum. * redirect_to will now do server side redirects if passed :server_side => true as part of the optional second argument Hash. * plugin in support. plugins get loaded before the 'app' directory. each plugins 'lib' directory is added to the global load path and then each plugins 'init.rb' file is called, which is responsible for loading the necessary files. The 'lib' directories are finally removed from the global load path. * renamed initialize directory to initialization. moved logging, orm_support, and plugins to a subfolder called initializers. ===0.0.4 * gem: rack 0.3.0 * gem: ruby_extensions 1.0.11