App – [v1.11.0]

In this release, we have completed base item management and started work on resource management. For the next feature release, we are hoping to finish resource and resource type management and start work on the new dashboards.

Added

  • We have added the ability to delete an allocated-expense, simple-expense and simple-item.
  • We have added the ability to copy an allocated-expense, simple-expense and simple-item.
  • We have added the ability to create a resource.
  • We have added the ability to edit a resource.

Changed

  • We have re-organised our view components ready for the future Laravel 7 upgrade; we want to separate our view components from Laravel.
  • We clear the resource collection and item cache upon deletion.
  • We have made a few minor tweaks to the data tables at mobile screen sizes; the controls will now hopefully display as intended.
  • We have upgraded our roadmap, specifically feature readiness.

Fixed

  • We have corrected a spelling error on the landing page.
  • We noticed that the categories menu item is missing from the menu under certain conditions; we have added the menu item when it is relevant.

App – [v1.10.0]

In this release, we populate the item detail pages, fix a couple of permission visibility bugs and improve the performance of the App by removing redundant API requests.

Added

  • We have added helper methods to return the write permissions for all resource types and specific resource types.
  • We have populated the data on the item page for the ‘allocated-expenses’ item type.
  • We have added the detail page for `simple-item` and `simple-expense` item types.
  • We have added related ‘expenses/items’ tables to the item detail pages.

Changed

  • We have split the code that generates the menu; separated into code that fetches data from the API and the logic which creates the menu items.
  • We have removed some redundant API requests; with the split to the menu code, we can easily fetch resources and resource types without making any additional requests. 
  • We have tweaked our roadmap.
  • We have made the ‘cacheableGetRequest()’ method in the Request/Api class public; we need access to it outside of the class.
  • We have updated the redirect after a successful edit; we send the user to the item detail page.
  • We have updated the default ordering for simple-item collections.

Fixed

  • Edit controls are behind permission checks; buttons will only show when the user has the required permissions for the action.
  • We have fixed the visibility of a few table column headers; there could be a mismatch between when the value and heading displays.
  • We have corrected some rogue links.

App – [v1.09.0]

In this release, we are moving closer to having the detail pages for an item (allocated-expense, simple-expense, simple-item). The detail pages surface functionality: we need them in place to move on with development.

Added

  • We have updated the expense and item tables. The category and subcategory names are links which will set the category and subcategory filters.
  • We have added a configuration setting to control whether the app should cache API responses, useful for development.
  • We have added the initial design for the item (allocated-expense) page.

Changed

  • We have updated our roadmap; we have set the status for our release features.
  • We have tweaked our Docker setup; we can optionally connect to a local version of the Costs to Expect API.
  • We have altered the pagination limits; switched to 10, 25, 50, 75, 100 and 250.
  • We have added a default value for the API to use, defaults to https://api.costs-to-expect.com.
  • We have been busy refactoring the code for editing expenses and items; we have removed some duplication and added helper methods.
  • We have updated the `Uri\Sort` class; we have added the ability to define multiple sort parameters. 
  • We have updated the table pagination view component; sort options get applied to the pagination URIs.

API – [v2.10.0]

In this release of the API, we add support for partial transfers. Partial transfers allow you to portion a percentage of an expense from one resource to another. 

Using children as an example; you buy a cot for your child, later, when you have a second child you can transfer 50% of the expense to the second child if you reuse the furniture.

Added 

  • We have added a new route, `/resource_types/[id]/resources/[id]/items/[id]/partial-transfer`; A partial transfer allows you to transfer a percentage of the `total` for an item from one resource to another.
  • We have added an `item_transfer` table; the table will log which items were transferred and by whom.
  • We have added a partial transfers collection; the route is `/resource_types/[id]/partial-transfers`.
  • We have added a partial transfers item view; the route is `/resource_types/[id]/partial-transfers/[id]`.
  • We have added a transfers collection; the route is `/resource_types/[id]/transfers`.
  • We have added a transfers item view; the route is `/resource_types/[id]/transfers/[id]`.
  • We have added a delete endpoint for partial transfers.

Changed

  • We have reformatted the validation rules in the configuration files; easier to read and simpler to add additional rules.
  • We have switched the HTTP status code for a “Constraint error” from 500 to 409.
  • We have tweaked the description for the resource field in the `/resource_types/[id]/resources/[id]/items/[id]/transfer` OPTIONS request.
  • We have renamed the third parameter of the route validation methods; we changed the name from `$manage` to `$write`.
  • We have renamed a response helper method; it was not clear from the name that the method is used for updates and delete.

Fixed

  • It is possible to set the quantity for a `simple-item` item as zero.
  • It is possible to clear optional values in a PATCH request.

App – [v1.08.0]

In this release, we update the management of `simple-item` items. You can add items directly from the data table as well as adjust the quantity.

Added

  • We have added an inline form to the `simple-item` data table; this allows quick addition of items.
  • We have added increment and decrement buttons to the `simple-item` data table; these enable the quantity to be adjusted swiftly.

Changed

  • We have renamed the $allow_edit variable; based on our permission system, $write_access is a more suitable name.
  • We have slightly reduced the cache lifetime; the App cache is a short-term solution until we add caching to the Costs to Expect API.
  • We have tweaked the `simple-item` data table; we hide the “Created” column at mobile screen sizes.
  • We have tweaked the API requests data table; we hide the “Response” and “Method” columns at mobile screen sizes. 

App – [v1.07.0]

In this release, we have added editing. You may be wondering why it took so long, well, we wanted to get the base of the App just right before we started to increase functionality. 

Added

  • We have added the ability to edit `allocated-expenses`, `simple-expenses` and `simple-items`.
  • We have added edit icons to the resource data tables.

Changed

  • We have added the missing metadata necessary for share cards.

Fixed

  • We have updated the layout file for our error pages, the inline styling; Our Content Security Policy was not keen on the inline styles.

API – [v2.09.4]

For this release, we make a couple more changes, changes that do not only exist to help the App. If you review the API response for an `item` with the relevant include parameters set, it makes sense to include the `uri` field.

Changed 

  • When a response includes additional data via the include parameters, we include the URI fragment for that data.

API – [v2.09.3]

This release is a small point release to “assist” with development of the edit functionality within the App. 

The new parameters exist for the collection; in adding them for an ‘item’, we are not bending the API to the will of the App. The scare quotes are present because we would prefer not to add support to an ‘item’; however, the performance gain is substantial.

Changed

  • We have updated the `resource-types/[id]/resources/[id]/items/[id]` GET endpoint; the `include-categories` and `include-subcategories` can be included in the request for ‘allocated-expense’ and ‘simple-expense’ type items.

App – [v1.06.0]

In this release, we become a better internet citizen, make managing assigned filters easier, tweak our styling and fix some bugs.

Added

  • We have added the expected security headers to be a better web citizen.
  • We have added an assigned filters section above data tables; it is simpler to remove a set filter.

Changed

  • We have switched to a new font; the font is more legible at small screen sizes, and, it looks cool.
  • We have updated our front-end dependencies.
  • We have updated our back-end dependencies.
  • We have tweaked the styling of the “Start tracking” section.

Fixed

  • We have tweaked the styling of the “API requests” table for mobile screen sizes.
  • We have updated our Uri/Parameters class; it casts parameter values to the expected type to allow more strict checking later in the flow.
  • We have removed an infinite redirect; Mrs Costs to Expect wasn’t happy that she couldn’t log in.

API – [v2.09.2]

We have pushed out a point release of the API, lots of small tweaks.

Changed

  • We have switched to a new font; the font is more legible at small screen sizes, and, it looks cool.
  • We have reviewed our HTTP headers; Content-Language missing along with other expected headers.
  • We log the id of the user that added a user to the ‘permitted_user’ table; this is to help later with permitted user management.
  • We have updated the API to the most recent version of Laravel 6.

Fixed

  • The `description` field for the `simple-item` type should be nullable.