API – [v2.11.6]

In this release, we add a header to allow local caching to be ignored and we continue refactoring and fixing.

Added

  • We have added support for an `X-Skip-Cache` request header; If you include the header with your request we will skip response caching and fetch live values, please use this with care.

Changed

  • We have added separate links for the documentation and example page and the postman collection.
  • We have simplified our `\Model\Transformer` classes and made it possible to alter the returned data format.
  • We have added `public` as a sorting option for resource types.
  • We have reworked our pagination class; we have moved it to a new workspace and also improved how it works.
  • We have moved our `Hash` class; the `Hash` class now lives in the `Request` namespace.
  • We have moved our `ModelUtility` class: the `ModelUtility` class now lives in the `Models` namespace.
  • We have updated the indexes in our `Hash` request class; the indexes are consistent with the rest of the app.

Fixed

  • We have updated our pagination helper to include any defined filtering parameters.
  • We have corrected pagination calls in all our controllers; we now include all possible request parameters.
  • We have corrected calls to clear public caches; we were comparing different types.

API – [v2.11.5]

In this release, we add a documentation and examples page and start refactoring.

Added

  • We have added a documentation page; the documentation page links to the API documentation and includes a couple of examples.

Changed

  • We have updated the example ENV file.
  • We have renamed a couple of our helper conversion/validation classes and moved them to a new namespace.
  • We have made a minor content tweak on the landing page; the documentation button is in another section.
  • We have updated and relocated our validation classes; the validation classes are now part of the `App\Request\Validate` namespace.
  • We have reworked our summary controllers; we have removed some code duplication and added additional error checking.

Fixed 

  •  Incorrectly assuming the result will be an array with at least one value.

API – [v2.11.3]

For this release, we extend our local caching.

Added

  • We have added an application cache for collections; we include the ETag header however we are not yet returning a 304.

Changed

  • We have updated the caching system to respect the `cache` config setting.

API – [v2.11.2]

In this release, we tweak our local caching system.

Changed

  • We have split calls to clear public and private cache keys.
  • We only clear public cache keys when modifying a public resource type.
  • We have updated the web.config; the web.config file was referring to PHP7.3.
  • Added removed class type hints now that we are running PHP7.4.

API – [v2.11.1]

In this release, we are taking the first steps to add caching to the Costs to Expect API. We are starting with application caching, in a later version, we will add conditional caching, specifically through ETags, we will return a 304 when relevant.

Added

  • We have added an application cache for collections; we include the ETag header however we are not yet returning a 304.

Changed

  • We have moved our route validators; the route validators sit inside the `App\Request` namespace.
  • We have moved our `Header` utility class; the `Header` class sits inside the `App\Response` namespace.
  • We have moved our `RoutePermission` utility class; the `Permission` class sits inside the `App\Request` namespace.
  • We have moved and simplified our `Parameter` classes; the `Parameter` classes sit inside the `App\Request` namespace.
  • We have moved and renamed the `RequestUtility` class; the `BodyValidation` class sits in the `App\Request` namespace.

Website – [v1.12.5]

For this release, we made the necessary changes to work with v2.11.0 of the Costs to Expect API. As always, while we were making the changes, we tweaked and fixed a couple of things.

Changed

  • We are updating the Website to run on PHP7.4.
  • We have updated the Website to work with v2.11.0 of the Costs to Expect API. The format of the categories object was updated.
  • We have tweaked the Docker setup, we have added a network.

Fixed

  • When we hastily added the caching, we did not cache the response headers, only the body. We have updated the Website to cache the response body and headers.
  • We have removed a link that would direct the user to a page we know will not have content.

App – [v1.15.1]

For this release, we made the necessary changes to work with v2.11.0 of the Costs to Expect API. As always, while we were making the changes, we tweaked and fixed a couple of things.

Changed

  • We have updated the resource names on our dashboards; the names are now clickable links.
  • We have versioned our stylesheet and javascript includes.
  • We have updated the App to work with v2.11.0 of the Costs to Expect API; the routes for item category and subcategory relationships have changed.

Fixed

  • We have corrected the resource name shown on the resources page.

API – [v2.11.0]

In this release, we have added additional search and filtering options. The documentation for the API is available at https://postman.costs-to-expect.com; while writing the documentation for the API, we found several small bugs which we have fixed.

Added

  • We have added search to the categories summary endpoint.
  • We have added search to the subcategories summary endpoint.
  • We have added search to the resources summary endpoint.
  • We have added search to the resource-types summary endpoint.
  • We have updated the transfers collection; you can filter the results by an `item` ID.
  • We have updated the partial transfers collection; you can filter the results by an `item` ID.
  • We have added additional filtering options for collections. We have added `total` and `actualised_total` range filtering for the `allocated-expense` item type and `total` range filtering for the `simple-expense` item type.

Changed

  • We have added the documentation URI to the README and API; the documentation for the API is work in progress; it is almost complete.
  • We have added a version query parameter to the CSS include.
  • We have removed a unique index on the `item_transfer` table; the index was limiting the ability to transfer an item multiple times.
  • We have altered the format of the category and subcategory object for item relationships; the returned object is now a closer match to a category object.
  • We have updated the URIs for item category and subcategory assignments; the URI was singular for a collection.
  • We have updated the item delete endpoint; we did not return a conflict error before removing relationships.
  • We have tweaked the `type` for expense fields; we highlight that the supplied value should be a decimal string.

Fixed

  • The `name` field now displays as a required field in the items collection OPTIONS request.
  • The `filterable` array shows in the OPTIONS response for resource type items.
  • We have updated the namespace in a model.
  • We have corrected the case of a model name.
  • We have added the migrations for the original item-types, missing from the import.
  • We have added a database migration to update the `friendly_name` and `examples` data for `item-types`.
  • We have updated the delete item request; we delete the transfer log entries for the item.
  • We have updated two `item-type` summary endpoints to show they are sortable by `name`.

Removed

  • We have removed the category and subcategory item assigned URIs and replaced them with correctly named URIs for collections.

App – [v1.15.0]

In this release, we have updated the development dashboards; our dashboards are much closer to what we intend for the initial release. We have also added support for partial transfers and transfers.

Added

  • We have added the ability to transfer an item/expense from one resource to another.
  • We have added the ability to enter partial transfers for expenses.
  • We have added new and improved dashboards to all levels of the site; we show much more information than before, no longer just the total count/cost.

Changed

  • We have updated our roadmap; we have decided to expand the initial offering.
  • We have added a banner to the top of the site when it is in development mode; we will need to start locking partially developed features due to their scope—being able to see the site mode will hopefully help to reduce errors.
  • We have simplified the menu; we don’t need duplicated options in the App menu when there are on-screen controls.
  • We have tweaked the mobile layout; add, edit and delete controls are more visible and consistently positioned.