# $Id: Changes 94 2006-08-02 21:34:06Z dtikhonov $
Revision history for Perl module RT::Client::REST

0.21    Thu Aug  3 2006 "Dmitri Tikhonov" <dtikhonov@vonage.com>
  ! lib/RT/Client/REST.pm
    * Added support for attachments.

  ! lib/RT/Client/REST/Ticket.pm
    * Updated POD.

  ! lib/RT/Client/REST/Exception.pm
    * Added exception RT::Client::REST::CannotReadAttachmentException.
    * Jump version to 0.17 so that CPAN indexer does not bitch.

  ! t/22-ticket.t
    * Added test for RT::Client::REST::CannotReadAttachmentException.

0.20    Wed Aug  2 2006 "Dmitri Tikhonov" <dtikhonov@vonage.com>
  Added support for queues.

  ! lib/RT/Client/REST.pm
    * Modified method "show()" to accept non-numeric IDs for objects
      of type 'queue'.

  + lib/RT/Client/REST/Queue.pm
  + t/25-queue.t
    * Queue support.

  + examples/show_queue.pl
  + examples/create_user.pl
  + examples/list_tickets.pl
    * More examples.

  ! MANIFEST
    * Added new files.

0.19    Wed Aug  2 2006 "Dmitri Tikhonov" <dtikhonov@vonage.com>
  ! lib/RT/Client/REST.pm
    * Fixed a bug in 'create' and 'edit' -- introduced in 0.14 when
      APIs changed.  (Note to self - need a full-blown test suite).

0.18    Wed Aug  2 2006 "Dmitri Tikhonov" <dtikhonov@vonage.com>
  ! lib/RT/Client/REST.pm
  ! t/10-core.t
    * Added methods 'take', 'untake', and 'steal'.
    * If attribute 'server' is unset,
      RT::Client::REST::RequiredAttributeUnsetException will be thrown
      when a REST method is called.

  ! lib/RT/Client/REST/Exception.pm
    * Added exceptions:
      * RT::Client::REST::RequiredAttributeUnsetException
      * RT::Client::REST::AlreadyTicketOwnerException

  ! lib/RT/Client/REST/Object.pm
  ! t/20-object.t
    * Added convenience assertions methods:
      * _assert_rt_and_id
      * _assert_rt
    * Added assertions to methods 'retrieve', 'store', and 'count'.

  ! lib/RT/Client/REST/Object/Exception.pm
    * Added exceptions:
      * RT::Client::REST::Object::NoopOperationException
      *	RT::Client::REST::Object::RequiredAttributeUnsetException

  ! lib/RT/Client/REST/Ticket.pm
  ! t/22-ticket.t
    * Added methods 'take', 'untake', and 'steal'
    * Added assertions in a couple of places
    * Fixed up POD.

  + examples/take_ticket.pl
    * Taking a ticket.

  ! MANIFEST
    * Added new example.

0.17    Tue Aug  1 2006 "Dmitri Tikhonov" <dtikhonov@vonage.com>
  + lib/RT/Client/REST/Transaction.pm
  + t/24-transaction.t
    * Added transaction object.

  + examples/show_transaction.pl
  + examples/list_transactions_rt.pl
  + examples/list_transactions.pl
    * Some more examples.

  ! lib/RT/Client/REST/Ticket.pm
    * Added method "transactions()".

  ! lib/RT/Client/REST.pm
  ! t/10-core.t
    * Added methods "get_transaction_ids()" and "get_transaction()"

  ! lib/RT/Client/REST/Attachment.pm
    * After retrieving values, set everything to not dirty.
    * Fixed up POD.

  ! MANIFEST
    * Added new files.

0.16    Tue Aug  1 2006 "Dmitri Tikhonov" <dtikhonov@vonage.com>
  Added support for user object; other minor changes.

  + lib/RT/Client/REST/User.pm
  + t/21-user.t
    * Added user object.

  + examples/show_user.pl
  + examples/edit_user.pl
    * Examples of the user APIs.

  ! lib/RT/Client/REST.pm
    * If method "show()" is called to retrieve an object of type "user",
      'id' parameter does not have to be numeric.

  ! lib/RT/Client/REST/Exception.pm
    * Added RT::Client::REST::UnauthorizedActionException
    * Method _rt_content_to_exception() now returns a ready-to-throw
      exception with message set to massaged text from RT server.

  ! MANIFEST
    * Added new files.

0.15    Tue Aug  1 2006 "Dmitri Tikhonov" <dtikhonov@vonage.com>
  ! lib/RT/Client/REST/Ticket.pm
    * Fixed up POD.

  ! lib/RT/Client/REST.pm
    * Upped $VERSION to 0.15 -- no code changes.

0.14    Tue Aug  1 2006 "Dmitri Tikhonov" <dtikhonov@vonage.com>
  + lib/RT/Client/REST/Attachment.pm
  + examples/list_attachments.pl
  + examples/show_attachment.pl
  + t/23-attachment.t
    * New attachment representation.

  ! lib/RT/Client/REST/Ticket.pm
  ! t/22-ticket.t
    * Added method "attachments()".

  ! lib/RT/Client/REST/SearchResult.pm
  ! t/40-search.t
    * Changed APIs to be more flexible -- pass a closure to retrieve
      objects.

  ! lib/RT/Client/REST/Object.pm
    * Modified to work correctly with new REST.pm and SearchResult.pm APIs.

  ! lib/RT/Client/REST/Object/Exception.pm
    * Added RT::Client::REST::Object::IllegalMethodException

  ! examples/show_ticket.pl
    * Catch and display exceptions.

  ! lib/RT/Client/REST/Exception.pm
    * Added several exceptions.
    * Added POD.

  ! lib/RT/Client/REST.pm
  ! t/10-core.t
    * Modified "show()" and "edit()" methods to only accept a single ID.
      This is needed in order to correctly throw exceptions -- one object
      at a time, please.
    * Added methods "get_attachment_ids()" and "get_attachment()".
    * Removed list of exceptions (see Exception.pm docs).
    * Various small updates to POD.

  ! MANIFEST
    * Added the new files.

0.13    Mon Jul 31 2006 "Dmitri Tikhonov" <dtikhonov@vonage.com>
  Added searching APIs.

  ! lib/RT/Client/REST/Object.pm
    * Added methods 'search' and 'count'.
    * Updated POD.

  + lib/RT/Client/REST/SearchResult.pm
    * This class is an OO representation of search results.

  + t/40-search.t
    * Tests for RT/Client/REST/SearchResult.pm

  + examples/search_tickets.pl
    * Example of a search.

  ! lib/RT/Client/REST.pm
    * Added method 'search'.
    * Modified POD to reflect latest changes.

  ! t/10-core.t
    * Added test for method 'search'.

  ! lib/RT/Client/REST/Exception.pm
    * Added RT::Client::REST::InvalidQueryException
    * Added $VERSION

  ! lib/RT/Client/REST/Object/Exception.pm
    * Added two exceptions:
      * RT::Client::REST::Object::InvalidSearchParametersException
      * RT::Clite::REST::Object::InvalidAttributeException

  ! TODO
    * Search has been implemented.

  ! MANIFEST
    * Added search-related files.

0.12    Tue Jul 25 2006 "Dmitri Tikhonov" <dtikhonov@vonage.com>
  Refactoring and improvement continues.  Still very much beta.

  ! lib/RT/Client/REST/Ticket.pm
    * Added methods 'comment' and 'correspond'.
    * Added attribute 'last_updated'.
    * Added POD.

  ! t/22-ticket.t
    * Added tests for new methods and attributes.

  ! lib/RT/Client/REST.pm
    * Added 'cc' and 'bcc' support to 'comment' and 'correspond' methods.
    * Refactoring: moved forms functions and exceptions into their own files.
    * Fixed POD (s/=end/=cut/).
    * Throw 409 RT errors (syntax errors), since this client is not
      interactive.

  + lib/RT/Client/REST/Exception.pm
    * Refactoring: moved forms functions and exceptions into their own files.
    * Mapped 'does not exist' to ObjectNotFound exception.
    * Added RT::Client::REST::UnknownCustomFieldException.

  + lib/RT/Client/REST/Forms.pm
    * Refactoring: moved forms functions and exceptions into their own files.

  ! lib/RT/Client/REST/Object.pm
    * When creating an object, update $self with the new id.
    * Added support for fetching and updating custom fields.
    * Added method 'cf' for custom field manipulation.
    * Added POD.

  ! t/20-object.t
    * Added test for 'cf' method.

  + t/90-pod.t
    * Added POD tests using Test::Pod.

  ! examples/edit_ticket.pl
  ! examples/show_ticket.pl
    * Now rtserver is $ENV{RTSERVER} by default.

  + examples/create_ticket.pl
  + examples/comment_on_ticket.pl
  + examples/edit_custom_field.pl
    * More examples.

  ! Makefile.PL
    * Added dependency on Params::Validate.

  ! MANIFEST
    * Updated to reflect new tests, examples, and classes.

  + TODO
    * Added TODO file.

0.11    Sat Jul 22 2006 "Dmitri Tikhonov" <dtikhonov@vonage.com>
  ! lib/RT/Client/REST.pm 
    * Make $VERSION a string so that 'make tardist' works as
      expected (i.e. version 0.10 instead of 0.1).

0.10    Sat Jul 22 2006 "Dmitri Tikhonov" <dtikhonov@vonage.com>
  Started working on new APIs; new objects and file structure.

0.06    Wed Jul 12 2006 "Dmitri Tikhonov" <dtikhonov@vonage.com>
  * Method 'create' now returns numeric ID of the new object.
  * RT::Interface::REST is no longer a requirement.  If it is not
    installed, embedded copy of auxiliary methods is used.
  * Added tests.

0.05    Thu Apr 20 2006 "Dmitri Tikhonov" <dtikhonov@vonage.com>
  * Added RT::Client::REST::CouldNotCreateObjectException

0.04    Wed Apr 19 2006 "Dmitri Tikhonov" <dtikhonov@vonage.com>
  * Removed old print statements

0.03    Wed Apr 19 2006 "Dmitri Tikhonov" <dtikhonov@vonage.com>
  This is the initial release.

# vim:sts=2:sw=2:et:ft=changelog: