App – [v1.13.0]

In this release, we have added resource type management, on creating a resource type you select your tracking method. We have also reviewed the App and added help text where we feel the user may need a little guidance.

Added

  • We have added the ability to create a resource type; when you create a resource type, you choose your tracking or forecasting method.
  • We have added the ability to edit a resource type; the forecasting method does not appear on the edit form; we can’t alter the tracking method once you have created a resource type.
  • We have added the ability to delete resource types.
  • We have added a new section which will display when there are no resources; the content will help guide the user.

Changed

  • We have made some minor tweaks to the styling of tables and definition lists.
  • We have reworked the “Start tracking” section; we have added additional information for each of the supported tracking and forecasting methods.
  • We have refactored our POST code; a little duplication crept in during the last two weeks.
  • We have refactored our PATCH code; a little duplication crept in during the last two weeks.
  • We have reviewed our App and added help text to guide and explain.

Fixed

  • We have corrected an issue related to editing expenses; our App was throwing a 500 error when editing simple-items.
  • We have updated a couple of our create and edit forms; the `required` style was missing from some textarea inputs.

App – [v1.12.0]

Added

  • We have added the ability to delete a resource; a resource is only deletable when it has no expenses or items.

Changed

  • We have tweaked our API requests; we will no longer include parameters that we know the API ignores.
  • We have updated the App to play better with the Costs to Expect API. Under certain conditions, there is a chance that the subcategory and category values will not save. The App will gracefully handle the malformed data and allow the user to correct the data.
  • We have reviewed the item (allocated-expense, simple-expense, simple-item) management code; we have renamed methods to be more explicit about intent and removed the little duplication that existed.
  • We have updated our roadmap.

Fixed

  • We have fixed the redirect after editing a resource; the App tries to send you to an action that doesn’t exist.
  • We have fixed a logic error when calculating whether new data is different to live data for editing; we need to clear the cache before we fetch the live data.
  • We have fixed a minor bug with the view helper for our messages, under certain conditions, messages will not correctly display.

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.