[Bps-public-commit] rt-extension-rest2 annotated tag, 1.01, created. 1.01

Jim Brandt jbrandt at bestpractical.com
Mon Nov 20 16:58:36 EST 2017


The annotated tag, 1.01 has been created
        at  f63872bbfa8bd5f709f3f06643fc6980ef85d246 (tag)
   tagging  64ca458fc72c68ff08805fd5910976eabc087f58 (commit)
 tagged by  Jim Brandt
        on  Mon Nov 20 16:58:09 2017 -0500

- Log -----------------------------------------------------------------
Releasing 1.01
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQEcBAABAgAGBQJaE0/xAAoJEBXncVGnZqUUF/AH/2iLZTNf3DIAEjxC66Op6RzL
Lb3/+s0NW8OT3Zthak0ry4XLEXASP2Jbo1eAd1rPWyhu3u2gRCYowdtqxWegTYaU
oEZYjxH2ZIFjztWuBx+bHOCwd/yxcoBgOCxk7yFtEU4c+u8YSyf3hUpRZzu1WE8g
ZUjrdJb7IB83t08xI7xdu1zjMDun0ppn2Y05kVEMoDMX7YP4KEkubROTW5+stCDx
wNVW2cAifGVdBSq8uASgjUS/qXzHMOTw4q7wufGxLEL9c/ku/bpxmGJUfyuB1L+b
R9NNh2/FeW0CMTrlxsQUJWHgIdxM2my8Xl59oM1oDIPZim2474YfWVGwPeAmKws=
=1buN
-----END PGP SIGNATURE-----

Alex Vandiver (3):
      4.2.4 was released with the relevant changes
      Swap to the simpler 4.2-style Plugin() line
      Connect to the database at request start, not app init

Dustin Graves (14):
      use Plack::Response->content_type instead of Plack::Response->header
      set Content-Length header on error_as_json response
      instead of using root user in tests, use a new user so we can test permissions without messing with root
      remove wallace at reis.me email address from tests
      add comments to test sections and some formatting changes
      remove SuperUser from test user and add CreateTicket/ShowTicket tests
      avoid "Use of uninitialized value in pattern match" warning
      ensure record _url property has API path e.g. /REST/2.0
      make tickets searches without results return 200 with an empty result set instead of 404
      have collections results use expanded UID for items instead of full serialization
      fix tickets tests reflecting new empty search results behavior from e94a59177 and fixed _url property from ecb7b2928
      Merge branch 'dev'
      remove redundant Ticket forbidden check - handled by Catch-All CurrentUserCanSee
      add basic Catalog support

Jim Brandt (13):
      Test showing incorrect id with Org containing dashes
      Parse Organization using the configured value
      Organization isn't always part of the uid
      Add tests for expand_uid
      Handle usernames with dashes
      Tests with a username with dashes
      Re-run expand_uid tests with dashed org name
      Add Test::WWW::Mechanize::PSGI as a testing dependency
      Add a CleanupRequest callback to clean up DBI state
      Merge branch 'no-shared-connections'
      Merge branch 'add-cleanup-callback'
      Module::Install updates
      Prep for 1.01 release

Shawn M Moore (110):
      Add ETag/If-Match to TODO
      Improve testing infrastructure so `prove -r -Ilib t` now works
      Regenerate build toolchain
      Move tests from t/acceptance so `make test` runs them
      Clarify t/main.t (and rename it to t/root.t)
      Clarify 404 tests
      Fix failing test due to warning in t/tickets.t
      Remove parameter validation todo tests
      Simplify and clarify tickets tests
      Replace TODO comment with TODO test
      Test the ticket search result content
      Subclass Test::WWW::Mechanize::PSGI
      Simplify the common case of processing JSON responses
      Replace PUT with PATCH
      Revert "Replace PUT with PATCH"
      Factor an update_record out of update_resource
      First cut of ticket update tests
      post_json and put_json helper methods
      Generalize self-link into arbitrary hypermedia links
      Combine roles as we consume them to detect method conflicts
      Add history hypermedia link to ticket
      Remove unused (and unwise?) imports from Web::Machine::Util
      Tests for searching collections with JSON
      Fix assignment of $ticket_id
      CRUD tests for Queues
      Avoid including fields for ACL-only roles
      Basic implementation and tests for transactions
      Factor out a Hypermedia role for resources
      Add hypermedia link from transaction to its attachments
      Handle GET ?query=... style searches
      Add helper methods for generating URLs
      Support for transaction history hypermedia for any object
      Test ticket -> transactions hypermedia
      Replace get_hypermedia with url_for_hypermedia
      Factor / handler into its own resource
      Switch from Web::Simple to Path::Dispatcher
      Avoid throwing JSON decode error if there's no query
      Switch history hyperlink to self-link + /history
      Broken URLs that hadn't 404'd before Path::Dispatcher
      Add Message resource for adding ticket reply/comment
      Add resources for transaction attachments
      Add each attachment as hypermedia, not a collection endpoint
      Add support for application/json in Message resource
      Add lifecycle actions to hypermedia links
      Basic ticket CF tests
      Single-value CF updates
      Make sure posting the same update doesn't result in changes
      Use a hash of CustomFields id -> value
      Support and tests for multivalue CFs
      Allow optional / after record id in paths like /ticket/1/
      Dispatch rules for /user, /user/1, and /users
      Fixup multivalue
      User CF tests
      Support /user/name
      Include RT::Link relations as hypermedia links
      Basic ticket watcher tests
      Implementation and tests for modifying multi-member roles
      Switch to using a variable for CF IDs in test
      CustomField endpoints
      Add hypermedia entry for each CF
      Add resources for custom roles
      Add custom role hypermedia
      Don't "clean up" custom role fields
      Custom role tests
      Tests for groups as core&custom role members
      Group and Groups resources
      Update TODO
      Allow web session and token-based auth
      Remove unused Download::CF resource
      Allow passing auth token via ?token= query param
      ETag and If-Match support for conflict detection
      Improve conflict tests
      Update TODO
      Expand auth docs
      Add history hypermedia for queues
      Add /queues/all endpoint
      Factor out a custom_fields_for function
      Avoid error trying to produce txn->CustomFields for non-Ticket records
      Only provide Last-Modified if the record type supports it
      Provide the usual UID-type response body when you create a record
      Allow specifying some POST/PUT parameters in URL
      Tutorial documentation
      Additional details in the tutorial
      Fix tests for creating and passing users
      Avoid CanonicalizePrincipal() not-defined errors on 4.2
      Avoid generating spurious deprecation warnings in serialize_record
      4.4 added SortOrder and SLADisabled to Queues
      Handle 4.2-era messaging differences in tests
      Duplicate OCFVs have differ in behavior between RT versions
      4.2 doesn't have custom roles, so skip CR tests
      Implement 403 on POST /ticket with no CreateTicket
      4.2.3-4.2.8 had a bug with creating tickets with no-permission CFs
      Add /rt endpoint
      Rewrite endpoint docs
      Produce root doc in text/plain too
      Improve /user/:name regex
      Support for /queue/:name
      Additional conditional requests doc
      Copyright 2015-2017
      Add support for assets and catalogs
      Add .../:id/history endpoints for users and groups
      Make cookie auth work under 4.2
      Remove unnecessary proxy middleware
      base_path not required in create_path
      Tutorial copyediting
      Regenerate toolchain
      Bump version to 1.00 to correspond with public beta
      More summary
      Remove 4.2.x version tests in 4.4 test files
      RT::Asset->Create handles CFs, so specify them there

Thomas Sibley (62):
      Skeleton
      Build and install toolchain and metadata
      Basic structure and a reading for a few resource types
      Use MooseX::NonMoose for immutable, inline constructors
      Move current_user into RTx::REST::Resource
      Update META
      Promote raw SQL dates to a standard format
      Use Module::Pluggable to setup all resources
      Require a new-enough version of Module::Pluggable
      I just released Web::Machine 0.12 which fixes this bug
      Deletable resources, either via ->Delete or ->SetDisabled(1)
      Provide user Privileged status as a boolean flag
      Provide user Disabled status from the Principal
      "no Moose" is redundant with namespace::autoclean
      Restructure Resource::Role::Record into a subclass and rejigger roles
      Use roles to determine allowed_methods
      Queues are deletable via disabling
      Remove a silly role
      Updatable records via PUT + JSON
      Destroy the record object before the request finishes
      Use an explicit base_uri rather than falling back to the default via undef
      Basic docs on current functionality
      Allow UID hashrefs to be resubmitted on update
      Add the resource url for each record
      Use Module::Runtime instead of UNIVERSAL::require
      Sub::Exporter is required for RTx::REST::Utils
      Refactor the record serialization logic into Util.pm
      Collections as resources, starting with Tickets
      Paging for collection resources
      Document the use of Last-Modified/If-Modified-Since and status codes
      Refactor UID expansion into a separate function for use elsewhere
      Serialize role group membership for records which have roles
      Note why we use the Perl API after calling ->Serialize
      Remove a TODO that's done
      Support for simple search syntax
      Return 400 Bad Request on malformed search queries
      Collection resources queryable by JSON structures
      Refactor the process_post which uses the GET handler to_json
      Allow POSTing to /tickets for searching as well
      Document collection resources a little more
      Updatable is now Writable and includes create via POST
      Refactor filter_input into deserialize_record in Util.pm
      Only call load if we found a bound id
      Deserialize roles when creating new records
      Note some pain points
      Standardize error responses
      Allow search and limit_collection to return status codes directly
      Malformed JSON request sanity checks
      Abstract out record creation from create_resource
      Add a logger in the PSGI environment which uses RT's logging framework
      Handle decoding of UTF-8 data in request (params and body)
      Basic CF support
      Automatic detection of resources isn't as simple anymore
      Provide a standard format_datetime() utility function
      RTx::REST->base_path to provide the path prefix for resources
      Standardize on full URIs under a _url key to reference resources
      Use a builder instead of a default subref so subclassing works
      Format DateTime CFs the same way as all other datetimes
      Expand image/upload CFs into a hash with filename, content-type, and a url
      Refactor record serialization logic into a Record::Readable role
      Downloading of object CF values via the previously generated urls
      Add my (incomplete) TODO list

Wallace Reis (40):
      Add notes for TODO
      Rename REST->app function
      Rename to RT::Extension::REST2
      Move Log middleware to its class
      Move Auth middleware to its own class
      Avoid '/REST/2.0' magical value
      Documentation changes
      Use Web::Simple as dispatcher
      RTx() provides both all_from and readme_from
      Baseline for viewing docs
      Recommends JSON::XS
      Bump VERSION
      Update Copyright
      Merge branch 'dev'
      Update README
      Bump perl version
      Update META.yml
      Add repo info
      rest_path has been removed, not necessary
      Merge branch 'dev'
      Add charset info to main doc page
      Custom Pod View and stylesheet
      Doc updates
      Tests baseline
      Tests for main endpoint
      Fix main endpoint dispatching
      Tests for unsupported requests
      Fix ticket listing dispatch and no rows response
      Add tests for ticket creation
      Extend tests for unsupported requests
      Add tests for 405 error response at main endpoint
      Status code for no rows should be 404
      Check that Location endpoint returns ok
      Update test deps
      Invalid input params should respond 400
      Fix response Location URL
      Error response in JSON format
      Add more ticket tests
      Ticket search - status code for no rows
      Ticket search - Yet more test

-----------------------------------------------------------------------


More information about the Bps-public-commit mailing list