Our App is in the alpha stage, the beta is coming soon.

Icon
All the App releases

Our releases


Releases

This is the full changelog for the Costs to Expect App. In our updates we try not to say bug fixes and improvements, however, we may on occasion list slightly less detail here if we don't feel it is necessary to mention a change.

The Costs to Expect App consumes the Costs to Expect API, the full changelog for the Costs to Expect API can be found on GitHub, the API is Open Source.

Our changelog follows the format defined at https://keepachangelog.com/en/1.0.0/

[v1.21.0] - 2020-11-29

Added

  • We have added migrations for the job and failed jobs table; we are switching to queues.
  • We have switched to queues for cache clearing. Approximately 50% of our clear cache requests will be delayed and processed later; the rest of the clears are synchronous; it depends on where we are sending the user next.
  • We have altered the TTL for API responses; the TTL is defined based on the age of the data in the API response, we use the X-Last-Updated header.

Changed

  • Switching to named routes, work in process.
  • Minor tweak to the meta viewport tag.
  • We have reviewed the App and removed a couple of single instance classes and found better homes for some others.

[v1.20.0] - 2020-10-23

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.

[v1.19.1] - 2020-10-12

Fixed

  • We have updated the menu and dashboard to be aware of the new `game` item-type. We are testing the API and need to make the App aware of the item type, which it will ignore for now.
  • We have removed a rogue label on the dashboard.
  • We have corrected the cache TTL for any resource type requests; the TTL should be five minutes to ensure the menu gets updated.

[v1.19.0] - 2020-10-08

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.

[v1.18.1] - 2020-09-29

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.

[v1.18.0] - 2020-09-27

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.

[v1.17.2] - 2020-09-17

Added

  • We have added the ability to define a custom cache TTL for requests.

Changed

  • We have reduced the cache TTL for resource type and resource requests. The menu gets created from the data returned by the resource type and resource requests; we need to request new data from the API more often than we do currently.
  • We have updated the flash messages for resource type and resource creation. There may be a delay of up to five minutes before a new resource or resource type displays.

Fixed

  • We have corrected an error on the categories summary page; if no categories are defined, we incorrectly attempt to generate the summary blocks.
  • We have corrected an error on the annual summary page; if there are no expenses, we should not attempt to generate the summary blocks.

[v1.17.1] - 2020-09-11

Added

  • We have added a help block which will display when a resource doesn't exist.

Changed

  • We have tweaked the size of the text in our mobile menu.
  • We include the Javascript and CSS with a version based query string.
  • We have tweaked our dashboard layout; the dashboard matches the category and annual summaries.
  • We have updated our pagination helper; we no longer include non-configurable parameters in the pagination URIs.

Fixed

  • We have fixed a small issue in our CSS, which is stopping some of our mobile tweaks displaying.
  • We have updated out cache model; we don't fetch expired cache keys ready for clearing.
  • We have updated the menu; the define categories option will only display if you have permissions for the resource type.
  • We have corrected out pagination URIs; in some cases, the `filter` and `search` parameters are not correctly applied.

[v1.17.0] - 2020-08-31

Added

  • We have added filtering controls; the expenses returned can be limited by a start and end date.
  • We have added item tables to the annual and category summaries.
  • We have added management links to the summary pages.

Changed

  • We have tweaked the mobile layout for the `allocated-expense` item type; the expense effective date is not necessary for the mobile portrait view.
  • We have reworked the filtering controls for each of the item type tables; we need to make room for additional filtering controls, and we need more consistency.
  • We have made it simpler to switch between the live and dev APIs.
  • We have reworked all the code responsible for fetching request parameter types, be they filtering, pagination, sort, search or general parameters.
  • We have reworked all the dashboard code to increase code reuse among controllers and actions.
  • We have reworked the inline addition form.
  • We have updated all 'simple-item' lists, and each list will default to returning all the items in the collection in ascending order.
  • We have made several small tweaks to the design to improve readability and consistency.
  • We have updated all date range based total counts; the links go through to the relevant filtered list.
  • We have tweaked the way we pass a short-lived message to the views; we have removed some duplication.
  • We have created a new redirect handler and updated our controllers.

Fixed

  • We have corrected the name for one of our API requests.
  • We have corrected an issue with the search; the search term should be applied correctly to the URI.
  • We have corrected the comparison code; the percentages should be more accurate.
  • We have corrected the resource name which appears above the expenses table on the delete resource view.
  • We have corrected a cache keys issue, oops!

[v1.16.0] - 2020-07-06

Added

  • We have added a category and subcategory summary at the resource type and resource level if the item type supports assigning categories.
  • We have added an annual and monthly summary at the resource type and resource level if the item type supports an 'effective date' or similar.

Changed

  • We have tweaked the generated dates for our summary ranges; we use months and years to create the ranges rather than fixed numbers of days.
  • We have updated the add resource controls; the add resource controls will now only display on the dashboard and at the resource type level.
  • We have tweaked the spacing between 'dashboards'; the gaps were a little too large.
  • We have tweaked our design; our design was a little too bubbly; there is nothing wrong with corners.
  • We have removed inline styles.
  • We have reworked the code to fetch the items at a resource and resource type level; we have moved some of the logic into the `Requests` class.
  • We have updated our Roadmap.

Fixed

  • The delete action for resource types with item type simple-expense and simple-item no longer 404s; we implemented the resource version of tables.
  • We have updated the related expenses and items which display on an item page; the category and subcategory ids, the category ids are missing from the request URIs.

[v1.15.1] - 2020-06-06

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.

[v1.15.0] - 2020-05-23

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.

[v1.14.1] - 2020-05-09

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.

[v1.14.0] - 2020-05-05

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.

[v1.13.0] - 2020-04-29

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.

[v1.12.0] - 2020-04-24

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.

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 or not 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.
  • We have updated our roadmap.

[v1.11.1] - 2020-04-20

Changed

  • We have added a messaging wrapper to the App to simplify passing messages around; our solution was a little 'Wild West' so needed review.
  • We have defaulted to sorting resource types and resources in the menu in ascending order, by name. In later updates, we will allow you to pin your favourites, dictate the sort order and control whether public resource types get included in your results.
  • We have updated all the description form inputs; we have switched them all to `textareas`.
  • After feedback from Mrs Costs To Expect, I have switched the font that we use to display values.
  • We have made a couple of minor changes to the item detail pages; the categories and subcategories will collapse sooner for mobile screen sizes.
  • We have tweaked the design of the summary blocks; the content is more readable, and we have added the resource description.
  • We have extended our caching system to include the ability to fetch multiple keys by prefix. This change allows us to ensure there is less redundant data in the API after a data change and will enable us to be more targeted in our cache expiration.

Fixed

  • We have corrected the placeholder text for multiple `textarea` fields; the placeholder text was referring to the wrong entity.
  • We have corrected the link for the clear filters button; in some cases, the button would have an invalid URI.

[v1.11.0] - 2020-04-16

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.

[v1.10.1] - 2020-04-12

Changed

  • We have tweaked our roadmap; we have fleshed out the feature lists as well as added a note regarding the timeline for the public alpha.
  • We have added pagination to the tables on the item detail pages.
  • We have renamed a couple of the categories for our child expenses social project.
  • We have updated the intro text for all the data tables.
  • We have renamed a view variable; the intention wasn't obvious based on the name.

Fixed

  • We have fixed the resource id in the item detail URIs; always pointing to the primary resource id, not the resource id for the row.

[v1.10.0] - 2020-04-10

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.

[v1.09.0] - 2020-04-07

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.

[v1.08.1] - 2020-03-29

Changed

  • We have tweaked the styling for the `simple-item` inline addition form; we improved the spacing and size of the inputs.
  • We have tweaked the size of the inline increment and decrement controls.
  • We have added the initial sorting code to the Uri/Sort and the Uri/Mutate class; we have added the minimum code necessary to allow sorting by name, we will expand the feature later.
  • The `simple-item` item lists default to sorting by name in ascending order.

[v1.08.0] - 2020-03-28

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.

[v1.07.0] - 2020-03-26

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.

[v1.06.0] - 2020-03-23

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.

[v1.05.0] - 2020-03-18

Added

  • We have added the ability to create `simple-expenses` and `simple-items`.
  • We have updated the resource summaries; they are now specific to each item type.
  • We have added a visual guide to highlight active filters on data tables.

Changed

  • We have trimmed down the menu options dependant on the item type selected for a resource type. For example, the resource type view is unnecessary for `simple-expense` and `simple-item` item types.
  • We have updated the labelling on the create forms; the labelling is less generic.
  • We have tweaked the styling for the pagination controls and information section; they look less like actionable controls.

Fixed

  • The `description` and `publish after` fields were not getting sent to the API for a create allocated expense request.
  • The selected `year` and `month` values were not "sticky" in the filtering options.
  • The pagination controls will no longer expose any internal request parameters; the `include-categories` and `include-subcategories` parameters should not be controllable by the user.

[v1.04.0] - 2020-03-16

Added

  • We have updated the tables and filtering controls, they are now specific to the relevant item type.
  • We have added a new welcome page which replaces the existing sign-in page. The welcome page provides an overview of our project.
Changed
  • We have removed the `resource type` view for item types where it doesn't make any sense.
  • We have tweaked the design of the resource summary blocks.
  • We have removed unnecessary menu items for `simple-expense` and `simple-item` item types.
  • We have changed the resource summary blocks; we have customised them for each item type.
  • We have updated our roadmap.

Fixed

  • Removed excess `p` tag on the dashboard.

[v1.03.1] - 2020-02-22

Changed

  • We have added a helper method to the `Request\Response\Result` class, `hasResponse()`.
  • We have updated the `Request\Api` class to ensure a response exists before attempting to cache the result or results from multiple requests.
  • We have made some minor tweaks so that the app doesn't error when an unknown item type gets added to the Costs to Expect API.

[v1.03.0] - 2020-02-16

Added

  • We have added search to the resource type and resource `item` lists.
  • We have added helpful content sections which will appear when filtered lists fail to return any data.
  • We have added a sort icon to tables to highlight the default sort options, later will we add sorting for additional fields.

Changed

  • We have added 'Uri/Pagination', 'Uri/Sorts' and 'Uri/Parameters' class which are responsible for setting up the data ready to pass to the Uri/Mutate class.
  • We have added a 'Uri/Mutate' class; the class is responsible for assigning pagination, filtering, searching and sorting parameters to URIs.
  • The pagination limit values are centrally defined; this will allow us to offer custom limits in a much later version of the app.

Fixed

  • We have corrected a redirect; location incorrect after successful create request.

[v1.02.0] - 2020-02-13

Added

  • We have added pagination to the 'items' list on the resource type and resource dashboards.
  • We have added filtering to the 'items' list on the resource type and resource dashboards, you can filter for the category, the subcategory, the year and the month.
  • We have added a `Dashboard` data helper class which combines the asynchronous requests data with the dashboard structure.
  • We have added a helper section to the dashboard to explain why you might want to create a new resource type.

Changed

  • We have added a helper method to aid with setting up asynchronous requests.
  • We have modified the storage format for synchronous requests; there was a minor difference between the asynchronous and synchronous formats.
  • We have added a `Request/Response/Result` class and `Request/Response/Cache` class, ensures consistency in return types and storage data.
  • Response headers are always available.
  • We moved the cookie names to a configuration file, thereby removing duplication.
  • We have reworked the API requests section to match the new help sections.

Fixed

  • We eliminated one redundant API request on the dashboard.

[v1.01.0] - 2020-02-07

Added

  • We clear the cache for recent items after the creation of a new item.
  • We have added an alert to highlight when the Costs to Expect API returns a 503.
  • We have updated the filtering controls; the subcategory selectors populate when a category is selected.

Changed

  • We have updated the authentication to match v2.07.0 of the Costs to Expect API.
  • We have updated the 'valid.api.session' middleware to use the new 'auth/check' endpoint added in v2.07.0 of the Costs to Expect API.
  • We have updated the menu code; we execute the resource API requests asynchronously.
  • We renamed the cookies.

Fixed

  • Resource type id missing from the create item form.
  • We are not requesting the entire collection from the API when fetching categories and subcategories.
  • We have corrected a link on the dashboard.

[v1.00.0] - 2020-01-30 (Private alpha begins)

Added

  • We have added the home dashboard.
  • We have added the resource type dashboard.
  • We have added the resource dashboard.
  • We have added a privacy policy.
  • We have added the changelog.
  • We have added a roadmap.
  • We have added a cache management system for synchronous requests, caches response body and headers.
  • We have added an alternate cache management system for asynchronous requests, caches response body and headers.
  • We have added resource summary blocks to display resource totals.
  • We have added recent item tables for resource type items and resource items.
  • We have added the initial design for table pagination, filtering, sorting and searching, all non-functional.
  • We have added a link to the Costs to Expect service status page.
  • We have added a link to the Costs to Expect API.
  • We have added a link to the Costs to Expect Website.
  • We have added custom errors pages with links to the Costs to Expect service status page.
  • We have added the add expense form for allocation expense resource types.
  • We have added a preview of the form helpers, previous entries and preset entries.
  • We have made ajax requests more visual, it should be clearer which values are being updated

API Requests

Our App uses the Costs to Expect API. Our API is Open Source, in keeping with that we will be as open as possible.

The table below shows the majority of the GET and OPTIONS requests we made to the API, the page was generated from the responses.

Your Bearer was included with each of the API requests; the response from each request is personal to you.

Other than ensuring the Costs to Expect API is up and running we haven't needed to reach out to the API to generate this page.