API – [v2.06.2]

In this release, we continue our long-term task of ensuring the API can handle all the different item-types we have planned. The initial version of the API focused on expenses; slowly, we are adjusting the API to a more modular system.

Added

  • We are now locally caching the permitted and viewable resource types; this change means we can skip a more expensive query per API request whilst the response is cached, we are experimenting with the TTL.

Changed

  • We have added item name and description fields to the partial-transfers collection.
  • We have updated the schema for partial-transfers.
  • We have updated the game item-type; the winner field will now be null or an object, the object will have an id and a name.
  • We have updated the OPTIONS request for the game item-type; the allowed values for the winner field will display if necessary.
  • We have tweaked our middleware; we use our Hash class rather than duplicating the effort.
  • We have created several new classes to generate the allowed values data; these new classes are specific to each of our supported item-type. This change will speed up the OPTIONS requests for the non allocated-expense item type as we will no longer query the database when we know there will be no results.
  • We have added a check to limit access to the partial-transfers route. The ‘allocated-expense’ item-type supports the partial-transfers feature, partial-transfers don’t make sense for the other item-types.
  • We have drastically simplified route validation. The API controls access to resources at the resource type level; we have updated all route checks to validate the requested resource type rather than validate specific access to the request entity.

Fixed

  • We have corrected several configuration file calls; our calls were looking at transfers, not partial transfers.
  • We have added localisation files for the simple-item and game item-type, several were missing.

App – [v1.20.0]

In this release, we add the dashboards for our new board, card and dice game tracking feature. The feature isn’t quite complete; we introduced a couple of issues in the last release so needed to ship early.

Added

  • We have updated the main dashboard; our main dashboard supports the game item-type.
  • We have added the resource level game item-type dashboard.
  • We have added the resource-type level game item-type dashboard.
  • We have added a toggle to allocated-expense item-type tables; you an optionally include unpublished expenses in the tables.
  • We have added the effective date for an allocated-expense to the item detail page.

Changed

  • We have updated our error messages; our messages will provide a little more detail.
  • We have updated our no-resource view helpers; the help message we display will be specific to the item-type selected when creating the resource type.
  • We have updated our create, delete and edit resource forms; at the resource level, we know the selected item type, we have customised the language to match the item type.
  • We have updated our delete and edit resource type forms; we know the selected item type so have customised the language to match the item type.
  • We have added item subtype support for all our item forms; the App is aware of the resource subtype and loads the form based on the selected item subtype.

Fixed

  • We have fixed the URIs to fetch resource types and resources, there was a rogue question mark for the limit parameter.
  • We have fixed an issue with our copy and edit item forms; the App was unable to preselect the category and subcategory.

API – [v2.16.1]

In this release, we correct a minor cache issue and add extra information to resource type objects.

Changed

  • We have updated the friendly_name for item types; the updated names provide more information and make customising the App simpler.
  • We have updated the item-type object included within the resource type object; the item-type object will include the friendly_name field.
  • We have updated the description for our game item type; we are going to support dice games.
  • We have removed the duplicated includeUnpublished functions and added a reusable method to our Clause class.
  • We have disabled sessions for our web routes.

Fixed

  • We have corrected an issue with our cache; we were incorrectly creating public cache entries rather than private cache entries. No data is leaking because the cache for resource types controls access and the resource type cache is correct.
  • We have renamed the method which adds the clause to include unpublished costs. By default, the method excludes unpublished expenses, so we renamed the method to make the intention clear.

API – [v2.16.0]

In this release, we add initial support for our new feature, Board and Card game scoring. We expect there will be a couple of point updates as we develop the rest of the new feature in the Costs to Expect App.

Added

  • We have added a migration to create the `game` item-type table.
  • We have added the configuration for the `game` item-types.
  • We have added a schema for the `game` item-type.
  • We have added a schema for the `game` resource type item-type.
  • We have updated the item and resource type item collections; the collections are aware of the new `game` item-type.
  • We have updated the summary routes; the item and resource type item summaries are aware of the new `game` item-type.

Changed

  • We are upgrading summaries; the new `game` summaries include much more information than other summaries. We will upgrade all the summaries a little bit at a time.

Fixed

  • We have removed a rogue validation rule present in the POST request for the `allocated-expense` item type.
  • We have updated the item category and subcategory assignment routes. Category and subcategory assignment routes can show more than one item in the collection if the item-type configuration allows.

API – [v2.15.0]

In this release, we fix a long-standing issue with the API. The item categories route is plural; however, nothing else in the API supports multiple category assignments existing. We have added a category and subcategory limit, which is definable per item-type.

Added

  • We have added an item-subtype table; the subtypes will allow us to customise individual item-types within the Costs to Expect App.
  • We have added a migration for the new item-type and the subtypes supported by the item-type.
  • We have updated all resource collection and item response, we will include the selected item-subtype in the response.
  • We have added an item-subtype schema.
  • We have added an assigned-category schema for category assignments.
  • We have added an assigned-subcategory schema for subcategory assignments.

Changed

  • We have modified the unique indexes on the item_category and item_sub_category table; we need to remove the unique index to allow multiple category assignments per item.
  • We have updated create resource; we need you to define the item-subtype when creating a resource.
  • We have added comments to the allocated-expense and simple-expense models. We left join to the category and subcategory tables knowing there will only ever be at most one category. For later item-types multiple categories will get assigned to an item, we will need to come up with an alternative solution.
  • We have updated the clear cache calls for delete requests; we no longer add a job to the queue, we clear the cache synchronously.

Fixed

  • We have updated create resource type; we didn’t start a transaction.
  • We have updated the returned response after creating a resource type; the chosen item type will now show in the response.

App – [v1.19.0]

In this release, we update the App to support the recent change to the Costs to Expect API to allow multiple categories.

Added

  • We have added a help section which details the behaviour of each item subtype; the helper will show below the create resource form to allow a more informed choice.
  • We have added total counts to all the summary pages, the total item count will display alongside the total.

Changed

  • We have updated the create resource type form; the supported item types come from the Costs to Expect API rather than being defined in the view.
  • We have updated the create resource form; the supported item subtypes display, and an option needs to be selected.
  • We have updated the help section that details the supported tracking methods (item types).
  • We have moved the tracking method selector on the resource type form; the tracking method is the first field on the form.
  • We have updated any tables that can include categories and subcategories; we have updated the App to handle the new format of categories from the Costs to Expect API.
  • We have updated the item detail pages; we have updated the pages to handle the new format of categories from the Costs to Expect API.

Fixed

  • We have tweaked the expense tables for mobiles screen sizes; we removed an unnecessary header.
  • We have fixed the category and annual summaries; we didn’t update the summary pages for the last release.

Website – [v1.13.1]

In this release, we update the website to support the latest changes to the Costs to Expect API.

Changed

  • We have updated all our dependencies, front-end and back-end.
  • We have updated the website to handle the new format of categories from the Costs to Expect API.
  • We have slightly tweaked the look of categories in the expense tables.

App – [v1.18.1]

In this release, we tweak our cache, stop invalid requests and improve the UX.

Changed

  • We have updated the size and spacing between the control buttons for all layout sizes.
  • We have updated our back-end dependencies.
  • We continue to tweak the default cache TTL whilst we try to find the ‘right’ value
  • We have set request limits, five resource types, each with up to ten resources; we expect these limits to be the limits for free accounts.
  • We have updated the resource and resource type level dashboards; the recent expenses/items requests are sent independently to the summary requests, pagination of the list meant all summary counts were being re-requested when unnecessary.

App – [v1.18.0]

In this release, we have updated the App to support v2.140 of the Costs to Expect API, specifically, support for multiple currencies.

Added

  • We have updated the App to use the latest version of the Costs to Expect API; the App now supports multiple currencies.

Changed

  • We have made a minor tweak to the layout of the detail page for the allocated-expense type.
  • We have continued to tweak the default cache TTL; we are trying to find a value that works.

API – [v2.14.0]

In this release, we have added support for multiple currencies; our API no longer assumes you are a resident of the UK. We are starting with GBP, USD and EUR; we will add support for other currencies as necessary.

Added

  • We have updated the API to support multiple currencies, we are starting with GBP, USD and EUR.
  • We have added a /currencies route to detail the supported currencies.
  • We have increased the scope of our development test suite, specifically with regards to summaries.
  • We have added a /queue route to show the number of jobs in the queue.

Changed

  • We have updated our item collections. If the item type includes a monetary value, a currency object will be part of the response.
  • We have updated the relevant item POSTs, currency_id is now required.
  • We have updated the relevant item PATCHes, `currency_id is an allowable field.
  • We have updated our item summaries, the format of the response summary objects supports multiple currencies if necessary.
  • We have updated our resource type item summaries, the format of the response summary objects supports multiple currencies if necessary.