.+document:  ChangeLog
.?release:   $Release: 3.1.2 $
.?updated:   $Date: 2006-10-22 12:04:52 +0900 (Sun, 22 Oct 2006) $


* Release 3.1.2 (2006-10-22)

  [enhancements from 3.1.1]

    - Error reporting improved when using with Ruby on Rails.
      'kwartz/helper/rails.rb' now show template filename and
      linenumber on where exception raised.
      Notice that you have to read *.cache file instead of *.html
      or *.plogic.


* Release 3.1.1 (2006-09-29)

  [changes from 3.1.0]

    - Testdata and documents are integrated with Kwartz-php.


* Release 3.1.0 (2006-09-24)

  [enhancements from 3.0.0]

    - Support of Ruby on Rails improved.
      Kwartz now provides template class for RoR.
      You don't have to convert *.html and *.plogic into *.rhtml.
      Kwartz directly render HTML page from *.html and *.plogic.
      See Kwartz Users' Guide for detail.
      http://www.kuwata-lab.com/kwartz/kwartz3-users-guide.03.html

    - New example 'example/rails2' added.
      It is a good example to use Kwartz with Ruby on Rails.

    - Command-line option '-l rails' support.  This option extends
      directives in *.html to support Rails helper methods.
      See Kwartz Users' Guide for detail.
      http://www.kuwata-lab.com/kwartz/kwartz3-users-guide.03.html#rails-helper-methods

    - (experimental) Embedded pattern '@{...}@' and  '@!{...}@' supported.
      They are equivarent to '<%=h ... %>' and '<%= ... %>' of ERB,
      but they are available for PHP and JSP as well as eRuby.

    - New command line optin '-a defun' support. It generates
      Ruby/PHP function to generate view page from *.html and *.plogic.

  [changes from 3.0.0]

    - Directive attribute name is changed from 'title' to 'kw:d'.
      You can change it in configuration file ('kwartz/config.rb').




* Release 3.0.0

  [enhancements from 2.0.4]

    - Presentation logic is described in target language.
      It means that you can write presentatin logic in Ruby, PHP,
      and so on.

    - New properties 'elem:', 'stag:', 'cont:', 'etag:' are added.
      They replaces element, start-tag, content, end-tag with
      expression value. This is useful especially for Rails.

      new.html : presentation data file
      --------------------
      <form id="mark:form">
        Name: <input type="text" id="user_name">
        <input type="submit" id="mark:submit">
      </form>
      --------------------

      new.plogic : presentation logic file
      --------------------
      #form {
        stag:  start_form_tag :action=>'create';
      }
      #user_name {
        elem:  text_field 'user', 'name';
      }
      #submit {
        elem:  submit_tag 'Create';
      }
      --------------------

      compile:
      ====================
      $ kwartz -p new.plogic new.html > new.rhtml
      ====================

      new.rhtml : compiled output script
      --------------------
      <%= start_form_tag :action=>'create' %>
        Name: <%= text_field 'user', 'name' %>
        <%= submit_tag 'Create' %>
      </form>
      --------------------

      See 'examples/rails1' for more details about Rails and Kwartz.

    - New keyword '_elem' added. '_elem' means element and
      it is equivarent to '_stag' + '_cont' + '_etag'.

    - New language 'rails' addes. It uses '<% -%>' instead of '<% %>'
      as embedded pattern.

    - New command-line option '-L layout' specifies layout file.
      ====================
      $ kwartz -p new.plogic -L layout.html new.html > new.rhtml
      ## this is equivarent to the following:
      ## $ kwartz -p new.plogic -i new.html layout.html > new.rhtml
      ====================

    - ...and more


  [changes from 2.0.4]

    - Property 'plogic:' is renamed to 'logic:'.

    - '@stag', '@cont', '@etag' is changed to
      '_stag', '_cont', '_etag' respectively.

    - Directive format is changed.
      See reference manual for details.

    - Directive attribute is changed from 'kw:d' to 'title'.
      (this may be change in the future.)

    - Directive 'id="replace:xxx"' is renamed to
      'id="replace_element_with_element:xxx"' and
      'id="replace_element_with_content:xxx"'.

    - Directive 'id="placeholder:xxx" is renamed to
      'id="relace_content_with_element:xxx"' and
      'id="relace_content_with_content:xxx"'.

    - 'analyze' action is obsolete (because presentation logic
      is described in Ruby, PHP, and so on).

    - 'defun' action is currently not supported
      (but is planned to be implemented in the future release).

    - Velocity is not supported.

    - Project name in RubyForge.org is changed from 'kwartz-ruby'
      to 'Kwartz', and gem file is also changed.

    - ...and more

.-document:
