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.

App – [v1.14.1]

In this release, we fixed several small bugs and made some tweaks. The next release will focus on the dashboards, so we wanted to clear the decks.

Changed

  • We have updated the pagination parameters helper; we have added the ability to override the default pagination limit and offset.
  • We have updated our cache management class; we can now optionally clear the cache for summary routes.
  • We have updated the confirmation messages for items; the confirmation messages will correctly refer to the item type.
  • We have updated all the API class fetch functions; we have added an optional parameter to force the local cache to be clear before a fetch.
  • We have reviewed the cache keys we clear after API POST, PATCH and DELETE requests.
  • We have tweaked the summary blocks again; we are slowly getting the design right.
  • We have moved the delete confirmation buttons; the buttons will be above the fold.

Fixed

  • We have fixed the pagination on the item detail pages; the pagination controls were non-functional.
  • We have fixed an issue with the create allocated expense form; the copy item logic was throwing an error.
  • We have fixed an issue with the copy functionality; two values do not get populated on the form.
  • We have fixed an issue with the create forms; we are passing an incorrectly formatted date to the date fields.
  • We have updated the summaries when a resource has no items/expenses; the last updated date incorrectly gets set to 1st Jan 1970.
  • We have corrected a couple of views within the App. We were assuming types of data would exist when they won’t for new users.

App – [v1.14.0]

In this release, we add the final missing piece for the base of the App, categories management.

Added

  • We have added an overview page for resource type categories; the overview page acts as the base for all category and subcategory management.
  • We have added the ability to create categories and subcategories. When creating a subcategory, you are not required to assign it to the category you selected initially.
  • We have added the ability to delete categories and subcategories. If you are unable to remove a category, we add a message detailing the number of dependant subcategories and linked items/expenses. We provide similar information for subcategories.
  • We have added the ability to edit categories and subcategories. 

Changed

  • We have tweaked our request and cache classes; in some instances, we were making a redundant call to the cache table.
  • We have upgraded our App to the latest version of Laravel v7.
  • We have upgraded our server environment to PHP 7.4.

Fixed

  • The description for some required textarea fields referred to them as being optional.