* [#54] Added DataMapper 0.9.3 support
* [#24] Added mack-mailer support.
* Added a rake tmp:clear task.
* [#48] rake generator:list now displays the correct names for the generator tasks.
* [#46] Calling .to_param on nil now raises a NoMethodError exception.
* [#47] rake gems:* tasks now work, and no longer require mack_ruby_core_extensions
* [#18] Added Page caching. All that's needed for using page caching is to require the mack-caching gem, turn on
page caching in your config files with:
use_page_caching: true
and, in your controllers, specify which pages you would like cached with the cache_pages directive:
cache_pages :only => [:index, :show] # you can also use :except
* [#43] Added a Mack::Utils::Registry class to allow for easy creation of registries.
* [#44] Mack::Runner has now been extended to allow for greater extension flexibility.
* [#42] Sessions can now be turned off globally using the app_config.mack.use_sessions switch.
* [#38] There is now a registry of Controllers that are in the system.
* [#36] Renamed the initialize method in the Mack::Controller module to configure_controller. This gives
control of the initialize method back to the class.
* [#31] Added support for ruby-debug.
* [#33] mack-active_record now requires ActiveRecord 2.0.2 explicitly, not >=2.0.2
* [#34] Mack::l10n now raises exception with a fully qualified name.
* [#7] Added support for Extlib::Hook in a few places.
* [#41] Deprecate orm_support.rb
* [#6] RJS support
* [#49] Making sure the orm tasks is available when orm_support is removed from the app_config
* [#49] mack-active_record: mack-active_record.rb will require mack-active_record_tasks.rb
* [#49] mack-data_mapper: mack-data_mapper.rb will require mack-data_mapper_tasks.rb
* [#49] Updated warning message if orm is defined in app_config (i.e. user only needs to require mack-[orm_name], instead of both that and mack-[orm_name]_tasks).
* [#50] Mack will now have 2 environment files: mack_core and mack_app. Mack.rb will load both files, but it gives other module a chance to load just the core files and not the application's files.
* [#51] Application generator should generate orm support in the right place
* [#52] mack-more: mack-[orm] should require mack-[orm].rb using its full path.
* gem: application_configuration 1.5.1
* gem: ruby-debug 0.10.0
* gem: data_mapper 0.9.3
===0.6.0.1
* Updated mack-localization (in mack-more) to be independent from utf8proc gem
===0.6.0
* INCOMPATIBILITY NOTICE: Moved Mack::Configuration.root to Mack.root
* INCOMPATIBILITY NOTICE: Moved Mack::Configuration.env to Mack.env
* INCOMPATIBILITY NOTICE: Mack::Configuration.* path methods no longer exist. Use mack-paths instead.
* INCOMPATIBILITY NOTICE: Dropped mack_ruby_core_extensions in favor or mack-facets
* INCOMPATIBILITY NOTICE: Mack::Controller::Base is now Mack::Controller (and it's now a module)
* INCOMPATIBILITY NOTICE: Haml renderer is now part of mack-more.
* INCOMPATIBILITY NOTICE: Markaby renderer is now part of mack-more.
* INCOMPATIBILITY NOTICE: Changed request param's accessor routine, from params(key) to params[key]
* INCOMPATIBILITY NOTICE: Test::Unit::TestCase is no longer the default testing framework, RSpec is. If you wish to use
Test::Unit::TestCase add the following config parameter to your config/app_config/default.yml file:
mack::testing_framework: test_case
* INCOMPATIBILITY NOTICE: ENV["_mack_env"] and ENV["_mack_root"] are no longer supported, please use ENV["MACK_ENV"] and ENV["MACK_ROOT"], or just Mack.env and Mack.root
* INCOMPATIBILITY NOTICE: MACK_DEFAULT_LOGGER constant is no longer available. Please use Mack.logger instead.
* INCOMPATIBILITY NOTICE: The ApplicationHelper module is now deprecated. Please move view level helpers into Mack::ViewHelpers::* and controller helpers into Mack::ControllerHelpers::<controller_name>
* thin.ru and thin.yml are no longer needed, you may delete them.
* RSpec assertions are now automatically added.
* Added a Mack::Testing::Response class to make testing of responses easier.
* moved test_extensions to testing and added the module Testing to the files in it.
* Added a dependency on mack-more
* Added a set of Rake tasks to update existing Mack applications.
* [#30] Added Mack::Logging::Filter to filter out unwanted parameters from the logs.
* In routing you can now define a route that will catch an Exception from another controller.
* ORM will not be initialized if the app never specify which ORM to use.
* All Mack unit tests are now written using rspec-1.1.4.
* mack command now takes an optional -t flag to determine which testing framework to use--value could be test_case or rspec [default]
* new setting added to app_config: testing_framework
* gem: cachetastic 1.7.2
* gem: application_configuration 1.5.0
* gem: erubis 2.6.2
* gem: genosaurus 1.2.1
* gem: thin 0.8.2
* gem: rspec 1.1.4
===0.5.5.4
* Fixed the damn Lint error some people were facing!
===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=<model_name> (optional: cols=<col_1>:<col_1_type>,<col_2>:<col_2_type>) This will also create a migration for you.
* Updated rake generate:migration name=<model_name> (optional: cols=<col_1>:<col_1_type>,<col_2>:<col_2_type>) 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=<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:<generator_name>
* 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