#### 2.16.0: Release

 - Add stack update instuctions (#5411)
 - docs: Add note about network policies in kubernetes (#5407)
 - fix(ci): Adjust detect_changed_files script to run properly against default branch
 - ci: Replace tj-actions/changed-files with custom approach (#5325)
 - Fix the env var table for admin view & update the admin views to use ff-page (#5399) @joepavitt
 - docs: Update stacks documentation (#5414) @ppawlowski
 - Bump vite from 5.4.16 to 5.4.17 (#5406) @app/dependabot
 - Nr logs jump to time (#5371) @hardillb
 - Add guard against loading git tokens if feature unavailable (#5413) @knolleary
 - Fix formatting on pipeline docs (#5412) @knolleary
 - Add Git Integration to Pipelines (#5367) @knolleary
 - Fix closing HTML tags in email (#5410) @hardillb
 - Update device provisioning docs (#5400) @Steve-Mcl
 - ci: Send notification on failed `Publish` workflow (#5405) @ppawlowski
 - copy: Update wording to talk about Remote instances (#5397) @ZJvandeWeg
 - Support auto provision of device to application (#5394) @Steve-Mcl
 - Prompt users with "Restart now" dialog when making settings changes (#5374) @joepavitt
 - Enable resource breach alerts by default in templates and instances (#5363) @Steve-Mcl
 - Fix intermitent test failure (#5401) @hardillb
 - Add tabbed view for install instructions per OS (#5377) @joepavitt
 - Update NR logs API to return time range (#5334) @hardillb
 - Fixes Pipeline device stage info typo (#5396) @cstns
 - Block the 3rd party broker access to test.mosquitto.org (#5389) @hardillb
 - Hide the blueprint step when no blueprints are available (#5391) @cstns
 - missing team id when loading blueprints on the multi-step forms (#5388) @cstns
 - Add "Locked" status pill when the Editor is disabled (#5376) @joepavitt
 - Ensure default stack is selected in create form (#5384) @knolleary
 - Hide inactive templates in form (#5383) @knolleary
 - Bump vite from 5.4.14 to 5.4.16 (#5380) @app/dependabot
 - Multi step form application step (#5364) @cstns
 - Bump @babel/runtime from 7.26.7 to 7.27.0 (#5378) @app/dependabot
 - Improve visibility of save changes of instane settings (#5360) @cstns
 - Fix: Check if msg.is exists before using it (#5375) @joepavitt
 - Mqtt agent topic prefix (#5342) @hardillb
 - Bump tar-fs from 2.1.1 to 2.1.2 (#5369) @app/dependabot
 - UI for device local login (#5362) @Steve-Mcl
 - Add a new datetime picker (#5355) @cstns
 - chore: Pin external actions to commit hash (#5359) @ppawlowski
 - extract tours into a separate module (#5269) @cstns
 - Add resource capacity breach 75% notifications (#5344) @Steve-Mcl
 - Multi-step instance setup (#5252) @cstns
 - Show Node-RED version for Devices and Snapshots (#5337) @hardillb
 - Fix un-scrollable notifications drawer (#5356) @cstns
 - Bump sass-loader from 16.0.2 to 16.0.5 (#5328) @app/dependabot
 - Ensure community catalog is set for devices without inherited settings (#5336) @knolleary
 - Allow request errors to 3rd party urls to percolate up (#5331) @knolleary
 - Add "set as target" timeline entry (#5318) @Steve-Mcl
 - Add CTA to the status badge when instance/device is crashed or in error state (#5322) @Steve-Mcl
 - Bump xml-crypto from 6.0.0 to 6.0.1 (#5323) @app/dependabot
 - Bump @babel/core from 7.24.9 to 7.26.9 (#5227) @app/dependabot
 - Reorganize vuex store in preparation for modules (#5251) @cstns
 - Bump marked from 12.0.2 to 15.0.7 (#5141) @app/dependabot
 - Add docs for custom NPM nodes (#5319) @hardillb
 - Fix event capture for removing team member (#5321) @joepavitt
 - ci: Add link to pull request in tests failure notification message (#5315) @ppawlowski
 - Fix npmrc settings merge (#5317) @knolleary

#### 2.15.0: Release

 - Sort instance table by date desc by default (#5311) @Steve-Mcl
 - Fix UNS exit route guard (#5244) @cstns
 - Add topic "Delete" button to Broker Schema (#5305) @Steve-Mcl
 - Fix mqtt protocol version not remembered (#5306) @Steve-Mcl
 - Bump axios from 1.7.4 to 1.8.3 (#5303) @app/dependabot
 - Remove `Resync Maintenance` step from the release pipeline (#5302) @ppawlowski
 - Add filter to snapshot views (#5288) @Steve-Mcl
 - Fix generated API doc for external MQTT Broker API (#5296) @hardillb
 - Pass npmrc and catalogue to instance/device (#5212) @hardillb
 - Add `npm` to the restricted project name list (#5281) @hardillb
 - Restore "Set Target Snapshot" option when creating Snapshot (#5273) @joepavitt
 - Support Multiple Device Groups in pipeline - backend (#5259) @Steve-Mcl
 - Allow a trial team to downgrade to freemium (#5262) @knolleary
 - Add option to disable billing requirement for a team type (#5237) @knolleary
 - Allow MQTT Schema agent on Docker (#5118) @hardillb
 - Changed Bill Of Materials instance link to instance palette settings. (#5250) @78wesley
 - Expose schema objects suggestions (#5226) @cstns
 - Add the external url in the UI (#5247) @cstns
 - Prevent duplicate tour, and don't show the "standard" welcome tour for Free Tier (#5242) @joepavitt
 - Add externalUrl column on the FlowTemplate table (#5180) @cstns
 - Broker docs schema metadata (#5207) @cstns
 - Improve the labelling of a Pipeline for improved navigation (#5234) @joepavitt
 - Onboarding: Improve clarification in the "Add Remote Instance" dialog (#5239) @joepavitt
 - Fix invalid template conditional in dynamic component that was causing the device timeline to crash (#5236) @cstns
 - Add the ability to pass down vue components to the global dialog modal (#5225) @cstns
 - Styling: Make it clearer that Pipeline header is interactive (#5233) @joepavitt
 - Docs: Add video walkthrough for FlowFuse Device agent (#5231) @gstout52
 - Add API endpoint for private npm registry catalogue (#5173) @hardillb
 - Add deviceLastSeen and remote broker counts to telemetry (#5220) @knolleary
 - docs: Add suggested hardware requirements for self-hosted deployments (#5224) @ppawlowski
 - Add topic suggestions (#5195) @cstns
 - Ensure schema buttons are always shown (#5221) @knolleary
 - Interactive device timeline events (#5205) @cstns
 - Add a device snapshot created audit log event (#5176) @cstns
 - Device timeline quick fixes (#5175) @cstns
 - Update device doc references to new nomenclature (#5152) @cstns
 - Add a device snapshot deployed audit log event (#5170) @cstns
 - Add a device.project.deployed event to track device state changes from the device perspective (#5155) @cstns
 - Add a device.pipeline.deployed event to track device state changes from the device perspective (#5149) @cstns
 - Add new "Broker Error" component which details issues with connecting to 3rd party broker (#5218) @joepavitt
 - Fix Team trial billing prompt after team creation (#5219) @cstns
 - Add feature details on the "Delete Team" dialog (#5217) @joepavitt
 - Ensure free tour shows when new Free Tier members sign up (#5215) @joepavitt
 - Bump @aws-sdk/client-ses from 3.621.0 to 3.750.0 (#5174) @app/dependabot
 - Fix missing prop on the template settings environment component (#5210) @cstns
 - Fix incorrect status code in broker api (#5209) @knolleary
 - Update device agent install information and fix ffox copy text utility (#5168) @cstns
 - Split the brokers page into components pt2 (#5197) @cstns
 - Split the brokers hierarchy into manageable chunks (#5188) @cstns
 - Fix position of Team Broker settings in TeamType edit dialog (#5198) @knolleary
 - Ensure non-node modules are included in snapshot package.json (#5196) @knolleary
 - Fix Sentry Bug - MQTT client may be null (#5181) @hardillb
 - Allow team suspend when subscription has expired (#5172) @knolleary
 - Test for undefinded/null not true/false in ff-listbox (#5163) @hardillb
 - Extend invitation expiration date when resending it (#5159) @cstns
 - Show the user's email for external invitations in the action dialogs (#5158) @joepavitt
 - Resend team invitations (#5151) @cstns
 - Device docs installation (#5147) @joepavitt
 - Improve the instructions for the Device Agent onboarding (#5145) @joepavitt
 - Replace the application activity instance selector, and FormRow dropdown with the listbox component (#4591) @cstns
 - Reset store state on logout (#5120) @cstns
 - Add a team link component to simplify routing (#4942) @cstns
 - docs: First iteration of FlowFuse on OpenShift (#5138) @ppawlowski
 - Add a new start tour button in the main dropdown menu that restarts the product tour (#5140) @cstns
 - Filter topic hierarchy list (#5144) @cstns

#### 2.14.1: Release

 - BUG: display the refresh button for the team-broker (#5137) @cstns
 - Revert "Add debug on redirect_uri oauth flow" (#5136) @knolleary
 - Force license Tier to be lowercase (#5135) @hardillb
 - Fix: Adds new "Open Schema" button (#5134) @joepavitt
 - Add debug on redirect_uri oauth flow (#5132) @knolleary
 - Add option to disable manual billing (#5129) @knolleary
 - Bump @vue/test-utils from 2.4.3 to 2.4.6 (#5042) @app/dependabot
 - Bump serialize-javascript and mocha (#5110) @app/dependabot
 - Bump untitaker/hyperlink from 0.1.43 to 0.1.44 (#5074) @app/dependabot
 - Fix race condition in license expired unit test (#5119) @hardillb

#### 2.14.0: Release

 - Persist opened topic state (#5114) @cstns
 - Add button to allow start/stop of MQTT agent (#5113) @hardillb
 - Formatted Schema Documentation View (#5112) @joepavitt
 - Add support for httpNodeAuth settings on devices (#5068) @knolleary
 - Bump babel-loader from 9.1.3 to 9.2.1 (#4957) @app/dependabot
 - Add a starting state for the MQTT-Schema-Agent status (#5109) @hardillb
 - Add "Finish Setup" button for Remote Instances (#5106) @joepavitt
 - Version history for devices UI (#5107) @cstns
 - External Broker support (#5015) @hardillb
 - Add a devices/:deviceId/history API endpoint (#5090) @cstns
 - [docs] Remove outdated info on private npm tokens (#5097) @knolleary
 - Allow a dev-mode device at Stage 0 to be triggered (#5089) @knolleary
 - Bump vitest and @vitest/coverage-istanbul (#5077) @app/dependabot
 - Applications routing follow up (#4891) @cstns
 - ci: Add `nr-assistant` package build step to a pre-staging deployment (#5060) @ppawlowski
 - Free product tour revision (#5059) @cstns
 - docs: Specify minimum docker compose version (#5070) @ppawlowski
 - Fix hidden env vars getting overwritten to blank value when updating other env-vars (#5064) @cstns
 - Docs: Clearer DNS instructions and cross-linking (#4886) @joepavitt
 - Bump @fastify/multipart from 8.3.0 to 8.3.1 (#5052) @app/dependabot
 - Allow env var values to be hidden in UI (#5043) @cstns
 - Fix dashboard role users blank page (#5049) @cstns
 - Bump vite from 5.4.7 to 5.4.14 (#5048) @app/dependabot
 - Update migration docs (#5047) @gstout52
 - Add docs on how to setup SSO on FlowFuse Cloud (#5040) @knolleary
 - PostHog - New "team-type-changed" event & add team type on team-created event (#5044) @joepavitt
 - Update node-saml to 5 (#5037) @knolleary
 - Update introduction.md (#5034) @gstout52

#### 2.13.1: Release

 - Fix missing sideNav during app setup (#5029) @cstns
 - Fix oauth tests on node 20 (#5024) @knolleary
 - Fix invalid check for billing enablement (#5028) @knolleary
 - Change external domain used in offboarding test to be more reliable (#5023) @knolleary
 - Use camelcase for unit test names (#5022) @cstns
 - Team groups follow-up (#5021) @cstns

#### 2.13.0: Release

 - ci: Fix `Tests` pipeline summary generation  (#4988)
 - Add a team level device groups UI (#5018) @cstns
 - Disable caching of index.html when in dev mode (#5017) @knolleary
 - Update Team Device Groups routes to use hashid not slug (#5016) @knolleary
 - Add a team level device groups API (#5009) @cstns
 - Set pending state when loggin in to prevent no team limbo (#5012) @cstns
 - ci: Enable concurrency in `Tests` workflow (#5006) @ppawlowski
 - Add Open Schema button to Topic Hierarchy view (#5008) @knolleary
 - Use named routes for the application summary labels (#5010) @cstns
 - Enrich crash email with detail and hints where crash reason can be inferred (#4936) @Steve-Mcl
 - Fix silently failing featuresCheck due to missing team (#5005) @cstns
 - Serve seo tags for the login and signup pages prerendered (#5000) @cstns
 - Add initial schema generation for team-broker topics (#4997) @knolleary
 - Add Team Broker hostname to UI settings (#4998) @hardillb
 - ci: Add `nr-file-nodes` package build step to the pre-staging deployment (#4995) @ppawlowski
 - Remove the injected canonical link (#4994) @cstns
 - Fix console errors when logging in due to the team not being loaded (#4993) @cstns
 - Change team before switching route when accessing team link from the admin page (#4992) @cstns
 - Update text on create button for trial teams (#4986) @knolleary
 - Fix topic copy button (#4991) @knolleary
 - Updated Onboarding Tours (#4979) @joepavitt
 - Revert "Create check-tests-status job summary" (#4989) @ppawlowski
 - ci: Create `check-tests-status` job summary (#4987) @ppawlowski
 - Add option to auto-create team application (#4985) @knolleary
 - Update persistent-context.md (#4984) @sumitshinde-84
 - ci: Improve notification on tests failures (#4971) @ppawlowski
 - "Devices" & "Edge Instances" > Remote Instances (#4976) @joepavitt
 - Ensure Pipelines don't fall over if Device Groups are unavailable (#4975) @joepavitt
 - Show "Expired" for expired licenses (#4967) @hardillb
 - Add tooltips to "Open Editor" button for Devices (#4973) @joepavitt
 - Fix broken Device Application Link (#4972) @joepavitt
 - Improve feedback when unable to connect to Device Logs (#4974) @joepavitt
 - ci: Add `nr-project-nodes` package build step to the pre-staging deployment pipeline (#4968) @ppawlowski
 - Only hash httpNodeAuth Password if not already hashed (#4966) @hardillb
 - Remove the term "Free Trial" from the welcome dialog (#4962) @joepavitt
 - Make sure the Team Types are ordered correctly when changing team type (#4961) @joepavitt
 - Improve feedback when Hosted Instances are not available to a team (#4956) @joepavitt
 - Fixes setMainNavBackButton race condition before a team is present after logging in (#4949) @cstns
 - Fix race condition when changing teams while on the application page (#4951) @cstns
 - Allow trial team to be manually created (#4941) @knolleary
 - Bump semver from 7.6.0 to 7.6.3 (#4925) @app/dependabot

#### 2.12.0: Release

 - Add note about Private CA chain (#4901)
 - Bump actions/github-script from 6 to 7 (#4897)
 - Bump flowfuse/github-actions-workflows from 0.37.0 to 0.38.0 (#4896)
 - Make it clearer which IP address to use (#4887)
 - Bump codecov/codecov-action from 4 to 5 (#4795)
 - Support disabling instance launcher "auto safe mode" (#4922) @Steve-Mcl
 - Allow NR Dashboard to be loaded in iFrames (#4900) @hardillb
 - Add system-ui as a backup font for heebo (to match internal font) (#4946) @cstns
 - Remove platform banners from the applications page (#4939) @cstns
 - Better device proxy cache (#4792) @hardillb
 - Fix application child routes not making the applications nav menu active (#4885) @cstns
 - Decrease device auto timeout to 15 seconds from 30 (#4932) @hardillb
 - Add logo version for dark backgrounds (#4930) @Yndira-E
 - Open Dashboard and Editor links in new tab by default (#4923) @joepavitt
 - Update the sign up page and box layout to new branding (#4924) @joepavitt
 - Bump nanoid from 3.3.7 to 3.3.8 (#4918) @app/dependabot
 - Add note to Instance Types setting default Stack (#4917) @hardillb
 - Team Bill Of Materials UI (#4872) @cstns
 - Remove notifications for deleted instances (#4899) @hardillb
 - Revert Device log changes (#4916) @hardillb
 - Allow for prefix/suffix to SSO GroupNames (#4902) @hardillb
 - Add device agent docker timezone docs (#4907) @hardillb
 - Ensure Device Provisioning tokens removed with Team (#4906) @hardillb
 - Return device type in application/devices (#4904) @hardillb
 - Fix device log race condition between publish and disconnect (#4903) @cstns
 - Ensure device logs always shown (#4893) @hardillb
 - Add some Team Broker developement docs (#4799) @hardillb
 - Ensure Instance suspended on expired license (#4888) @hardillb
 - Bump cypress from 13.13.1 to 13.16.1 (#4895) @app/dependabot
 - ci: Fix prestaging slack notification conditional (#4892) @ppawlowski
 - ci: "upstream" packages validation workflow (#4455) @ppawlowski
 - docs: Change links to Docker Compose files (#4890) @ppawlowski
 - Fix main nav matching context order (#4869) @cstns
 - Use default behavior for platform wide anchors (part I) (#4834) @cstns
 - Bump path-to-regexp and express (#4879) @app/dependabot
 - Fix padding on Device Group Settings view (#4865) @knolleary
 - docs: Add description how to start Device Agent on system boot (#4878) @ppawlowski
 - Send invite Reminders (#4824) @hardillb
 - Fixe the outline of the first search result title (#4877) @cstns
 - Add more filters for admin notification targeting (#4843) @knolleary
 - Topic hierarchy follow up (#4818) @cstns
 - Update role-based permissions table (#4863) @sumitshinde-84
 - Add Team BOM api endpoint (#4849) @hardillb
 - Ensure existing http auth tokens shown (#4861) @hardillb
 - fix hovering over pipeline and application name and update empty state message (#4859) @cstns
 - Expand the UNS Hierarchy by default & improve hover behaviour (#4854) @joepavitt
 - Fix access permission for team pipeline api (#4856) @hardillb
 - Improve help text and empty state language for Teams > Pipelines (#4855) @joepavitt
 - Navigation - Add Team Pipelines View (#4852) @cstns
 - Prevent viewer role users from getting 404 when accesing applications (#4846) @cstns
 - Team Pipelines API (#4847) @hardillb
 - ci: Publish to npm only on successful tests (#4848) @ppawlowski
 - Team member device mode toggle (#4844) @hardillb
 - Improve padding/sizing of the global search box (#4825) @joepavitt
 - Bump @sentry/browser and @sentry/vue (#4731) @app/dependabot
 - Allow branding settings to be cleared in the UI (#4841) @knolleary
 - ci: Test docs along with website (#4840) @ppawlowski
 - Improved Admin Team view (#4770) @knolleary
 - 4563 replace instance and audit logs dropdowns (#4567) @cstns
 - Support Search by id in Global Search (#4814) @Steve-Mcl
 - fix device groups layout (#4817) @Steve-Mcl
 - docs: fix failing anchors on kubernetes and docker docs (#4812) @ppawlowski
 - Fix broken anchor links in docs (#4811) @Steve-Mcl

#### 2.11.0: Release

 - Bump flowfuse/github-actions-workflows from 0.36.0 to 0.37.0 (#4733)
 - ci: Automate docs publishing (#4725)
 - Add TeamBroker enabled to pre-staging (#4717)
 - docs: Refactor instructions for installing FlowFuse on self-hosted environment using docker (#4665)
 - Address mobile and alignment issues for global search (#4807) @cstns
 - Include Application.description and Device.type in search scope (#4808) @knolleary
 - Update terms in the tour to align with new terminology (#4803) @knolleary
 - Global search UI (#4798) @cstns
 - Bump cross-spawn (#4805) @app/dependabot
 - Add ACLS for project nodes to access team broker topic space (#4789) @knolleary
 - Respect CTRL/CMD+Click for opening instance editor in new tab (#4800) @Steve-Mcl
 - Broker Topic Hierarchy UI (#4790) @cstns
 - Add "Event Scope" and "Include Children" to Instance Audit Logs (#4753) @Steve-Mcl
 - Show child items in team and application audit log (#4749) @Steve-Mcl
 - Track topics used by a Team on Team Broker (#4748) @hardillb
 - Add links to MQTT docs (#4775) @hardillb
 - Add connection test button to LDAP SSO page (#4787) @hardillb
 - Add search api for apps/devices/instances (#4764) @knolleary
 - Add more logging when License expires (#4773) @hardillb
 - Modify invite link for SSO enabled external users (#4786) @knolleary
 - Make email matching case insensitive for external invites (#4783) @knolleary
 - Fix immersive editor not displaying due to parent container height (#4780) @cstns
 - Fix multiple non-authenticated page layouts (#4777) @cstns
 - Adds autocomplete attribute to login username field (#4774) @knolleary
 - Deny ACL check for deleted MQTT Clients (#4766) @hardillb
 - Sidebar redesign follow up (#4763) @cstns
 - Fix applications page nested routes (#4765) @cstns
 - Update 404 page (#4757) @cstns
 - Fix failing feature checks when the features state hasn't been hydrated (#4761) @cstns
 - Sidebar Re-design: Left Drawer (#4745) @cstns
 - docs: Add note about self-signed certificate warning (#4730) @ppawlowski
 - docs: Self-hosted kubernetes installation page refactor (#4704) @ppawlowski
 - docs: docker on windows adjustments (#4724) @ppawlowski
 - Sidebar Re-design: Routing (#4744) @cstns
 - Sidebar Re-design: prerequisites (#4743) @cstns
 - Update Device Agent docs for 3.x release (#4747) @knolleary
 - Ensure Downgraded Teams can't authenticate MQTT Clients (#4739) @hardillb
 - Ensure correct env vars are applied to device (#4686) @Steve-Mcl
 - Do not add api-error:version_mismatch to audit log (#4740) @knolleary
 - Add the ability to emit platform wide notifications (#4637) @cstns
 - Add mqttClients to license claims (#4732) @knolleary
 - Bump sass-loader from 14.1.1 to 16.0.2 (#4548) @app/dependabot
 - Docs: Improve Device Agent Intro Documentation (#4718) @joepavitt
 - Add the missing tests for new broker Auth/ACL (#4721) @hardillb
 - docs: Remove duplication in the introduction paragraph (#4710) @ppawlowski
 - Bump yaml from 2.3.4 to 2.6.0 (#4705) @app/dependabot
 - Bump nodemon from 3.1.0 to 3.1.7 (#4706) @app/dependabot
 - Update MQTT Cloud docs (#4722) @hardillb
 - Check for project: not platform: in username (#4720) @hardillb
 - ci: Disable team broker for starter team type on pre-staging (#4719) @ppawlowski
 - Follow up mqtt broker ux (#4711) @cstns
 - Re-order Join Reason options in Sign Up page (#4714) @joepavitt
 - Add uninstall instructions (#4715) @hardillb
 - Update snapshot hero info dialog images to be same for all (#4697) @Steve-Mcl
 - Add Team Broker Clients count to telemetry (#4703) @hardillb
 - Add Copy button to broker client username (#4701) @hardillb
 - Bump css-loader from 6.10.0 to 7.1.2 (#4272) @app/dependabot
 - Bump pg from 8.11.5 to 8.13.0 (#4669) @app/dependabot
 - Update snapshots docs (#4700) @Steve-Mcl
 - Add initial details on MQTT Broker service (#4676) @hardillb
 - Prevent broker client limits being shown in wrong TeamType (#4694) @hardillb

#### 2.10.0: Release

 - Enable Team Broker and Version History Timeline features on pre-staging (#4679)
 - Bump flowfuse/github-actions-workflows from 0.34.0 to 0.36.0 (#4644)
 - Bump flowfuse/github-actions-workflows from 0.30.0 to 0.34.0 (#4622)
 - Remove <img /> tags for now due to Eleventy problems (#4599)
 - Add note about backing up the database (#4592)
 - Replace 'ACL' term in the dialog (#4691) @knolleary
 - Put Team Broker behind a flag in the flowforge.yml (#4688) @hardillb
 - Update 'both' MQTT ACL label to 'publish & subscribe' (#4690) @knolleary
 - Clarify "Push to stage" dialog env var statement (#4604) @Steve-Mcl
 - Team broker client UI (#4646) @hardillb
 - Audit log shows empty username for password resets (#4681) @hardillb
 - Return error if broker client already exists for team (#4678) @hardillb
 - Update version history timeline pictograms (#4677) @cstns
 - Add repeat password field for confirmation (#4670) @Steve-Mcl
 - Fix permissions (#4675) @hardillb
 - Ensure teamMembership in session for broker API (#4674) @hardillb
 - Update docs for group env vars (#4666) @Steve-Mcl
 - Visual timeline of version history (#4647) @cstns
 - Fix device router link for BOM (#4671) @Steve-Mcl
 - MQTT Broker Service API (#4627) @hardillb
 - Add Device Group env vars API support (#4659) @Steve-Mcl
 - Bump jsdom from 22.1.0 to 25.0.1 (#4545) @app/dependabot
 - docs: Introduce quick start page (#4639) @ppawlowski
 - Add details of suspending team to docs (#4662) @knolleary
 - Add links to stripe dashbaord in admin info for team (#4657) @knolleary
 - Fix enabling sso group allocation in admin settings (#4654) @knolleary
 - PostHog: Add "team-created" event when teams are automatically created server-side (#4648) @joepavitt
 - docs: Migrating static assets is manual but possible (#4645) @ZJvandeWeg
 - Snapshot import export component options (#4610) @Steve-Mcl
 - Fix overflow on actions section (#4642) @cstns
 - Fix admin action tabs alignment (#4629) @cstns
 - Add ability to mark multiple notitications as read (#4601) @cstns
 - Enable combined device/instance free allocation (#4621) @knolleary
 - Bump cookie, express, express-session, @immobiliarelabs/fastify-sentry and light-my-request (#4626) @app/dependabot
 - Only allow instance rename if suspended (#4596) @hardillb
 - Only show warning if 10-file.js active (#4620) @hardillb
 - Fix allowing mixed case instance names (#4619) @hardillb
 - Include user's e-mail address on "Please Verify" screen (#4615) @joepavitt
 - Update static assets docs images with clear image and correct sized i… (#4613) @sumitshinde-84
 - change the posthog identifier for the $ff-invite-accepted event (#4612) @cstns
 - ci: handle special characters in PR title (#4607) @ppawlowski
 - Replace the AssetCompareDialog, VisibilitySelector and Logs dropdowns (#4580) @cstns
 - Bump vite from 5.2.8 to 5.4.7 (#4543) @app/dependabot
 - Bump rollup from 4.14.1 to 4.22.4 (#4551) @app/dependabot
 - Docs: Improve the Docs Landing Page (#4597) @joepavitt
 - Add Team upgrade docs (#4594) @hardillb
 - remove image logo alt name to fix gmail email summary (#4595) @cstns
 - Update install.md (#4590) @sumitshinde-84
 - fix dependencies display (#4589) @cstns
 - Update snapshot nomenclature (#4585) @cstns
 - Docs: Add unique identifier for Docker cmds (#4586) @joepavitt
 - bom incorrect package version (#4579) @cstns
 - Enable team lookup by id in admin view (#4584) @knolleary
 - Update remaining roles imports (#4578) @cstns
 - Store platform settings, teamMembership and team store values in localStorage (#4507) @cstns
 - Create a new listbox component that can replace the existing Dropdown (#4560) @cstns

#### 2.9.0: Release

 - Enable BOM feature for Enterprise team on pre-staging (#4550)
 - Bump flowfuse/github-actions-workflows from 0.29.0 to 0.30.0 (#4547)
 - Bump flowfuse/github-actions-workflows from 0.28.0 to 0.29.0 (#4471)
 - Bump flowfuse/github-actions-workflows from 0.21.0 to 0.28.0 (#4442)
 - Bump slackapi/slack-github-action from 1.26.0 to 1.27.0 (#4441)
 - Bump tj-actions/changed-files from 44 to 45 (#4404)
 - ci: Add possibility to send e-mails from pre-staging environments (#4437)
 - ci: Set Node-RED v4 as a default stack on pre-staging (#4436)
 - ci: Enable latest features on pre-staging environment (#4435)
 - Make the immersive editor collapse button permanently visible when the drawer is open (#4569) @cstns
 - Add bill of materials docs (#4523) @cstns
 - Add an user education modal to trial users (#4540) @cstns
 - Add warning about file nodes to Assets page (#4541) @hardillb
 - Implement history timeline API (backend) (#4509) @Steve-Mcl
 - Use the provided user info sent to the audit endpoint to get which user is triggering an operation (#4530) @Steve-Mcl
 - improved alert notification messages on asset service file/folder upload (#4542) @cstns
 - handle new logout event from nr-editor (#4544) @cstns
 - Bump find-my-way from 8.1.0 to 8.2.2 (#4513) @app/dependabot
 - Allow users to delete accounts even when they have active teams (reapplied) (#4531) @knolleary
 -  Update BOM API use project model versions (#4535) @Steve-Mcl
 - Add egress to banned list of instance names (#4533) @hardillb
 - Revert "Allow users to delete accounts even when they have active teams" (#4528) @knolleary
 - Add versions info to Project model (#4526) @knolleary
 - fix visibility selector styling propagation (#4525) @cstns
 - adds a fallback for missing semver/installed node-red versions for k8/docker deployments (#4520) @cstns
 - Software bill of materials API (#4376) @Steve-Mcl
 - Update docs following the static file service navivagtion and visibility selector changes (#4514) @cstns
 - Add a directory navigation component (#4473) @cstns
 - Update File Node docs to cover new Persistent Storage (#4516) @hardillb
 - Wrap last PostHog API call in try catch (#4515) @hardillb
 - Bump serve-static and express (#4492) @app/dependabot
 - Ensure user has selected an available team type on upgrade (#4510) @knolleary
 - Ensure consistent pictograms are used across devices and instances (#4466) @Steve-Mcl
 - Add guards on PostHog API calls (#4508) @hardillb
 - fix remaining HS chat bubble issues (#4504) @Steve-Mcl
 - Improve user feedback when developer mode change fails (#4469) @Steve-Mcl
 - Update ffc docs to include data security details (#4496) @knolleary
 - Bump @vitejs/plugin-vue from 5.0.4 to 5.1.2 (#4324) @app/dependabot
 - Bump sinon from 17.0.1 to 19.0.2 (#4491) @app/dependabot
 - Only get tokens if team feature enabled (#4487) @hardillb
 - Remove temp background highlight from HS chat bubble (#4486) @Steve-Mcl
 - Mitigate chat widget blocking elements (#4477) @Steve-Mcl
 - 4439 hide instance asset tab from users (#4448) @cstns
 - Add debug logging for SSO Groups (#4470) @hardillb
 - Handle team with inactive team-type when viewing change-type (#4464) @knolleary
 - fix: Asset upload dialog (#4465) @Steve-Mcl
 - Show missing application selection error in the right place (#4462) @knolleary
 - Improve dashboard only landing page (#4444) @cstns
 - Add suspended state for teams (#4446) @knolleary
 - Ensure subscription is deleted from db when team is deleted (#4457) @knolleary
 - Fix pipeline tests due to name reuse (#4460) @knolleary
 - Don't try and create default items more than once (#4454) @hardillb
 - ci: Enable FlowFuse Assistant on pre-staging environment (#4445) @ppawlowski
 - Don't overwrite theme with pipeline (#4425) @hardillb
 - Add static asset service user docs (#4426) @cstns
 - Provide proactive feedback when trying to change team type to incompatible type (#4378) @knolleary
 - Remove the file browser entry selectors because we don't support bulk operations (#4432) @cstns
 - Bump webpack from 5.91.0 to 5.94.0 (#4405) @app/dependabot
 - Update introduction.md (#4429) @sumitshinde-84
 - Add missing alert notification for create folder error (#4428) @cstns
 - Fix the file upload component not clearing when clearing the component (#4427) @cstns

#### 2.8.0: Release

 - docs: Docker Engine on Windows how-to article (#4406)
 - Update Dockerfile (#4365)
 - Implement files api (#4384) @knolleary
 - hide the application page instance kebab menu for non admin/owner users (#4417) @cstns
 - Adds LDAP group support (#4407) @hardillb
 - Add crash notifications (#4409) @Steve-Mcl
 - Fill width to match other controls on form (#4414) @Steve-Mcl
 - Fix broken navbar on 404 (#4403) @cstns
 - Shutdown Instances when license expires (#4268) @hardillb
 - Track server-side invitation events with PostHog (#4386) @joepavitt
 - fix tags indentation (#4401) @sumitshinde-84
 - Fix tags indentation (#4400) @Yndira-E
 - Move invite accept to before personal team create (#4397) @hardillb
 - Change editor & dashboard buttons to anchors (#4396) @Steve-Mcl
 - Audit log export (#4330) @hardillb
 - Add meta tags and description (#4225) @sumitshinde-84
 - Dashboard URL setting clarification (#4395) @Steve-Mcl
 - Add comment about different certs for the forge app. (#4389) @hardillb
 - Product Tour - Welcome to FlowFuse (#4383) @joepavitt
 - Send notification to inviter when a team invite is accepted (#4385) @joepavitt
 - Bump axios from 1.6.5 to 1.7.4 (#4372) @dependabot
 - Add 'none' option as pipeline stage action (#4369) @knolleary
 - Bulk update team devices API (bulk move support only) (#4336) @Steve-Mcl
 - Allow users to delete accounts even when they have active teams (#4354) @cstns
 - Pipelines: Adds missing [data-action="pipeline-add"] on empty state button (#4364) @joepavitt
 - Ensure personal instance is created in personal team on signup (#4360) @knolleary
 - Custom catalog and npmrc settings UX improvements (#4349) @cstns
 - Add option to require contact via HS form for create/upgrade of team type (#4343) @knolleary
 - Highlighting the update stack options when navigating to the instance update settings (#4321) @cstns
 - Fix lingering active tab when navigating back (#4350) @cstns
 - 4249 application device kebab menu not clearing devices (#4340) @cstns
 - Update billing.md (#4348) @ZJvandeWeg
 - Add explicit PH event for verification (#4344) @joepavitt
 - Show feature not available on CE Blueprint page (#4341) @hardillb
 - Remove limits on img-src (#4293) @hardillb
 - Remove dynamically registered permissions (#4320) @cstns
 - Fix incorrect status codes in tests (#4334) @Steve-Mcl
 - Add link to description of wildcard DNS entry (#4332) @hardillb
 - Add Keycloak to the provider list (#4331) @hardillb
 - Update immersive editor loading animations (#4329) @cstns
 - Fix instance not being removed from the applications list after being deleted (#4322) @cstns
 - Only clear PH data if there is user session to clear (#4328) @joepavitt
 - Fix project access for Admins (#4327) @hardillb
 - Hide npmrc secrets from frontend (#4316) @hardillb
 - UX Fixes for Users Without Assigned Teams (#4314) @cstns
 - Site wide audit log better formatting when updates object is to be displayed (#4315) @Steve-Mcl
 - Fix bulk intermittent e2e tests (#4309) @Steve-Mcl
 - Hide the invite member button for users that don't have access to a team or insufficient privileges (#4303) @cstns
 - Bump fast-xml-parser, @aws-sdk/client-ses and @aws-sdk/credential-provider-node (#4301) @dependabot
 - Allow a team without subscription to go unmanaged (#4302) @knolleary

#### 2.7.0: Release

 - ci: Add logs link to pre-staging slack message (#4215)
 - ci: Update `publish_node_package` workflow to `v0.21.0` (#4146)
 - Edit snapshot (#4282) @Steve-Mcl
 - Clearer communication of navigation restriction when billing is required (#4298) @joepavitt
 - Fix snapshot package.json download dependencies (#4289) @hardillb
 - Add locked field test (#4280) @hardillb
 - remove the request trial license hs form (#4279) @sumitshinde-84
 - Initial user notification backend (#4164) @knolleary
 - Clear device group target snapshot (#4276) @Steve-Mcl
 - Allow Uppercase letters in initial admin username (#4267) @hardillb
 - Fix link in device deploy docs (#4269) @hardillb
 - move local installation under contribute section (#4259) @sumitshinde-84
 - Remove vue-template-compiler (#4265) @hardillb
 - Bump fastify-metrics from 10.4.1 to 11.0.0 (#3848) @app/dependabot
 - Clear query action on invite page (#4263) @knolleary
 - Fix import of snapshot credentials for instances (#4262) @knolleary
 - Found race condition in tests (#4260) @hardillb
 - show full buttons when instance count is 1 (#4247) @Steve-Mcl
 - Update so locked template fields are not overwritten (#4244) @hardillb
 - Bump postcss-loader from 7.3.3 to 8.1.1 (#3796) @app/dependabot
 - Fix import of snapshots and improve test coverage (#4258) @knolleary
 - Bump vue from 3.4.21 to 3.4.34 (#4256) @app/dependabot
 - Bump cypress from 13.7.3 to 13.13.1 (#4235) @app/dependabot
 - Add Keycloak group mapping info (#4233) @hardillb
 - update examples links (#4144) @sumitshinde-84
 - Bump @babel/core from 7.24.3 to 7.24.9 (#4179) @app/dependabot
 - Allow admin to be set from SSO group (#4237) @hardillb
 - Improve 2FA handling (#4255) @hardillb
 - Fix device tile kebab menu actions (#4253) @Steve-Mcl
 - Fix: Remove dialog mixin from the DevicesBrowser (#4252) @joepavitt
 - Add AZURE specific suggestion (#4251) @hardillb
 - Allow Session expiry to be configured (#4243) @hardillb
 - Add bulk delete for devices browser (#4219) @Steve-Mcl
 - Sso create new user (#4207) @hardillb
 - Bulk device delete api (#4209) @Steve-Mcl
 - Move notification tray out of ff-view (#4240) @knolleary
 - Do not store modified email when deduping email list (#4232) @knolleary
 - Ability to add device from empty state (#4228) @Steve-Mcl
 - Fix limbo state after leaving last team (#4226) @Steve-Mcl
 - Add notifications drawer (#4210) @cstns
 - Clear redirect url on logout (#4223) @cstns
 - Better sanitization of team names in invite email (#4221) @knolleary
 - Mask both quoted and unquoted registry tokens (#4220) @hardillb
 - Fix accessing team as dashboard user (#4216) @knolleary
 - ci: Skip pre-staging workflow on dependabot pull requests (#4205) @ppawlowski
 - Ensure team slug is passed for nested views (#4202) @joepavitt
 - Move to email verification codes rather than links on signup (#4195) @knolleary
 - Add blueprint count to telemetry ping (#4196) @knolleary
 - auto genrate license and display (#4105) @sumitshinde-84
 - Surface the "Invite Members" button to the main navigation (#4186) @joepavitt
 - Allow AWS SES sourceArn to be set (#4177) @hardillb
 - Differentiate between the instance/device name and tile link/details (#4112) @cstns
 - Add CTA on resource Audit entries (#4192) @hardillb
 - Adds rate limits to assistant route (#4182) @Steve-Mcl
 - carry on application search params to followup pages (#4170) @cstns
 - cI: Notify on `Install test` workflow failure (#4178) @ppawlowski
 - extend applications search to include app/instance/device id's (#4171) @cstns
 - Add search functionality to the applications instances page (#4172) @cstns
 - Update Security headers (#4154) @hardillb
 - Search applications by instances and devices (#4159) @cstns
 - add meta information to docs (#4162) @sumitshinde-84
 - Only permit instance/device token to call upon assistant endpoint (#4163) @Steve-Mcl
 - Add session ownerId/type to log output if set (#4155) @knolleary
 - Add support for JSON in FlowFuse Assistant (#4128) @Steve-Mcl
 - Add option to show mfa code instead of qrcode (#4156) @knolleary
 - Swap maps with arrays on the applications page (#4148) @cstns
 - e2e tests for instance and device rollback feature (#4149) @Steve-Mcl
 - Add search bar and allow searching through applications (#4141) @cstns
 - Fix install test. (#4143) @hardillb
 - Use absolute path for camera icon (#4138) @Steve-Mcl
 - Install NodeJS (#4140) @hardillb
 - fix path to install.sh (#4135) @hardillb
 - ci: Change the way how `Create pre-staging environment` workflow is triggered (#4130) @ppawlowski
 - Bump ws from 8.16.0 to 8.18.0 (#4136) @app/dependabot
 - Install test (#4134) @hardillb
 - include nr-assistant in snapshot and map through settings (#4127) @Steve-Mcl
 - Reset publish build to NodeJS 18 (#4133) @hardillb
 - fix broken link (#4132) @sumitshinde-84

#### 2.6.1: Release

 - Set nodejs version back to 16 for package build (#4121) @hardillb
 - Fix dashboard link in compact application view (#4120) @knolleary
 - PostHog - Add .group call to automatically map all events to the relevant team (#4115) @joepavitt
 - Onboarding email formatting (#4110) @cstns
 - PostHog - Better capturing of Snapshot-based activity (#4116) @joepavitt

#### 2.6.0: Release

 - chore: Add conditional check before uninstalling and deleting resources in branch-deploy.yaml (#4080)
 - Bump docker/build-push-action from 5 to 6 (#4034)
 - Bump codecov/codecov-action from 3 to 4 (#3975)
 - Persistent Storage upgrade docs (#4107) @hardillb
 - User documentation update for FlowFuse Assistant (#4102) @Steve-Mcl
 - docs: Enable proxy protocol on ingress-nginx controller installation (#4082) @ppawlowski
 - 4078 blank page after redirect (#4106) @cstns
 - Fix race condition in loading application status (#4103) @knolleary
 - Add css & js webpack cache bust (#4100) @cstns
 - Compact applications view (#4079) @cstns
 - Handle httpAdminRoot in template when calculating dashboard link (#4097) @knolleary
 - Apply maximum password length (#4088) @knolleary
 - Enable immersive editor for Node-RED 4.0.2+ and Launcher 2.6.0+ (#4096) @knolleary
 - Guard to ensure 501 is returned when config has no `service` object in `assistant` settings (#4095) @Steve-Mcl
 - nr-assistant integration (#4089) @Steve-Mcl
 - Remove trickle down router props (#4076) @cstns
 - Update frameguard to sameorigin (#4092) @knolleary
 - Frontend blueprint import export (#4068) @cstns
 - Fix Env Var item deletion (#4072) @Steve-Mcl
 - users without accounts should be redirected to the blueprint landing page after registration (#4020) @cstns
 - Smtp affair (#4050) @cstns
 - Add a new instance creation landing page (#3994) @cstns
 - Support multiline env vars (#4069) @Steve-Mcl
 - Ensure user PATs are deleted when user is deleted (#4063) @knolleary
 - Add permission checks on app edit and instance add (#4060) @knolleary
 - Remove backport workflow (#4062) @knolleary
 - Fix Pipeline overwriting name (#4059) @hardillb
 - Clarify docs on Entra SSO setup (#4057) @knolleary
 - Security Settings - Improve language & hide user/pw fields when not used (#4054) @joepavitt
 - Ensure settings change toast informs user a restart is required. (#4053) @Steve-Mcl
 - Allow admin to extend team trial (#4052) @knolleary
 - Fix gtag injection (#4049) @knolleary
 - Address object missing prototype calls (#4048) @cstns
 - Fix csp tests (#4046) @knolleary
 - Fix posthog csp header (#4044) @knolleary
 - Revert incorrect flowforge -> flowfuse (#4037) @hardillb
 - Bump braces from 3.0.2 to 3.0.3 (#4025) @app/dependabot
 - Update docs for device agent behind http proxy (#4030) @Steve-Mcl
 - Use stack name if label not set (#4033) @knolleary
 - Snapshot compare dx (#3991) @cstns
 - ci: Enable concurrency in pre-staging deploy workflow (#4024) @ppawlowski
 - Fix flaky time test (#4021) @Steve-Mcl
 - Ensure target editor title doesn't get overwritten (#4016) @hardillb
 - Update docs with Examples for docker install (#4017) @gdziuba
 - Add docs on creating debug containers (#4019) @knolleary
 - Fixes linting errors (#4012) @cstns
 - Disable Immersive editor link (#4011) @cstns
 - Export/import Blueprints (#3996) @hardillb
 - Docs Updated Local Install File HTTPS (#4006) @gdziuba
 - 4004 enable blueprints for all team types (#4005) @cstns
 - fix: Do not send a slack notification on pre-staging termination (#4001) @ppawlowski
 - ci: Notify on Slack about pre-staging environment (#3995) @ppawlowski
 - Access token docs (#3989) @knolleary
 - Bump flow viewer to latest version (#3990) @cstns
 - Update release-publish.yml to use nodejs 18 (#3987) @hardillb
 - Fix semver checks to enable immersive editor (#3988) @knolleary

#### 2.5.0: Release

 - Replace github.token with secret (#3905)
 - Resolve cross domain communication between the app and the embedded editor (#3801) @cstns
 - Remove stray : in instance form (#3984) @knolleary
 - ci: Skip labeler action on release pull requests (#3985) @ppawlowski
 - Add a Blueprint selection dialog (#3965) @cstns
 - Snapshot compare (#3978) @Steve-Mcl
 - Add custom hostname support to Instances (#3830) @hardillb
 - Remove use of html option in Dialog when only used for newlines (#3979) @knolleary
 - Update FF Premium references to FF Enterprise (#3980) @knolleary
 - Handle httpAdminRoot when computing dashboard url (#3971) @knolleary
 - Add port details to Device Agent docs (#3970) @knolleary
 - Hide deprecated env vars in the UI (#3967) @knolleary
 - Replace stack tile selector with regular select on instance creation forms (#3959) @cstns
 - Update localfs upgrade docs (#3964) @knolleary
 - Fix styling for admin blueprint tiles (#3961) @cstns
 - Use original timestamp for sorting instances on Last Updated column (#3893) @Steve-Mcl
 - Add 'app' to list of banned instance names (#3958) @knolleary
 - Add LDAP support for SSO (#3925) @knolleary
 - Revert billing_cycle_anchor change to fix coupons (#3952) @knolleary
 - Improve the instance name selection on the creation form (#3955) @cstns
 - Relabel stack to node red version (#3954) @cstns
 - Alter application instance creation page to resemble a standalone page (#3947) @cstns
 - Ensure node red version in app device snapshot (#3948) @Steve-Mcl
 - Fix instance creation form getting stuck without a team after refresh (#3945) @cstns
 - Bump cypress-io/github-action from 4 to 6 (#3937) @app/dependabot
 - Bump actions/upload-artifact from 3 to 4 (#3936) @app/dependabot
 - Bump JS-DevTools/npm-publish from 2 to 3 (#3938) @app/dependabot
 - Bump tj-actions/changed-files from 41 to 44 (#3939) @app/dependabot
 - Hide disabled instance types from the instance creation form (#3932) @cstns
 - Enable clicking on the Blueprint tile in Instance creation form (#3931) @cstns
 - Add charges table to device create dialog (#3902) @knolleary
 - make the team instance creation page look more like a page (#3930) @cstns
 - Default tab fixed for Library page - issue #3871 (#3897) @friyad
 - Add flowfuse.com to the list of places allowed to load images from (#3924) @hardillb
 - Update MS Entra SSO terminology (#3919) @knolleary
 - Bump flowfuse/github-actions-workflows from 0.1.0 to 0.10.0 (#3909) @app/dependabot
 - Bump tibdex/github-app-token from 1 to 2 (#3911) @app/dependabot
 - Docs - Update some of the "Stacks" docs and include instructions for local node development (#3903) @joepavitt
 - Bump aws-actions/configure-aws-credentials from 3 to 4 (#3908) @app/dependabot
 - ci: Do not apply automatic labels on dependabot pull requests (#3913) @ppawlowski
 - Bump actions/checkout from 3 to 4 (#3907) @app/dependabot
 - Bump actions/setup-node from 3 to 4 (#3910) @app/dependabot
 - ci: Enable dependabot for gha (#3906) @ppawlowski
 - Improve snapshot actions across devices, instances and applications (#3885) @Steve-Mcl
 - Double down on flow validation (#3887) @cstns
 - ci: Update `update-issue-status` workflow to use github token (#3900) @ppawlowski
 - Adding e2e tests to confirm that admins can navigate cancelled teams (#3886) @cstns
 - Allow Create Team view to go full width (#3898) @knolleary
 - Fix image in dev-ops-pipeline docs (#3899) @hardillb
 - Add Blueprints preview (#3863) @cstns
 - Ensure proration_behaviour set when adding first device (#3891) @knolleary
 - Remove licensing page and redirect to pricing page (#3858) @sumitshinde-84
 - Prevent password reuse (#3882) @knolleary
 - Adds creatable flag on TeamType/Instance settings (#3873) @knolleary
 - Add info to Docs for snapshot down/upload (#3876) @Steve-Mcl
 - Add username to response logging (#3881) @knolleary
 - docs: Align nginx ingress setup process (#3880) @ppawlowski
 - Excluding admins from billing related redirects (#3872) @cstns
 - Set secure flag on session cookie when running on https (#3877) @knolleary
 - billing: Start billing cycle on the 1st each month (#3748) @ZJvandeWeg
 - Point to new FlowFuse branded version (#3864) @hardillb
 - docs: Add AWS EKS setup with Terraform (#3879) @ppawlowski
 - Dashboard role uses should get team summary view on api (#3878) @knolleary
 - Frontend for Uploading a Snapshot (#3869) @Steve-Mcl
 - Backend API for Upload A Snapshot (#3868) @Steve-Mcl
 - Fix tile-select option sizing (#3861) @knolleary
 - docs: Rebrand premium to enterprise (#3860) @ZJvandeWeg
 - Remove 'other' option from sign-up form (#3857) @knolleary
 - Offboarding surveys (#3853) @cstns
 - Bump marked from 12.0.0 to 12.0.2 (#3792) @app/dependabot
 - Fix link in issue templates (#3852) @knolleary
 - Docs - Add docs for Snapshot preview (#3846) @joepavitt

#### 2.4.0: Release

 - Visualise a snapshots flows (#3835) @Steve-Mcl
 - Snapshots api (#3833) @Steve-Mcl
 - Implement health check interval user setting (#3716) @Steve-Mcl
 - Remove NR Session when user role changes (#3718) @hardillb
 - Fix the immersive editor dashboard button (#3837) @cstns
 - GH Workflow: Implement the "Update Issue Status" workflow (#3653) @joepavitt
 - Remove project nodes from built-in list so they can be upgraded (#3834) @knolleary
 - Fix migations for non-ee installs (#3817) @knolleary
 - Hide environment variable add/import buttons in read-only mode (#3826) @knolleary
 - Validate pipeline stage ownership on update (#3823) @knolleary
 - Bump @aws-sdk/credential-provider-node from 3.554.0 to 3.569.0 (#3822) @app/dependabot
 - docs: FlowForge -> FlowFuse (#3821) @ZJvandeWeg
 - Allow user setting node red version setting for application assigned devices (#3766) @Steve-Mcl
 - Generate snapshot-specific filename on download (#3814) @knolleary
 - Implement instance snapshot download (#3805) @Steve-Mcl
 - Fix async and transactional issues in code base (#3812) @Steve-Mcl
 - Flow Viewer - Add the ability to visualise Library contents (#3806) @joepavitt
 - Add redirect for /project/xyz to /instance/xyz (#3808) @knolleary
 - Remove coverage reporting of frontend tests (#3809) @knolleary
 - Sanitise output of snapshot /export API (#3797) @Steve-Mcl
 - Make blueprints accessible outside of "Create Instance" menu (#3752) @cstns
 - Update 06-story.yml (#3804) @ZJvandeWeg
 - Alter instance editor links pointing to the immersive editor to point to the default editor (#3791) @cstns
 - Fix displaying the nr editor while unavailable (#3788) @cstns
 - Add action buttons to applications overview instances list (#3783) @cstns
 - Add "Open Dashboard" button to Immersive Editor (#3769) @cstns
 - Fix alert close button (#3784) @cstns
 - Docs for setting up Dashboard v2 user plugin on selfhosted (#3782) @hardillb
 - Fix lib viewer when user does not specify an extension (#3777) @Steve-Mcl
 - Fix instructions for enabling the broker on k8s (#3774) @hardillb
 - ci: Update deploy:pr configuration to exclude files in the 'docs' directory (#3775) @ppawlowski
 - ci: Add additional stacks to pre-staging configuration script (#3770) @ppawlowski
 - ci: Introduce pull requests labeler workflow (#3764) @ppawlowski
 - Add e2e tests (#3767) @cstns
 - UX Improvements to Immersive Editor (#3753) @cstns
 - Update the editor link on the application instances list to point to the appropriate editor (#3761) @cstns
 - Bump vite from 5.0.12 to 5.2.8 (#3678) @app/dependabot
 - ci: Update Slack user mapping in tests.yml (#3763) @ppawlowski
 - Stop polling a device if it's deleted (#3714) @hardillb
 - CI: Customise pre-staging environment (#3749) @ppawlowski
 - Bump @babel/preset-env from 7.23.9 to 7.24.4 (#3722) @app/dependabot
 - Bump mqtt from 5.5.0 to 5.5.3 (#3757) @app/dependabot
 - Bump mini-css-extract-plugin from 2.8.0 to 2.9.0 (#3756) @app/dependabot
 - Bump semver from 7.5.4 to 7.6.0 (#3758) @app/dependabot
 - Add new immersive instance editor (#3709) @cstns
 - CI: Add Serban to the list of slack-github users mapping (#3747) @ppawlowski
 - Add a new full width layout (#3740) @cstns
 - Update Instance States documentation (#3745) @hardillb
 - Import ff-colors globally through webpack (#3732) @cstns
 - Allow user/runtime limits to be applied during trial (#3742) @knolleary
 - Guard access of tunnel.socket in async event handler (#3738) @knolleary
 - Reset posthog localStorage if found not to be logged in (#3733) @knolleary
 - Revert "Bump @node-saml/passport-saml from 4.0.4 to 5.0.0" (#3737) @hardillb
 - Sanitize content to avoid spurious links included in verification email (#3730) @knolleary
 - Improve test coverage around user invites (#3721) @knolleary
 - Bump @node-saml/passport-saml from 4.0.4 to 5.0.0 (#3723) @app/dependabot
 - Add privateCA config (#3720) @hardillb
 - Bump cypress from 13.6.6 to 13.7.3 (#3725) @app/dependabot
 - Bump @fastify/static from 7.0.2 to 7.0.3 (#3726) @app/dependabot
 - Bump @aws-sdk/credential-provider-node from 3.523.0 to 3.554.0 (#3724) @app/dependabot
 - Token api tidy up (#3717) @knolleary

#### 2.3.0: Release

 - Allow .npmrc and calalogue urls to be set for Application bound devices (#3643) @hardillb
 - fix: Update forge domain to use HTTPS (#3710) @ppawlowski
 - Update concepts.md (#3706) @sumitshinde-84
 - docs: Minor typo and language updates (#3707) @sumitshinde-84
 - Bump tar from 6.1.15 to 6.2.1 (#3708) @app/dependabot
 - Bump @fastify/swagger-ui from 2.1.0 to 3.0.0 (#3702) @app/dependabot
 - Bump pg from 8.11.3 to 8.11.5 (#3705) @app/dependabot
 - Bump mqtt from 5.3.5 to 5.5.0 (#3703) @app/dependabot
 - Bump @immobiliarelabs/fastify-sentry from 8.0.0 to 8.0.1 (#3704) @app/dependabot
 - Add explicit relationship tests prior to adding MSSQL support (#3700) @Steve-Mcl
 - Update branch-deploy.yaml to use custom broker domain (#3674) @ppawlowski
 - Bump eslint from 8.56.0 to 8.57.0 (#3701) @app/dependabot
 - Update instance-settings.md (#3699) @sumitshinde-84
 - Bump @sentry/node from 7.81.0 to 7.109.0 (#3664) @app/dependabot
 - Link to ebook and blog post (#3697) @ZJvandeWeg

#### 2.2.2: Release

 - Handle sessionless requests in deviceEditor routes (#3692) @knolleary
 - Enable enterprise features on pre-staging environments (#3686) @ppawlowski
 - SSO docs update (#3687) @ZJvandeWeg
 - Update keycloak sso docs (#3684) @knolleary
 - Show Target Snapshots for Device Groups (#3680) @Steve-Mcl
 - Bump @babel/core from 7.23.7 to 7.24.3 (#3661) @app/dependabot
 - Make limits tougher on common auth routes (#3679) @knolleary
 - Add error handling and logging if device sends invalid response (#3677) @knolleary
 - Ensure InstanceForm applies InstanceType availability for manual billing teams (#3676) @knolleary
 - Bump nodemon from 3.0.3 to 3.1.0 (#3662) @app/dependabot
 - Bump @fastify/static from 7.0.1 to 7.0.2 (#3665) @app/dependabot
 - Bump random-words from 2.0.0 to 2.0.1 (#3663) @app/dependabot
 - Ensure polling for NR logs is stopped if page changed (#3667) @Steve-Mcl
 - Add credentialSecret to snapshot model and update logic to use it (#3649) @knolleary
 - Implement blueprint availability to team type option (#3645) @Steve-Mcl
 - Signup form validation improvements (#3601) @Steve-Mcl
 - Show dashboard link on instances when dashboard-2 is installed (#3652) @Steve-Mcl
 - Update persistent-context.md (#3651) @ZJvandeWeg
 - Bump express from 4.18.2 to 4.19.2 (#3641) @app/dependabot
 - Ensure popover is above other elements (#3633) @Steve-Mcl
 - Bump @vitest/coverage-istanbul from 1.2.1 to 1.4.0 (#3635) @app/dependabot
 - Bump sass-loader from 13.3.2 to 14.1.1 (#3636) @app/dependabot
 - Bump @vitejs/plugin-vue from 5.0.3 to 5.0.4 (#3639) @app/dependabot
 - Bump webpack from 5.89.0 to 5.91.0 (#3637) @app/dependabot
 - Bump dotenv from 16.4.1 to 16.4.5 (#3640) @app/dependabot
 - Bump nodemailer from 6.9.9 to 6.9.13 (#3638) @app/dependabot
 - Bump sequelize from 6.35.2 to 6.37.1 (#3634) @app/dependabot
 - Bump webpack-dev-middleware from 5.3.3 to 5.3.4 (#3618) @app/dependabot
 - ci: Add initial FlowFuse platform setup when deployed from feature branch (#3602) @ppawlowski
 - Clear Device Group when device owner is changed (#3616) @Steve-Mcl
 - Ensure device group data loaded on direct navigation (#3614) @knolleary
 - Fix gtag handling (#3615) @knolleary
 - Disable "add device" when at limit (#3606) @Steve-Mcl
 - Verify snapshot ownership on api (#3608) @knolleary

#### 2.2.1: Release

 - Validate kb and km for `apiMaxLength` (#3603) @Steve-Mcl
 - Bump vue from 3.4.5 to 3.4.21 (#3524) @app/dependabot
 - Bump vue-router from 4.2.5 to 4.3.0 (#3557) @app/dependabot
 - Add apiMaxLength & debugMaxLength settings (#3595) @hardillb
 - Bump copy-webpack-plugin from 11.0.0 to 12.0.2 (#3594) @app/dependabot
 - Bump @headlessui/vue from 1.7.16 to 1.7.19 (#3592) @app/dependabot
 - Bump eslint-plugin-n from 16.2.0 to 16.6.2 (#3593) @app/dependabot
 - Validate redirect_uri in oauth flow (#3600) @knolleary
 - Change type param to required while creating a team (#3597) @Jayanth-Parthsarathy
 - Allow for combined device/instance team limits (#3585) @knolleary
 - Validate instance property on provisioning token api (#3589) @knolleary
 - Ensure device agent gets feature flags (#3584) @Steve-Mcl
 - Bump follow-redirects from 1.15.4 to 1.15.6 (#3587) @app/dependabot
 - Only show http bearer when licensed (#3583) @hardillb
 - Docs: Fix broken links in the Device registration docs (#3579) @joepavitt

#### 2.2.0: Release

 - HTTP Bearer Tokens test for correct flag (#3573) @hardillb
 - Add device actions (#3548) @Steve-Mcl
 - Fix CSP domains (#3571) @hardillb
 - Update sign-up form to use submit event (#3569) @knolleary
 - Fix GA tracking on create account (#3568) @knolleary
 - Bump jsonata and @node-red/util (#3567) @app/dependabot
 - Bump vitest from 1.1.0 to 1.3.1 (#3553) @app/dependabot
 - Bump postcss from 8.4.33 to 8.4.35 (#3555) @app/dependabot
 - Update licensing to combine device and instance limits (#3562) @knolleary
 - Docs: Update the device registration documentation (#3565) @joepavitt
 - AWS Marketplace login as ubuntu (#3563) @hardillb
 - Adds validation on PipelineStage create api (#3556) @knolleary
 - Add Bearer token support to FF Auth (#3535) @hardillb
 - Bump eslint-plugin-import from 2.29.0 to 2.29.1 (#3554) @app/dependabot
 - Support both snapshot schemas (#3542) @Steve-Mcl
 - fix typo in introduction.md (#3558) @Steve-Mcl
 - Bump html-webpack-plugin from 5.5.4 to 5.6.0 (#3552) @app/dependabot
 - Bump pino-pretty from 10.2.3 to 10.3.1 (#3551) @app/dependabot
 - Bump cypress from 13.6.1 to 13.6.6 (#3550) @app/dependabot
 - Instance Protection (#3520) @hardillb
 - Update device quick start (#3541) @Steve-Mcl
 - Improve scalability of device editor (#3511) @knolleary
 - Bump @fastify/csrf-protection from 6.3.0 to 6.4.1 (#3495) @app/dependabot
 - Bump @fastify/static from 6.12.0 to 7.0.1 (#3494) @app/dependabot
 - Bump pino from 8.17.2 to 8.19.0 (#3543) @app/dependabot
 - Bump fastify from 4.25.2 to 4.26.2 (#3544) @app/dependabot
 - fix: Allow mixed case in username in admin create api (#3540) @knolleary
 - fix: allow mixed-case usernames in backend validation (#3537) @hardillb
 - Update AWS setup documentation (#3536) @ppawlowski
 - Add docs on keycloak sso (#3530) @knolleary
 - Bump @aws-sdk/client-ses from 3.511.0 to 3.523.0 (#3525) @app/dependabot
 - Add billing status check when creating device (#3527) @knolleary

#### 2.1.1: Release

 - Set disableRequestedAuthnContext in SAML strategy (#3519) @knolleary
 - Installation Service (#3521) @MarianRaphael
 - Implement instance auto snapshots (#3507) @Steve-Mcl
 - Enforce username rules on create (#3514) @hardillb
 - Bump sinon from 16.1.0 to 17.0.1 (#3497) @app/dependabot
 - Improve logPassthrough documentation (#3506) @hardillb
 - Fix NOT NULL constraint on `ProjectSnapshots.UserId` (#3503) @Steve-Mcl
 - fix device editor tunnel status indicator (#3504) @Steve-Mcl
 - Bump ip from 2.0.0 to 2.0.1 (#3505) @app/dependabot
 - Add bug label to template (#3502) @MarianRaphael
 - Update information about local PostgreSQL (#3493) @ppawlowski
 - Update docker docs to new container names (#3492) @hardillb
 - docs: Kube stacks %s/flowforge/flowfuse/ (#3386) @ZJvandeWeg
 - Add the broker to the CSP allowed list (#3484) @hardillb
 - Add timeout failure mode to Admin Settings access control (#3491) @hardillb
 - Disable housekeeper in testing (#3483) @Pezmc
 - Fix link in k8s updgrade instructions (#3489) @hardillb

#### 2.1.0: Release

 - Implement device auto snapshot (#3481) @Steve-Mcl
 - Bump marked from 11.2.0 to 12.0.0 (#3470) @app/dependabot
 - Add Google analytics support (#3479) @hardillb
 - Ensure Admin Settings page only shown to Admin users (#3478) @hardillb
 - Use icons for the application summary (#3467) @Pezmc
 - Bump @aws-sdk/client-ses from 3.504.0 to 3.511.0 (#3469) @app/dependabot
 - Bump @fastify/cookie from 9.2.0 to 9.3.1 (#3471) @app/dependabot
 - Bump mocha from 10.2.0 to 10.3.0 (#3468) @app/dependabot
 - Bump mqtt from 5.3.4 to 5.3.5 (#3472) @app/dependabot
 - Improve performance of Audit Log entry page (#3465) @Pezmc
 - Validate projectType param on stacks api (#3464) @knolleary
 - Add license to configuration documentation (#3460) @hardillb
 - Home Screen: Follow up, device audit log entry (#3462) @Pezmc
 - Generate database structure via migration (#3436) @knolleary
 - Home Screen Improvements: Add devices, activity log, and application summary (#3427) @Pezmc
 - Enforce Username constraint in both front and backend (#3459) @hardillb
 - Make device log streaming scale across multiple forge apps (#3419) @hardillb
 - Device agent instance node-red audit logs (#3447) @Steve-Mcl
 - Update documentation of database configuration when installing with Helm Chart (#3385) @ppawlowski
 - Replace helm upgrade instructions with link to Helm documentation (#3435) @ppawlowski
 - feat: enable custom password and generate access token during initialization for ff-admin (#2996) @AllanOricil
 - Bump dotenv from 16.3.1 to 16.4.1 (#3450) @app/dependabot
 - Bump mini-css-extract-plugin from 2.7.6 to 2.8.0 (#3451) @app/dependabot
 - Bump css-loader from 6.9.1 to 6.10.0 (#3449) @app/dependabot
 - Allow admin read-only access to instances (#3452) @knolleary
 - Bump @aws-sdk/client-ses from 3.421.0 to 3.504.0 (#3453) @app/dependabot
 - Remove blueprints from instance duplication (#3446) @hardillb
 - Fix copy/paste formatting of device logs (#3440) @knolleary
 - Identify user to hubspot api if tracking enabled (#3411) @knolleary
 - Fix Formatting of Copy/Paste of NR Logs (#3087) @sumitshinde-84
 - Bump nodemailer from 6.9.8 to 6.9.9 (#3438) @app/dependabot
 - Document AWS SES configuration (#3431) @hardillb
 - Add support for Quick Connect device to the core (#3388) @Steve-Mcl
 - Remove setup wizard telemetry screen (#3429) @hardillb
 - SEO docs fix (#3432) @MarianRaphael
 - Offer link to trial license as part of Setup (#3428) @hardillb
 - Request a Trial Enterprise License (#3424) @MarianRaphael
 - Update community forum (#3422) @MarianRaphael
 - fix seo docs links (#3420) @MarianRaphael
 - Limit referers to just origin for cross origin (#3399) @hardillb
 - Move oauth session state to the database (#3418) @knolleary
 - Ensure platform has a unqiue mqtt client id (#3417) @knolleary
 - Handle null status events from devices (#3409) @knolleary
 - Add `email` to list of valid arguments for create use (#3406) @hardillb
 - Bump marked from 10.0.0 to 11.2.0 (#3405) @app/dependabot
 - Bump css-loader from 6.9.0 to 6.9.1 (#3401) @app/dependabot
 - Bump @sentry/webpack-plugin from 2.10.2 to 2.10.3 (#3402) @app/dependabot
 - Bump sqlite3 from 5.1.6 to 5.1.7 (#3403) @app/dependabot
 - Bump @babel/preset-env from 7.23.3 to 7.23.9 (#3404) @app/dependabot
 - Quieten down `Device.Team` is `null` exceptions (#3356) @Steve-Mcl
 - Make refs to k8s-flowforge-kubeconfig.yaml consitent (#3387) @hardillb
 - docs: Update branding and verbiage (#3397) @ZJvandeWeg
 - Docs improvements for FlowFuse File Nodes (#3396) @MarianRaphael
 - DeviceEditor: clear request cache when reply handled (#3395) @knolleary
 - Update flowforge to flowfuse on /introduction (#3393) @Yndira-FlowForge
 - fix bash command formatting in Testing against PostgreSQL (#3390) @Steve-Mcl
 - Add SSO CTA to Team Settings page (#3380) @knolleary
 - Allow telemetry ping to be disabled by tests (#3382) @knolleary
 - Update Digital-Ocean K8s install docs (#3359) @hardillb

#### 2.0.1: Release

 - Bump @vitejs/plugin-vue from 5.0.2 to 5.0.3 (#3373) @app/dependabot
 - Show application select dropdown in team -> device -> create dialog (#3363) @Steve-Mcl
 - Bump style-loader from 3.3.3 to 3.3.4 (#3370) @app/dependabot
 - Bump @vitest/coverage-istanbul from 1.1.0 to 1.2.1 (#3372) @app/dependabot
 - Bump nodemailer from 6.9.6 to 6.9.8 (#3371) @app/dependabot
 - Bump nodemon from 3.0.1 to 3.0.3 (#3369) @app/dependabot
 - Ensure that the project team is available (#3375) @hardillb
 - Blueprints docs (#3368) @MarianRaphael
 - Bump vite from 5.0.10 to 5.0.12 (#3364) @app/dependabot
 - Bump css-loader from 6.8.1 to 6.9.0 (#3346) @app/dependabot
 - Bump postcss from 8.4.32 to 8.4.33 (#3347) @app/dependabot
 - Bump @sentry/webpack-plugin from 2.10.1 to 2.10.2 (#3343) @app/dependabot
 - add missing or (#3361) @hardillb
 - Adjust kebab menu x/y if out of viewport when rendered (#3354) @Steve-Mcl

#### 2.0.0: Release

 - Describe local pgsql upgrade process (#3108) @ppawlowski
 - Update Min nodejs in localfs install/upgrade docs (#3319) @hardillb
 - Use Alert.emit instead of $toast (#3352) @Steve-Mcl
 - Update device on group membership change (#3330) @Steve-Mcl
 - Reimplement vue poll timers (#3351) @Steve-Mcl
 - Account for actions column in calculated colspan of data table (#3337) @Steve-Mcl
 - Change expireTokens task schedule (#3327) @knolleary
 - Remove email from UserSummary view (#3348) @knolleary
 - Bump sequelize from 6.35.1 to 6.35.2 (#3344) @app/dependabot
 - Ensure swagger-ui baseDir is set to non-existent directory (#3322) @knolleary
 - Do not allow password to be same as email/username (#3338) @knolleary
 - Improved handling of command/response pattern in scaled environment (#3342) @knolleary
 - Allow device to be add to platform regardless of agent version recorded in DB (#3334) @Steve-Mcl
 - Update title for dev agent intro page (#3340) @ZJvandeWeg
 - Fix link to API docs to flowfuse.com (#3336) @hardillb
 - Be less specific if username or email is unavailable on registration (#3335) @knolleary
 - Add CommandResponse pattern for handling scalable platform (#3331) @knolleary
 - Create Device Groups from the Pipeline Stage Form (#3323) @Pezmc
 - Remove mixed used of callback and async in fastify plugins (#3329) @Pezmc
 - Tighten Auth & Email route rate limits (#3326) @hardillb
 - Improve docs around pipeline target types (#3318) @Steve-Mcl
 - Sentry Config Tweaks (#3320) @Pezmc
 - Update team name in issue templates (#3325) @knolleary
 - First pass at device & browser affinity (#3173) @hardillb
 - Ensure password reset tokens are cleared on use (#3321) @knolleary
 - Allow team membership to be managed by SAML Group assertion (#3291) @knolleary
 - Show better error when importing flows into instance (#3317) @hardillb
 - Bump @immobiliarelabs/fastify-sentry from 7.1.1 to 8.0.0 (#3300) @app/dependabot
 - Bump c8 from 8.0.1 to 9.0.0 (#3299) @app/dependabot
 - Devices: Fleet Mode Label (#3287) @Pezmc
 - Sentry: Fix several small exceptions (#3313) @Pezmc
 - Add team invitations to dropdown (#3304) @Pezmc
 - Bump @fastify/swagger from 8.12.0 to 8.13.0 (#3303) @app/dependabot
 - Bump axios from 1.6.0 to 1.6.5 (#3302) @app/dependabot
 - Bump @fastify/static from 6.11.2 to 6.12.0 (#3301) @app/dependabot
 - Add teamTrial, teamType, deviceLastSeen and deviceMode to stats end point (#3297) @knolleary
 - Device audit log (#3296) @hardillb
 - Revert "Revert redirects as it breaks TOC for some reason" (#3293) @knolleary
 - Upgrade vue dependencies to latest minor versions (#3288) @Pezmc
 - Bump vue from 3.3.6 to 3.4.3 (#3280) @app/dependabot
 - Fix subscription deletion when putting into unmanaged mode (#3286) @knolleary
 - Validate team id when deleting team invitation (#3289) @knolleary
 - Bump tj-actions/changed-files from 40 to 41 in /.github/workflows (#3284) @app/dependabot
 - Bump vitest and @vitest/coverage-istanbul (#3273) @app/dependabot
 - Bump @fastify/rate-limit from 8.0.3 to 9.1.0 (#3282) @app/dependabot
 - Flow Blueprints Admin: Fix inactive (#3267) @Pezmc
 - Bump eslint from 8.52.0 to 8.56.0 (#3274) @app/dependabot
 - Bump @babel/core from 7.23.3 to 7.23.7 (#3281) @app/dependabot
 - Add primer on feature flags to contrib docs (#3271) @knolleary
 - Update platform audit-log to provide correct set of event types to filter with (#3283) @knolleary
 - Added tiers to templates (#3272) @MarianRaphael
 - Blueprint Admin: Fix form validation (#3270) @Pezmc
 - Better defaults for Audit Log view (#3269) @Steve-Mcl

#### 1.15.0: Release

 - Device Groups: Disable rather than hide Device Group option (#3249) @Pezmc
 - Add loading indicator to Pipelines.vue (#3257) @Steve-Mcl
 - Fix missing instance properties (#3255) @Pezmc
 - Move to @flowfuse/flowfuse npm package (#3190) @knolleary
 - Restore leaving developer mode warning dialog (#3251) @Steve-Mcl
 - Pictogram for Pipelines (#3250) @Pezmc
 - Implement API for Device Groups (#3157) @Steve-Mcl
 - Update description of Disable Editor (#3245) @hardillb
 - Ensure pipelines empty state has a feature unavailable message (#3242) @Steve-Mcl
 - Make Security: Unknown show None (tweek to #3175) (#3240) @hardillb
 - Update instance settings docs for alerts (#3244) @MarianRaphael
 - Make link a button so it's obvious for change team type (#3233) @hardillb
 - Send alerts on Instance Crash (#3217) @hardillb
 - If empty deny list allow storing (#3232) @hardillb
 - Blueprint UI Follow ups (#3234) @Pezmc
 - Add 'ci/' to .npmignore (#3225) @ppawlowski
 - Bump cypress from 13.6.0 to 13.6.1 (#3198) @app/dependabot
 - Bump eslint-plugin-vue from 9.17.0 to 9.19.2 (#3199) @app/dependabot
 - Bump fastify-metrics from 10.3.2 to 10.4.1 (#3201) @app/dependabot
 - Bump html-webpack-plugin from 5.5.3 to 5.5.4 (#3228) @app/dependabot
 - Flow Blueprints Selection UI (#3180) @Pezmc
 - Bump mqtt from 5.3.1 to 5.3.3 (#3227) @app/dependabot
 - Allow to deploy from all PRs (#3231) @ppawlowski
 - Enforce password quality rules (#3195) @hardillb
 - Allow expired billing teams to be deleted (#3187) @hardillb
 - Ensure editor sessions are revoked when logging out of the platform (#3214) @knolleary
 - Increase plugin timeout to 20s to avoid failed startups (#3213) @knolleary
 - Bump @aws-sdk/credential-provider-node from 3.451.0 to 3.470.0 (#3200) @app/dependabot
 - FIX: run deployment from branch only once (#3207) @ppawlowski
 - Add possibility to deploy feature branch on a dedicated application instance (#3144) @ppawlowski
 - Allow teams with empty Applications deletion (#3178) @hardillb
 - Ensure password reset tokens cannot be reused (#3196) @knolleary
 - Improve session handling on password change (#3194) @knolleary
 - Only use node-red audit events to update local package list (#3189) @knolleary
 - Tidy up delete dialogs (#3185) @knolleary
 - Show current security setting against instance (#3175) @Pezmc
 - Improve handling of hanging plugin on startup (#3182) @knolleary
 - Fix team delete for unmanaged-billing team (#3181) @knolleary
 - Extend manual billing options to non-trial teams (#3170) @knolleary
 - Sentry: Enable client reporting (#3166) @Pezmc
 - Move app.monitor to be a housekeeper task (#3167) @knolleary
 - Revert "Bump @vitejs/plugin-vue from 4.5.0 to 4.5.1" (#3169) @knolleary
 - DevOps Pipeline: Block attempted deploys to devices in developer mode (#3127) @Pezmc
 - Bump @vitejs/plugin-vue from 4.5.0 to 4.5.1 (#3161) @app/dependabot
 - Bump sequelize from 6.35.0 to 6.35.1 (#3160) @app/dependabot
 - Sentry: Add custom sampling rates for high volume routes (#3163) @Pezmc
 - Bump mqtt from 5.3.0 to 5.3.1 (#3158) @app/dependabot
 - Bump @fastify/cookie from 9.1.0 to 9.2.0 (#3162) @app/dependabot
 - Bump cypress from 13.2.0 to 13.6.0 (#3159) @app/dependabot
 - Update npm-publish action version to v2 (#3155) @ppawlowski

#### 1.14.1: Release

 - Fix login failure for generated admin (#3153) @hardillb
 - Fix width of setup fields (#3147) @hardillb
 - Coverage of creating and updating stages with devices (#3143) @Pezmc
 - docs: Where to find billing details (#3149) @ZJvandeWeg
 - Add canonical link to current base_url (#3146) @hardillb
 - Add UI for pipeline update audit entry (#3124) @Steve-Mcl
 - DevOps Pipeline: Clearer error messages (#3118) @Pezmc
 - Update introduction.md (#3019) @zackwasli
 - Bump @vue/test-utils from 2.4.1 to 2.4.2 (#3133) @app/dependabot
 - Bump @babel/core from 7.23.2 to 7.23.3 (#3132) @app/dependabot
 - Bump marked from 9.1.5 to 10.0.0 (#3131) @app/dependabot
 - Bump mqtt from 5.1.4 to 5.3.0 (#3134) @app/dependabot
 - Bump @sentry/webpack-plugin from 2.10.0 to 2.10.1 (#3135) @app/dependabot
 - Allow a trial team to be put into unmanaged mode to bypass billing (#3138) @knolleary
 - Update container loading for new module scopes (#3141) @knolleary
 - Fix blob and add more Hubspot domains (#3121) @hardillb
 - Add tunnel recreation unit test (#3126) @Steve-Mcl
 - Notify developers on failed tests pipeline (#3122) @ppawlowski
 - Fix linux version of install instructions (#3129) @hardillb

#### 1.14.0: Release

 - Doc upgrading #3082 (#3085) @hyamanieu
 - Remove quotes on for worker-src blob (#3117) @hardillb
 - DevOps Pipelines: Deploy active device snapshot (#3115) @Pezmc
 - Fix sentry.io and add blob for worker (#3116) @hardillb
 - Fix hostname used for posthog CSP (#3107) @hardillb
 - fix pipelinestage device action dropdown choices (#3110) @Steve-Mcl
 - Fix: Deploying of device to instance (#3111) @Pezmc
 - Add app device access verification to ACL manager (#3074) @Steve-Mcl
 - Docs - User Settings (#3102) @MarianRaphael
 - Update billing setup page (#3092) @knolleary
 - Bump @sentry/profiling-node from 1.2.1 to 1.2.6 (#3095) @app/dependabot
 - Bump vue-loader from 17.3.0 to 17.3.1 (#3096) @app/dependabot
 - Bump @babel/preset-env from 7.23.2 to 7.23.3 (#3097) @app/dependabot
 - Bump @vitejs/plugin-vue from 4.4.0 to 4.5.0 (#3098) @app/dependabot
 - Devices in Pipeline Stages (#3024) @Pezmc
 - Bump @aws-sdk/credential-provider-node from 3.441.0 to 3.451.0 (#3099) @app/dependabot
 - "Device Editor" enabled by default (#3061) @Steve-Mcl
 - Disable create snapshot button if not assigned to an application or instance (#3049) @Pezmc
 - Add support for 2FA via TOTP (#3065) @knolleary
 - Update references to flowfuse (#3088) @hardillb
 - Update StatusBadge styling for "Crashed" (#3090) @joepavitt

#### 1.13.3: Release

 - fix forgot password email input field (#3081) @sumitshinde-84
 - Fix typo as to which file to exluse (#3083) @hardillb
 - Add Icon and detail for 'context.delete' audit entry (#3078) @Steve-Mcl
 - Update deploy.md (#3079) @ZJvandeWeg
 - New stack version error (#3036) @hardillb
 - Ensure device provisioning data shown (#3076) @hardillb
 - Add keywords to strengthen associations (#3077) @Steve-Mcl
 - Bump fastify from 4.24.0 to 4.24.3 (#3069) @app/dependabot
 - Bump sequelize from 6.33.0 to 6.35.0 (#3070) @app/dependabot
 - Bump postcss-preset-env from 9.1.3 to 9.3.0 (#3071) @app/dependabot
 - Bump @sentry/webpack-plugin from 2.7.1 to 2.10.0 (#3072) @app/dependabot
 - Bump lru-cache from 10.0.1 to 10.0.2 (#3068) @app/dependabot
 - Enable CSP in report only mode (#3062) @hardillb
 - Bump axios from 1.5.0 to 1.6.0 (#3067) @app/dependabot
 - Update device agent docs to reflect package changes (#3063) @knolleary
 - Merge test workflows (#3037) @ppawlowski
 - Refactor array splicing to be a computed property (#3052) @Pezmc
 - Bump @aws-sdk/credential-provider-node from 3.421.0 to 3.441.0 (#3050) @app/dependabot
 - Bump marked from 9.0.3 to 9.1.5 (#3051) @app/dependabot
 - Bump @vitest/coverage-istanbul from 0.34.5 to 0.34.6 (#3053) @app/dependabot
 - Bump vue-template-compiler from 2.7.14 to 2.7.15 (#3055) @app/dependabot
 - Bump @babel/core from 7.23.0 to 7.23.2 (#3054) @app/dependabot
 - Fix URL of FF helm chart (#3046) @hardillb
 - Avoid unnecessary retrieval of full snapshot contents where possible (#3025) @knolleary
 - Prevent snapshots of devices without applications / instances (#3026) @Pezmc
 - rebrand: Rebrand the platform from Forge (#3044) @ZJvandeWeg
 - Chore: Reduce sentry reporting rate (#3041) @Pezmc

#### 1.13.2: Release

 - Bump vue-router from 4.2.4 to 4.2.5 (#3027) @app/dependabot
 - Bump pino-pretty from 10.2.0 to 10.2.3 (#3028) @app/dependabot
 - Bump webpack from 5.88.2 to 5.89.0 (#3029) @app/dependabot
 - Bump eslint-plugin-n from 16.1.0 to 16.2.0 (#3030) @app/dependabot
 - Bump mqtt from 5.1.3 to 5.1.4 (#3031) @app/dependabot
 - Fix applying pipeline migrations on non-EE platforms (#3033) @knolleary
 - Quick Start Guide for Devices (#3016) @gdziuba
 - Avoid needless settings lookup on instance list endpoint (#3023) @knolleary
 
#### 1.13.1: Release

 - Fix recursion when adding mutating palette catalogue urls (#3012) @Pezmc

#### 1.13.0: Release

 - Update built-in module list to include newly scoped packages (#3003) @knolleary
 - billing: Update cancelation docs (#2986) @ZJvandeWeg
 - Add to Docs - Resource utilization warnings (#3008) @MarianRaphael
 - Update default values for template (#3007) @knolleary
 - Add wildcard Content Type parser (#3000) @hardillb
 - Pin publish workflow to v0.1.0 (#3002) @ppawlowski
 - Update node-red-tools docs to point at new package name (#2998) @knolleary
 - Bump @sentry/vue from 7.72.0 to 7.74.1 (#2995) @app/dependabot
 - Bump vue from 3.3.4 to 3.3.6 (#2994) @app/dependabot
 - Bump eslint from 8.51.0 to 8.52.0 (#2993) @app/dependabot
 - Bump eslint-plugin-import from 2.28.1 to 2.29.0 (#2992) @app/dependabot
 - Bump mqtt from 5.1.1 to 5.1.3 (#2991) @app/dependabot
 - Fix: Loading project snapshot for every device status update (#2990) @Pezmc
 - Revert "Temporary change in publish pipeline for testing purposes" (#2985) @ppawlowski
 - Add Resource Audit Log entries (#2968) @hardillb
 - Chore: Throw for unhandled promise rejections in tests (#2973) @Pezmc
 - Temporary change in publish pipeline for testing purposes (#2982) @ppawlowski

#### 1.12.5: Release

 - Update docs on trials (#2969) @knolleary
 - Ignore subscription events if we don't know the subscription (#2965) @knolleary
 - Bump @babel/traverse from 7.23.0 to 7.23.2 (#2967) @app/dependabot
 - Bump @babel/preset-env from 7.22.15 to 7.23.2 (#2957) @app/dependabot
 - Bump sinon from 16.0.0 to 16.1.0 (#2958) @app/dependabot
 - Bump eslint from 8.50.0 to 8.51.0 (#2959) @app/dependabot
 - Bump @fastify/swagger from 8.10.1 to 8.12.0 (#2960) @app/dependabot
 - Bump @fastify/swagger-ui from 1.9.3 to 1.10.1 (#2961) @app/dependabot
 - Exit trial when billing setup (#2963) @knolleary
 - Restrict custom catalogs and npmrc to licensed team types (#2966) @knolleary
 - Fix liniting and hide npmrc if on old stack (#2956) @hardillb
 - Fix: N+1 query for StorageFlows for Instance State End Points (#2955) @Pezmc
 - Fall back to unknown if both SENTRY_ENV and NODE_ENV are unset (#2949) @Pezmc

#### 1.12.4: Release

 - Fix navigating away from instance page (#2946) @knolleary
 - Guard against refreshing an application page when route is changing (#2940) @knolleary
 - docs: Upgrade agent (#2943) @ZJvandeWeg
 - Flow Blueprints: Admin UI for CRUD (#2923) @Pezmc
 - Fix for ff-tile-selection wrapping issues (#2942) @Pezmc
 - Device Agent - Raspbian Docu (#2906) @MarianRaphael
 - Add better validation of blueprint flows (#2939) @knolleary
 - Flow Blueprints mvp tidy (#2938) @knolleary
 - Apply a flowTemplate if specified on Instance Create (#2928) @knolleary
 - Flow Blueprints: Select a flow blueprint during instance creation (#2922) @Pezmc
 - Add Office365 to email examples (#2936) @hardillb
 - Unpin fastify (#2935) @knolleary
 - Revert "Revert "Error Tracking: Include task name when reporting complete or error"" (#2932) @Pezmc
 - Pin fastify to 4.23.0 due to HEAD bug (#2931) @knolleary
 - Revert "Error Tracking: Include task name when reporting complete or error" (#2930) @Pezmc
 - Error Tracking: Include task name when reporting complete or error (#2926) @Pezmc
 - docs: clean up device install text (#2924) @ZJvandeWeg
 - Error Reporting: Tracking of Housekeeper Tasks (#2921) @Pezmc
 - Fix ESM error when device agent version is 1.11.0 or 1.11.1 and device is assigned to an application (#2918) @Steve-Mcl
 - chore: Remove redirects (#2915) @ZJvandeWeg
 - Bump @fastify/passport from 2.3.0 to 2.4.0 (#2911) @app/dependabot
 - Bump mqtt from 4.3.7 to 5.1.1 (#2910) @app/dependabot
 - Bump nodemailer from 6.9.4 to 6.9.6 (#2909) @app/dependabot
 - Bump vue-loader from 17.2.2 to 17.3.0 (#2908) @app/dependabot
 - Add ability to push any snapshot to application owned device (#2835) @Steve-Mcl
 - Add FlowTemplate model and CRUD api (#2891) @knolleary
 - Error Tracking: Tweaks (#2903) @Pezmc
 - Bump marked from 4.3.0 to 9.0.3 (#2869) @app/dependabot

#### 1.12.3: Release

 - Remove not null constraint on ProjectSnapshot.ProjectId column (#2899) @knolleary
 - New "Assign Device" dialog, exposed at Device page & new "Assignment" Settings (#2896) @joepavitt
 - Add sentry-related environmental variables to build pipeline (#2876) @ppawlowski
 - config: Prometheus config is now a map (#2893) @ZJvandeWeg
 - metrics: Expose `/metrics` with Prometheus data (#2889) @ZJvandeWeg
 - Dynamic label in tooltip for Editor Access button (#2888) @joepavitt
 - Adds tooltip clarification to the "Editor Access" button for a Device (#2883) @joepavitt
 - Bump @aws-sdk/client-ses from 3.363.0 to 3.421.0 (#2868) @app/dependabot
 - Revert redirects as it breaks TOC for some reason (#2881) @knolleary
 - Fix redirects in docs (#2879) @knolleary
 - Add description of Agent and FF Cloud to docs index (#2877) @knolleary
 - Bump vitest from 0.34.4 to 0.34.6 (#2870) @app/dependabot
 - Bump postcss from 8.4.29 to 8.4.31 (#2867) @app/dependabot
 - Bump @vitejs/plugin-vue from 4.3.4 to 4.4.0 (#2866) @app/dependabot
 - Report Correct Config File Path (#2865) @Pezmc
 - Guard against frontend or sentry being undefined (#2864) @Pezmc
 - Feature: Error tracking (#2862) @Pezmc
 - Update repo references (#2860) @knolleary
 - Update ff references in package.json (#2861) @knolleary
 - Fix Pipeline Issue where "Create New Snapshot" results in error (#2856) @joepavitt
 - v1.12.0 helm upgrade doc (#2850) @hardillb
 - Fix URL for instance device snapshot (#2847) @Steve-Mcl
 - Fixup lots of FlowForge references (#2846) @knolleary
 - Change repo references in workflows after github org rename (#2784) @ppawlowski

#### 1.12.2: Release

 - Fix Pipeline Issue where "Create New Snapshot" results in error (#2858)

#### 1.12.1: Release

 - v1.12.0 helm upgrade doc (#2851)
 - Fix URL for instance device snapshot (#2849)
 - Fixup lots of FlowForge references (#2848)

#### 1.12.0: Release

 - Add api docs to pipeline stage deploy end point (#2838) @knolleary
 - Fix Tests: Guard against getOwners including a null (#2844) @Pezmc
 - More robust check for Snapshot count in Device Snapshots E2E test (#2842) @joepavitt
 - Add appropriate E2E Tests for Device Snapshots (#2831) @joepavitt
 - Push Snapshots Though Devops Pipelines (#2818) @Pezmc
 - Bump eslint from 8.49.0 to 8.50.0 (#2822) @app/dependabot
 - Add option not to create NR instance when creating Application (#2836) @knolleary
 - Include docker-compose version requirement (#2833) @hardillb
 - Frontend for device owned snapshots (#2750) @Steve-Mcl
 - Add backend support for device owned snapshots (#2738) @Steve-Mcl
 - Add support for application audit log (#2819) @Steve-Mcl
 - Bump @vitest/coverage-istanbul from 0.34.4 to 0.34.5 (#2823) @app/dependabot
 - Bump @babel/core from 7.22.17 to 7.23.0 (#2824) @app/dependabot
 - Bump eslint-plugin-cypress from 2.13.3 to 2.15.1 (#2825) @app/dependabot
 - Bump @aws-sdk/credential-provider-node from 3.363.0 to 3.418.0 (#2821) @app/dependabot
 - Fix test for pre-release versions (#2817) @hardillb
 - Allow log output to be fully JSON formatted (#2815) @knolleary
 - First Pass custom node catalogue (#2694) @hardillb
 - Fix Main docs title (#2812) @hardillb
 - Update deprecated api calls in fastify (#2808) @knolleary
 - Bump fastify from 4.19.2 to 4.23.2 (#2777) @app/dependabot
 - docs: How to duplicate instances to create devops pipelines (#2753) @ZJvandeWeg
 - Enable concurrency for publish workflow (#2796) @ppawlowski
 - Validate env vars on the backend (#2785) @hardillb
 - Ensure content is cleared on selection change (#2789) @Steve-Mcl
 - Use applications image instead of default (#2790) @Steve-Mcl
 - Correctly render node-red event "nodes.remove" in audit log (#2791) @Steve-Mcl
 - Chore: remove all eslint self-closing tag exceptions (#2788) @hardillb
 - Clarify need for content-type to be set for api requests (#2786) @knolleary
 - Chore: Remove all linting exceptions from admin pages (#2772) @knolleary
 - Disable filestore by default (#2686) @hardillb
 - Chore: Eslint team membership (#2783) @hardillb
 - Bump sinon from 15.2.0 to 16.0.0 (#2778) @app/dependabot
 - Bump @fastify/static from 6.11.0 to 6.11.2 (#2780) @app/dependabot
 - Bump @headlessui/vue from 1.7.14 to 1.7.16 (#2781) @app/dependabot
 - fix: Anchor tag broken in docs (#2775) @ZJvandeWeg
 - Remove all linting exceptions from pages/account/* (#2769) @knolleary
 - Publish nightly package to npmjs (#2773) @ppawlowski
 - Introduce Enterprise license tier (#2757) @hardillb
 - Chore: Remove eslint for pages/team/Settings/* (#2771) @hardillb
 - Add TeamType option to disable email sending for Team Trial (#2766) @knolleary
 - Update cypres (#2765) @hardillb
 - Update FF Cloud billing description (#2767) @knolleary
 - Update localfs to latest (#2762) @knolleary
 - Add invoice proration option to TeamType (#2758) @knolleary
 - Fix create TeamType dialog (#2743) @knolleary
 - docs: settings is a tab, not a menu item (#2751) @ZJvandeWeg
 - Allow admin to create application/instances (#2744) @knolleary
 - Fix Admin Overview layout on small screens (#2747) @knolleary
 - Remove vue/html-closing-bracket-spacing linting exceptions (#2745) @knolleary
 - docs: "currently" support HTTPS for local (#2741) @ZJvandeWeg
 - docs: LocalFS doesn't support HTTPS (#2739) @ZJvandeWeg
 - Disable timers after unmount and fix instance log error (#2737) @Pezmc
 - Bump @fastify/swagger-ui from 1.9.2 to 1.9.3 (#2662) @app/dependabot
 - Bump axios from 1.4.0 to 1.5.0 (#2728) @app/dependabot
 - Bump bcrypt from 5.1.0 to 5.1.1 (#2729) @app/dependabot
 - Bump jsonwebtoken from 9.0.1 to 9.0.2 (#2730) @app/dependabot
 - Bump @fastify/swagger from 8.9.0 to 8.10.0 (#2731) @app/dependabot
 - Further Postgres memory limit increase (#2736) @Pezmc
 - Pin reusable workflow to commit SHA (#2734) @ppawlowski
 - Introduce ctrlX guides for docs (#2733) @MarianRaphael
 - Snapshots: "extract full project snapshot" API (#2462) @elenaviter
 - Devices Pagination: Coverage and fixes of devices search/filter/query (#2715) @Pezmc
 - Do not add module to instance settings if error in audit event object (#2726) @knolleary
 - Minor upgrades of all dev dependencies (#2717) @Pezmc
 - Update sequelize (#2720) @Pezmc
 - Update semver to avoid CVE (#2718) @Pezmc
 - Add getting started guide (#2723) @MarianRaphael
 - Move pg and fastify routes to runtime dependencies (#2716) @Pezmc
 - Update websocket close codes to proper range (#2711) @knolleary
 - Change default device command timeout to 10s (#2708) @knolleary
 - Clean Home/Login/PasswordExpired (#2704) @hardillb
 - CHORE: Lint fix for pages/setup/* (#2705) @hardillb
 - Devices Browser Pagination (#2677) @Pezmc
 - Chore: Update some of the attribute order lint (#2701) @hardillb
 - Bump @fastify/cookie from 8.3.0 to 9.0.4 (#2660) @app/dependabot
 - Remove require-explicit-emtis section from .eslintrc (#2700) @hardillb
 - Bump vitest from 0.34.1 to 0.34.3 (#2695) @app/dependabot
 - Bump @fastify/static from 6.10.2 to 6.11.0 (#2696) @app/dependabot
 - Bump @fastify/swagger from 8.6.0 to 8.9.0 (#2697) @app/dependabot
 - Disable scheduled package build (#2698) @ppawlowski
 - Add logo with red text (#2693) @MarianRaphael
 - Fix sending welcome email at start of new trial type (#2688) @knolleary
 - Device Limit Banner Improvements (#2683) @Pezmc
 - Fix links following docs restructuring (#2684) @knolleary

#### 1.11.0: Release

 - Add banner to DeviceBrowser when device limit reached (#2670) @knolleary
 - Update trial emails to new branding (#2669) @knolleary
 - Rebrand some more UI components (#2676) @knolleary
 - Show sparkles if library feature unavailable for given team type (#2675) @knolleary
 - Handle errors whilst processing trial subscriptions (#2673) @knolleary
 - File server quota (#2672) @hardillb
 - Allow a device to be assigned to application (#2621) @Steve-Mcl
 - TeamType fixes (#2666) @knolleary
 - Add file/context quotas to teamType UI (#2671) @knolleary
 - Update branding in email templates (#2668) @knolleary
 - Give App Description field some space (#2665) @knolleary
 - Add team-type feature flag for Shared Library (#2599) @knolleary
 - Restructure Docs (#2650) @MarianRaphael
 - Bump @vitejs/plugin-vue from 4.2.3 to 4.3.3 (#2659) @app/dependabot
 - Bump nodemon from 2.0.22 to 3.0.1 (#2661) @app/dependabot
 - Bump webpack from 5.88.1 to 5.88.2 (#2658) @app/dependabot
 - Fix instructions for building custom stacks (#2648) @hardillb
 - README Rebrand (#2649) @MarianRaphael
 - FlowFuse UI Rebrand (#2613) @MarianRaphael
 - Docs Rebranding (#2617) @MarianRaphael

#### 1.10.0: Release

 - Bump eslint-plugin-import from 2.27.5 to 2.28.0 (#2544) @dependabot
 - Bump babel-loader from 9.1.2 to 9.1.3 (#2546) @dependabot
 - Auto-create Application/Instance when first joining FlowForge (#2553) @Pezmc
 - Add animated status icons (#2551) @joepavitt
 - Cleaner layout for Instance overview (#2550) @joepavitt
 - Bump pino-pretty from 10.0.0 to 10.2.0 (#2545) @dependabot
 - Bump @aws-sdk/credential-provider-node from 3.363.0 to 3.379.1 (#2548) @dependabot
 - Update flowforge.yml to match docs (#2549) @hardillb
 - Deduplicate email invites (SEC#19) (#2543) @Steve-Mcl
 - Add schema and views to pipeline routes (#2390) @knolleary
 - Copy InstanceType billing into default starter team type configuration (#2533) @knolleary
 - Allow device in developer mode to access team library (#2472) @Steve-Mcl
 - Generate a default admin user (#2443) @hardillb
 - Change redirect post application creation to /instance (#2538) @joepavitt
 - Route rate limits (sec #18) (#2530) @Steve-Mcl
 - Show tooltip on hover in device bar, and truncate text when not enough space (#2536) @joepavitt
 - Clarify instructions when presented with device.yml (#2535) @joepavitt
 - Adds differentiation in messaging between debit/credit amounts (#2539) @joepavitt
 - Add support for multiple TeamTypes with limits/billing set per type (#2519) @knolleary
 - Allow Postgres DB connection to enable SSL (#2500) @hardillb
 - Snapshots in Pipelines (#2399) @Pezmc
 - Handle node-red log messages with undefined payloads (#2515) @knolleary
 - Bump @vue/test-utils from 2.4.0 to 2.4.1 (#2524) @dependabot
 - Bump postcss from 8.4.26 to 8.4.27 (#2523) @dependabot
 - Bump cypress from 12.15.0 to 12.17.2 (#2522) @dependabot
 - Bump eslint from 8.43.0 to 8.45.0 (#2521) @dependabot
 - Bump nodemailer from 6.9.3 to 6.9.4 (#2520) @dependabot
 - Environment Variables import .env files (#2501) @Steve-Mcl
 - Lint fix chore (#2461) @hardillb
 - Added Dashboard Only Role (#2513) @MarianRaphael
 - Treat disabling an already disabled editor tunnel as a no-op (#2510) @knolleary
 - Add log messages for device agent connect/disconnect events (#2507) @knolleary
 - Fix incorrect 'start-failed' notifications (#2505) @knolleary
 - Make the response log entry contains the real source IP address (#2503) @hardillb
 - Bump @fastify/helmet from 10.1.1 to 11.0.0 (#2490) @dependabot
 - Bump vue-router from 4.2.2 to 4.2.4 (#2491) @dependabot
 - Bump vitest from 0.32.4 to 0.33.0 (#2492) @dependabot
 - Bump postcss-preset-env from 8.5.1 to 9.0.0 (#2493) @dependabot
 - Bump postcss from 8.4.24 to 8.4.26 (#2494) @dependabot
 - Update docker to use volume flag (#2498) @ZJvandeWeg
 - typo: hve -> have (#2496) @ZJvandeWeg
 - Improve error handling around Device Agent tunnels (#2488) @knolleary
 - Add checks for empty values in logging stream (#2479) @hardillb
 - Tidy spacing & bolden the "make note" messaging (#2433) @joepavitt
 - Update Device Editor access docs (#2464) @hardillb
 - Update node version statement in devices docs (#2468) @knolleary
 - Fix yaml -> yml references in device docs (#2469) @knolleary
 - Update ui-components & utilise new ff-theme-dark on signup/login (#2425) @joepavitt
 - Doc Fixes: Remove trailing / on links with # and broken device-agent link (#2466) @joepavitt
 - Chore: chipping off eslint excludes (#2435) @hardillb
 - Bump @babel/preset-env from 7.22.6 to 7.22.7 (#2454) @dependabot
 - Bump @babel/core from 7.22.6 to 7.22.8 (#2453) @dependabot
 - Bump webpack from 5.88.0 to 5.88.1 (#2451) @dependabot
 - Bump @fastify/swagger-ui from 1.9.0 to 1.9.2 (#2452) @dependabot
 - Bump jsonwebtoken from 9.0.0 to 9.0.1 (#2450) @dependabot
 - Add codecov reporting (#2437) @knolleary
 - Update custom stack information (#2442) @hardillb
 - Doc Updates: Device Agent (#2440) @joepavitt
 - Docs Landing Page Restructure (first pass) (#2438) @joepavitt
 - Improve instruction & labelling on "Add Device" dialog (#2434) @joepavitt
 - Bump @aws-sdk/client-ses from 3.359.0 to 3.363.0 (#2388) @dependabot

#### 1.9.0: Release

 - Add docs about swagger ui (#2418) @knolleary
 - remove billing confirmation (#2404) @Steve-Mcl
 - Add docs for changing base_url and domain (#2415) @hardillb
 - Fix sign-up form when posthog not enabled (#2414) @knolleary
 - High Availability from preview mode to generally available (#2413) @MarianRaphael
 - Update package-lock (#2410) @Pezmc
 - Bump c8 from 7.14.0 to 8.0.0 (#2314) @app/dependabot
 - Bump lru-cache from 9.1.2 to 10.0.0 (#2315) @app/dependabot
 - Bump fastify from 4.18.0 to 4.19.2 (#2387) @app/dependabot
 - Ensure Team Billing link is present on initial page load (#2406) @knolleary
 - Bump pg from 8.11.0 to 8.11.1 (#2389) @app/dependabot
 - Add "What brings you to FF?" to sign-up form (#2378) @joepavitt
 - Log url, method along with response (#2281) @hardillb
 - Rename build/test gh actions for consistency (#2405) @knolleary
 - Rename device/provisioningToken project field to instance in api (#2400) @knolleary
 - Fix swagger images (#2403) @knolleary
 - Fix swagger validation errors (#2402) @knolleary
 - Disable swagger ui images (#2396) @knolleary
 - Post Billing Setup - Empty State & Alert (#2395) @joepavitt
 - Replace projectCount with instanceCount on public api (#2393) @knolleary
 - Add api schemas and swagger ui support (#2351) @knolleary
 - Fix LottieAnimations import and assignment at app-level (#2394) @joepavitt
 - Improve email verification screen (#2392) @Steve-Mcl
 - make team selection scrollable (#2310) @sumitshinde-84
 - Guard against a container not existing and still allow removal (#2307) @Pezmc
 - Add links to flowforge.com for easier navigation to our website. (#2347) @iskerrett
 - Add trial user E2E Testing & ensure redirect correct after creating first application (#2352) @joepavitt
 - Add FF_SNAPSHOT_ID to devices (#2377) @knolleary
 - Ensure pipeline stages are listed in the correct order (#2384) @knolleary
 - Add note about PostgreSQL DB on x86-64 (#2382) @hardillb
 - Allow filtering of Node-RED logs when in HA mode (#2367) @hardillb
 - Ensure instance-updated event is passed up from Instance Danger component (#2371) @knolleary
 - Support multiple stream access to device logs (#2374) @knolleary
 - Fix instance flow update dialog (#2355) @knolleary
 - Improve logging and UX around switching Developer mode (#2365) @Steve-Mcl
 - disable delete application button when application does contain i… (#2309) @sumitshinde-84
 - Update device agent docs around windows support (#2320) @Steve-Mcl
 - Refector application collection endpoints to not return full Instance objects (#2349) @knolleary
 - Bump @aws-sdk/credential-provider-node from 3.358.0 to 3.360.0 (#2353) @app/dependabot
 - Bump @aws-sdk/client-ses from 3.357.0 to 3.359.0 (#2342) @app/dependabot
 - Bump eslint-plugin-vue from 9.15.0 to 9.15.1 (#2343) @app/dependabot
 - Remove overloading of /api/v1/teams endpoint (#2345) @knolleary
 - Add EE E2E Test Coverage Support and Fix Edit Stage Instance Bug (#2326) @Pezmc
 - Show premium feature pages - even when feature is not available (#2290) @Pezmc
 - Pipelines: Server side deployment state tracking (#2283) @Pezmc
 - Increase default helm install timeout (#2336) @hardillb
 - Limit invitiations to max 5 users at a time (#2330) @hardillb
 - Add package-lock.json (#2324) @Pezmc
 - Use findOrCreate to handle retrying failed setup (#2325) @Pezmc
 - docs(docker): Update devices.md (#2327) @biancode
 - Improve error handling and UI for launcher "offline" (#2318) @Steve-Mcl
 - Explicitly upgrade to latest lottie and use new import style (#2322) @Pezmc
 - Update no access graphic to proper one (#2319) @knolleary
 - Feature: Setup "Default Palette Modules" in a template (#2295) @Steve-Mcl
 - Fix broken link (#2316) @ZJvandeWeg
 - docs: Update support section for FF Cloud (#2312) @ZJvandeWeg
 - Attempt to fix postgres OOM test failures (#2311) @Pezmc
 - Remove some more lint test excludes (#2305) @hardillb
 - Add dashboard-only team role (#2292) @knolleary
 - Update device agent docs for https/httpStatic config (#2306) @knolleary
 - make Instance and application names in delete popup easily selectable (#2291) @sumitshinde-84
 - Remove forge/app.js forge/auditLog forge/comms forge/config forge/containers forge/db forge/ee forge/forge.js forge/housekeeper forge/lib forge/licensing forge/monitor forge/postoffice forge/routes forge/settings files from promise/catch-or-return rule (#2284) @hardillb
 - Experiment: Mass minor upgrade of all packages (#2193) @Pezmc
 - Bump vitest from 0.31.4 to 0.32.0 (#2270) @app/dependabot
 - Add nginx ingress size setting to docs (#2277) @hardillb
 - Use 3.0.2 for the example stack (#2274) @hardillb
 - Update instance-settings.md (#2265) @Pezmc
 - docs: Fix broken anchor in docs (#2263) @ZJvandeWeg

#### 1.8.0: Release

 - Disable "Dev Mode" button (#2256) @hardillb
 - Docs: Pipelines - Make recommended changes (#2254) @joepavitt
 - Add HA docs (#2253) @knolleary
 - Docs: DevOps Pipelines (#2252) @joepavitt
 - Remove /settings/devops at Instance level (#2249) @joepavitt
 - Bump ui-components to v0.6.3 (#2250) @joepavitt
 - Updated the logo to the newest version (#2235) @Yndira-FlowForge
 - Remove dependencies: Remove base64url (#2242) @Pezmc
 - Support project listing for a device being accessed over a tunnel (#2230) @Steve-Mcl
 - Add shared subscriptions to broker ACL for project nodes (#2225) @knolleary
 - Remove @fastify/accepts dependency (#2241) @Pezmc
 - Show error if trying to start the editor on device (#2234) @hardillb
 - update device.md for new Web UI (#2222) @Steve-Mcl
 - ESLint: Some cleanup (#2237) @Pezmc
 - Minor upgrades to all fastify nodules (#2238) @Pezmc
 - Auto-accept pending invites when sso-user registers (#2236) @knolleary
 - Add copy to clipboard for credentials dialogs (#2231) @Steve-Mcl
 - Bump @headlessui/vue from 1.7.13 to 1.7.14 (#2229) @app/dependabot
 - Allow instance creation after first failure (#2227) @Pezmc
 - Fix Build Error: byPipeline takes an ID not an object (#2226) @Pezmc
 - Fix test for kubernetes driver (#2220) @hardillb
 - Disable useless-return-rule (#2224) @Pezmc
 - HA: multiple instance replica support (#2180) @knolleary
 - docs: What happens with devices after instance removal (#2218) @ZJvandeWeg
 - Device agent trouble shooting (#2215) @hardillb
 - Include copying certs and acme directories (#2214) @hardillb
 - Pipelines: Catch Creation Failure (#2211) @Pezmc
 - Fix link to latest release (#2212) @hardillb
 - Pipelines: Test coverage of Pipelines API endpoint (#2209) @Pezmc
 - Improve Create/Edit Pipelines Padding/Positioning (#2204) @joepavitt
 - Upgrade all dev dependencies to latest minor (#2194) @Pezmc
 - Update the Pipeline UX for editing/deleting (#2205) @joepavitt
 - Handle missing stripe subscription when viewing billing (#2198) @knolleary
 - Add Empty State Image for Pipelines (#2203) @joepavitt
 - Fix permissions for nr-tools-plugin accessing user team list (#2196) @knolleary
 - Add subtitles, popup and info around Applications/Instances (#2177) @Steve-Mcl
 - Re-run lint:fix (#2195) @Pezmc
 - Application Pipelines (#2094) @joepavitt
 - Bump eslint-plugin-n from 15.7.0 to 16.0.0 (#2192) @app/dependabot
 - Improve env variable editing uxp (#2175) @Steve-Mcl
 - Update link to mosquitto-go-auth (#2187) @hardillb
 - 1586 audit log team create delete (#2173) @Steve-Mcl
 - Bump @fastify/websocket from 7.2.0 to 8.1.0 (#2169) @app/dependabot
 - misc: Remove extra backtick (#2178) @ZJvandeWeg
 - Bump node-sass from 8.0.0 to 9.0.0 (#2170) @app/dependabot
 - Add context storage size (#2168) @robmarcer
 - Bump semver from 7.3.8 to 7.4.0 (#2152) @app/dependabot
 - Docs: Add additional SSO config notes on signed responses (#2149) @knolleary
 - docs: Link to template concept (#2144) @ZJvandeWeg
 - Update install-stack.js (#2139) @hardillb
 - Bump ui-components to 0.6.2 (#2146) @joepavitt
 - Only Generate admin stats token when asked (#2141) @hardillb
 - Use gh token for release process (#2137) @knolleary
 - Remove double backticks (#2134) @ZJvandeWeg
 - ESLint: Explicitly enable no-only and set root flag (#2132) @Pezmc
 - ESLint: Quick clean up (#1990) @Pezmc
 - Handle non-string log message payloads (#2130) @knolleary

#### 1.7.0: Release

 - Add licensing info (#1848) @Steve-Mcl
 - Update aws.md (#2059) @hardillb
 - Adds verbose detailing for the nodes.install event in our Audit Log (#2112) @joepavitt
 - Clean the flex wrapping of the SectionTopMenu component (#2114) @joepavitt
 - Do not enable device editor if comms are unavailable (#2121) @knolleary
 - Fix snapshot rollback without credentials or storage flows (#2122) @Pezmc
 - Bump ui-components to v0.6.1 (#2111) @joepavitt
 - Add audit log entries for developer mode, remote editor access and device snapshot (#2119) @Steve-Mcl
 - Remove license check for feature flag check on device editor (#2120) @knolleary
 - Add deviceEditor feature flag in place of license check (#2118) @knolleary
 - Improve dialog content for unsupported dev mode (#2117) @knolleary
 - Fix semver check on dev agent version (#2116) @knolleary
 - Remote device access, editing and snapshotting with Auth enabled (#2042) @Steve-Mcl
 - Add Empty State Images (#2104) @joepavitt
 - Add suspended project count to telemetry ping (#2086) @knolleary
 - Bump vitest from 0.30.1 to 0.31.0 (#2099) @app/dependabot
 - Bump jsdom from 21.1.2 to 22.0.0 (#2100) @app/dependabot
 - Display of Instance Settings actions now a function of user permissions (#2105) @joepavitt
 - Set wantAssertionsSigned to false to maintain existing behaviour (#2106) @knolleary
 - Updated the favicon (#2096) @Yndira-FlowForge
 - Ensure device-agent 0.7.0 messages are displayed (#2079) @hardillb
 - Update DevOps pipeline pages to account for applications / instances (#2091) @Pezmc
 - Ensure instance logs refresh after unsuspending an instance (#2085) @knolleary
 - Add Azure SSO set up (#2087) @robmarcer
 - Update Docker upgrade instructions (#2088) @hardillb
 - Fix deleting instance with missing subscription (#2081) @knolleary
 - Add "Last Seen" chart for filtering Devices (#2058) @joepavitt
 - Add access token support to stats endpoint (#2053) @knolleary
 - Lock semver to minor changes (#2078) @Steve-Mcl
 - Bump lru-cache from 8.0.5 to 9.1.1 (#2040) @app/dependabot
 - Add instructions to run agent as a service on a Pi (#2072) @robmarcer
 - Bump @headlessui/vue from 1.7.12 to 1.7.13 (#2014) @app/dependabot
 - Bump @flowforge/forge-ui-components from 0.5.5 to 0.6.0 (#2062) @app/dependabot
 - "Add Instance" button on /instances (#2054) @joepavitt
 - Fix: Stripe out of sync when removing project (#2057) @Pezmc
 - Create 08-art_request.yml (#2056) @MarianRaphael
 - Issue template update effort estimation (#2046) @MarianRaphael
 - Fix: Elapsed time between two dates (#2048) @Pezmc
 - First pass at AWS K8s install clean up (#1753) @hardillb
 - Guard against users without team edit accessing billing (#2045) @Pezmc
 - Update some production dependencies to pickup security fixes (#2041) @knolleary
 - restore rollbackSnapshot (#2030) @Steve-Mcl
 - Use application list to determine if team is empty (#2035) @knolleary
 - doc: Update security for instance (#2033) @ZJvandeWeg
 - Remove unneeded step for upgrading (#2024) @ZJvandeWeg
 - Add missing dot (#2027) @ZJvandeWeg
 - Refactor more tests to minimise forge app initialisation (#2025) @knolleary
 - Rework more tests to minimise app reinitialisation (#2023) @knolleary
 - Reduce forge app reinitialisation in model tests (#2013) @knolleary
 - Rework tests to minimise app reinitialisation (#2019) @knolleary
 - Ensure postoffice heartbeat interval is stopped on shutdown (#2018) @knolleary
 - Update device/project api tests to minimise app reinitialisation (#2015) @knolleary
 - Rework app/db/controller tests to minimise app recreation (#2012) @knolleary
 - Use audit events to improve management of node module list (#2011) @knolleary
 - docs: More explicit content of Snapshots (#2009) @ZJvandeWeg
 - docs: Update template documentation (#2001) @ZJvandeWeg

#### 1.6.0: Release

 - Redirect /project/xyz/* to /instance/xyz/* (#1996) @knolleary
 - First pass Empty State (text/action only) (#1992) @joepavitt
 - Multiple Instances: Application Audit Log Events (#1979) @Pezmc
 - Redirect /team/overview to /team/applications (#1994) @knolleary
 - Include 'state' as part of the Application byTeam model (#1975) @joepavitt
 - Improve feedback when trying to delete non-empty application (#1976) @knolleary
 - Navigate to instance settings from stack update button (#1970) @knolleary
 - Implement the "cancel" function (#1968) @joepavitt
 - Ensure Application Name is set before enabling Create App button (#1966) @knolleary
 - Multiple Instances: Polish Tasks (#1962) @Pezmc
 - Pending email change (#1954) @Steve-Mcl
 - Update outdated InstanceStatusBadge on the Node-RED Logs screen (#1961) @joepavitt
 - seo: Add title to all docs pages (#1750) @ZJvandeWeg
 - Update Stripe redirect & add holding message (#1959) @joepavitt
 - docs: Fix some broken anchors in links (#1957) @ZJvandeWeg
 - removes excess console.log (sorry!) (#1956) @joepavitt
 - Add "User Interview" prompts (#1894) @joepavitt
 - PostHog events & groups first pass (#1922) @joepavitt
 - Improved "last updated" labelling (#1952) @joepavitt
 - Application Instances: Live statuses (#1926) @Pezmc
 - s/Project/Instance where appropriate for Audit Logs (#1936) @joepavitt
 - Define the missing openEditor function (#1930) @joepavitt
 - Emit the application-updated event after creating Instance (#1941) @joepavitt
 - Bump vitest from 0.29.8 to 0.30.0 (#1947) @dependabot
 - Disable the "Open Editor" button if Instance not "running" (#1933) @joepavitt
 - Add streaming logs from device agents (#1900) @hardillb
 - Add email.from to email options (#1912) @hardillb
 - Chore: Add file extensions to all imports (#1910) @Pezmc
 - Chore: Re-write imports to be ES6 (#1909) @Pezmc
 - Increase ESLint requirements for new files (#1846) @Pezmc
 - Update Applications Table (#1903) @joepavitt
 - Remove the ProjectAPI wrapper (#1905) @Pezmc
 - Application Model: Use applications and instances API's (#1888) @Pezmc
 - docs: Fix 404 for setup RDS (#1906) @ZJvandeWeg
 - Application Model: Model Prep Only (#1896) @Pezmc
 - Ensure coupons are applied for all team subscriptions (#1889) @knolleary
 - Add Billing URL to reminder emails (#1877) @Steve-Mcl
 - docs: List Digital Ocean Installer (#1883) @ZJvandeWeg
 - docs: Fix broken links and anchors (#1884) @ZJvandeWeg
 - Fix mosquitto plugin path for docker install (#1874) @hardillb
 - fix deletion (call correct API function) (#1879) @Steve-Mcl
 - Spelling corrections (#1875) @Steve-Mcl
 - Deprecate FF_PROJECT_* in favour of FF_INSTANCE_* (#1864) @Steve-Mcl
 - Fix default name for device.yml (#1871) @ZJvandeWeg
 - Add theme choice (FF themes only) (#1857) @Steve-Mcl
 - Possible fix for CI only test failure (#1862) @Pezmc
 - Add new "Instances" top-level option (#1852) @joepavitt
 - Better framing of "Application" & "Device" views (#1853) @joepavitt
 - Update HTTPS docs to include updating the base_url (#1855) @hardillb

#### 1.5.0: Release

 - Make mosquitto.conf path clearer (#1780)
 - docs: TCP/UDP nodes routability (#1770)
 - Updated Readme description (#1763)
 - Add 1.4 Upgrade statement
 - Application Instances: Project & Instance Status Polling (#1843) @Pezmc
 - Application Instances: Team Device Bug Fixes (#1841) @Pezmc
 - docs: Initial pass of Project->Instance renaming (#1840) @knolleary
 - Audit Log UI Improvements (#1805) @Pezmc
 - "Add Instance" placeholder & improve button size consistency (#1842) @joepavitt
 - Improve data-row interactions (#1839) @joepavitt
 - Relabel Project Types to Instance Types in UI (#1834) @knolleary
 - InstanceStatusHeader & "Node-RED Instances" (#1835) @joepavitt
 - Rename "Remote Instances" > "Devices" (#1832) @joepavitt
 - Allow user to delete self (#1787) @Steve-Mcl
 - Consistent look and placement of "add" buttons, Add Device Dialog improved wording. (#1812) @Steve-Mcl
 - Application Instances: Remove Application > Remote Instances list (#1827) @Pezmc
 - Application Instances: Delete Application (#1811) @Pezmc
 - Bump pino-pretty from 9.4.0 to 10.0.0 (#1807) @app/dependabot
 - Bump lru-cache from 7.18.3 to 8.0.0 (#1808) @app/dependabot
 - Reword audit log default filters from "Not Specified" to "Show All" (#1797) @Steve-Mcl
 - Application Instances: Team Devices (#1809) @Pezmc
 - Plus icon is no longer used (#1814) @Pezmc
 - Application Instances: UX tweaks (#1803) @Pezmc
 - Application Instances: Remote Instances Tab (#1795) @Pezmc
 - DOCS: Encourage users to click through to "first run" after initial setup (#1798) @Steve-Mcl
 - Add free trial docs (#1794) @knolleary
 - Application Instances (#1792) @Pezmc
 - docs: Add Team library RBAC to table (#1791) @ZJvandeWeg
 - Ensure a trial project can be restarted (#1784) @knolleary
 - Add IF EXISTS to DROP DATABASE in tests (#1776) @Steve-Mcl
 - Remove unused dependency (#1774) @Pezmc
 - Bump vitest from 0.28.5 to 0.29.2 (#1772) @app/dependabot
 - Bump @headlessui/vue from 1.7.9 to 1.7.12 (#1773) @app/dependabot
 - Update behaviour when license expires (#1757) @Steve-Mcl
 - Introduce fake log entries for the stub driver (#1771) @Pezmc
 - Fix device seen status sometimes shows "never" even though has (#1762) @Steve-Mcl
 - copy: Update readme with standard copy (#1764) @ZJvandeWeg
 - Increase http body size to 5mb (#1761) @hardillb
 - Move registration of `monitor` to after registration of `ee` (#1758) @Steve-Mcl
 - Audit log license overage (#1744) @Steve-Mcl
 - Allow license overages (#1743) @Steve-Mcl
 - License identifier in telemetry (#1751) @Steve-Mcl
 - Add SMTP to Digital Ocean Docs (#1746) @hardillb
 - Ensure telemetry is enabled for licensed installs (#1736) @Steve-Mcl
 - docs: Simplify migration documentation with NR Tools (#1738) @ZJvandeWeg
 - Spellcheck of all user facing strings (#1727) @Pezmc
 - Fix flaky date-time test failures on GitHub (#1728) @Pezmc
 - docs: Remove broken image (#1725) @ZJvandeWeg

#### 1.4.0: Release

 - Revert "Ensure a suspended trial project is not added to billing at trial end"
 - Ensure a suspended trial project is not added to billing at trial end
 - bump forge-ui-components (#1715) @hardillb
 - Fix the router-link name for ProjectLink component (#1714) @joepavitt
 - Team Library: Navigation (#1713) @Pezmc
 - Updated At and Delete Option for Team Library (#1704) @Pezmc
 - Update Deployments > Instances & respective tests (#1711) @joepavitt
 - Add "Last Seen" status pill (#1710) @joepavitt
 - add option to activate a new snapshot on creation (#1705) @Steve-Mcl
 - Fixes the "View Target Project" button & adds E2E test coverage (#1706) @joepavitt
 - Allow signup page to be customised from admin settings (#1692) @knolleary
 - Add admin view of user details and teams (#1658) @knolleary
 - Staged Deployments (#1653) @joepavitt
 - Fix extra whitespace on code preview (#1702) @Pezmc
 - ElapsedTime handles timezones and strings (#1701) @Pezmc
 - Add meta descriptions to the top-level doc files (#1656) @joepavitt
 - Ensure a suspended trial project is not added to billing at trial end (#1696) @knolleary
 - Only copy AccessToken data, if it exists (#1697) @Pezmc
 - docs: Reorder doc line order for explict skip step (#1698) @ZJvandeWeg
 - Device provisioning API (#1659) @Steve-Mcl
 - Add delete route for shared library api (#1690) @knolleary
 - docs: info on Device Provisioning and Auto Registration (#1687) @Steve-Mcl
 - removes context "async only" limitations notice (#1685) @Steve-Mcl
 - Remove unused export to JSON feature (#1624) @Pezmc
 - Add updatedAt to library entry meta data (#1691) @knolleary
 - Disable free team credit if team trials is enabled (#1683) @knolleary
 - Ensure device billing counts are updated during trial mode (#1682) @knolleary
 - Add "Last Seen" device badge (#1679) @joepavitt
 - Team Library - File Preview (#1672) @joepavitt
 - Team slug check (#1655) @knolleary
 - Team Trial UX improvements (#1677) @knolleary
 - Remove console.log (#1680) @knolleary
 - doc: Add Azure to SSO providers (#1674) @ZJvandeWeg
 - Fix logic to disable housekeeper (#1673) @knolleary
 - Bump postcss-preset-env from 7.8.3 to 8.0.1 (#1671) @dependabot
 - Bump vitest from 0.26.3 to 0.28.4 (#1670) @dependabot
 - Bump @headlessui/vue from 1.7.8 to 1.7.9 (#1669) @dependabot
 - Team trial mode (#1611) @knolleary
 - Validate internal links that include # (#1666) @knolleary
 - ci: Update Node version for test-docs (#1665) @ZJvandeWeg
 - 404: Fix broken link (#1662) @ZJvandeWeg
 - Change PostHog config: apihost to apiurl (#1651) @joepavitt
 - Make Posthog API Host configurable in flowforge.yml (#1649) @joepavitt
 - Change Project Stack without Affecting Billing (#1642) @Pezmc
 - Refactor project put method to a single route (#1634) @Pezmc
 - Remove moment.js (#1636) @Pezmc
 - Reset team state after user deletes their last team (#1645) @knolleary
 - docs: Add Safe mode for Node-RED (#1643) @ZJvandeWeg
 - Move "Danger" settings into the "General" tab (#1637) @joepavitt
 - Add "w-full" to credit banner (#1635) @joepavitt
 - Change project type API unit tests (#1631) @Pezmc
 - Backend for stack restart API (#1615) @hardillb
 - Change Project Type Form (#1610) @Pezmc
 - Bump jsdom from 20.0.3 to 21.1.0 (#1629) @dependabot
 - Bump jsonwebtoken from 8.5.1 to 9.0.0 (#1627) @dependabot
 - Bump vue-loader from 16.8.3 to 17.0.1 (#1626) @dependabot
 - Bump @headlessui/vue from 1.7.7 to 1.7.8 (#1625) @dependabot
 - Bump cypress from 11.2.0 to 12.4.1 (#1628) @dependabot
 - license: Allow custom expiration date (#1605) @ZJvandeWeg
 - Store project billing state when adding/removing subscription (#1619) @Pezmc
 - devtool: Add --repl flag to start app in interactive node shell (#1617) @knolleary
 - Bump postcss-preset-env from 6.7.1 to 7.8.3 (#1519) @dependabot
 - Bump sinon from 14.0.2 to 15.0.1 (#1517) @dependabot
 - Bump @headlessui/vue from 1.7.3 to 1.7.7 (#1469) @dependabot
 - Move the credit banner into the project type section (#1613) @Pezmc
 - First pass at Digital Ocean Droplet doc (#1604) @hardillb
 - chore: Fix newline escaping in backport action (#1602) @knolleary
 - Identify User at registration, rather than on return to app (#1600) @joepavitt
 - Fix resync maintenance release task (#1595) @knolleary

#### 1.3.0: Release

 - docs: Add missing dot
 - Add configurable banner on Create Account page (rework) (#1591) @knolleary
 - Fix front end tests (#1592) @knolleary
 - Small update to Stack docs (#1590) @hardillb
 - docs: Add 1.3 update notes (#1588) @knolleary
 - Add email to the Person object for PostHog <> Hubspot mapping (#1587) @joepavitt
 - Audit Filtering UI (#1584) @joepavitt
 - chore: Fix formatting of backport PRs (#1585) @knolleary
 - Add instructions to open HTTP/S ports on Digitial Ocean (#1498) @hardillb
 - Team Library UI (#1576) @joepavitt
 - Remove deprecated plausible docs (#1577) @knolleary
 - Add audit log entries to app.log (#1563) @Steve-Mcl
 - Add Security section to Template/Project and httpNodeAuth_type (#1522) @knolleary
 - Update @flowforge/forge-ui-components to 0.5.1 (#1574) @knolleary
 - Improve Shared Library api for platform access (#1572) @knolleary
 - Allow AuditLog paginated api to also filter on event and username (#1569) @knolleary
 - Show custom message when sso-enabled user signs up (#1547) @knolleary
 - Log credit applied in audit log (#1560) @Steve-Mcl
 - Add snapshot name and description to download (#1567) @hardillb
 - Tests: Limit Postgres to 3GB memory (#1565) @hardillb
 - Change text on Stripe checkout (#1558) @Pezmc
 - Improve polling on project overview (#1559) @Steve-Mcl
 - Guard against incomplete support/telemetry config (#1564) @knolleary
 - Free Trials: Billing Page Banner Polish (#1557) @Pezmc
 - Free Trials: Charges section on create project page (#1555) @Pezmc
 - Doc Link Tests (#1553) @joepavitt
 - Fix merge conflict resolution issue (#1554) @Pezmc
 - Allow sso-user to edit non-email settings (#1546) @knolleary
 - Allow download of snapshot package.json (#1506) @hardillb
 - Free Trials in the Form of Stripe Credit (#1544) @Pezmc
 - Improve stuck intermediate status of project when starting (#1539) @Steve-Mcl
 - Docs: Fix 404 Links (#1545) @joepavitt
 - "Remote Deployments" Terminology (#1531) @joepavitt
 - Docs Update: Concepts to include "Deployments" (#1536) @joepavitt
 - Add storage api routes for shared team library (#1529) @knolleary
 - docs: Re-request a verification email (#1534) @ZJvandeWeg
 - Add HubSpot Support/Chat Widget (#1533) @joepavitt
 - docs: Simplify billing docs (#1511) @ZJvandeWeg
 - Start to flesh out the Context Store config (#1487) @hardillb
 - Fix sso warning (#1515) @hardillb
 - docs: Add Payload to large details (#1512) @ZJvandeWeg
 - Stripe Callback Improvements (#1507) @Pezmc
 - Bump webpack-cli from 4.10.0 to 5.0.1 (#1467) @dependabot
 - Bump dotenv-webpack from 7.1.1 to 8.0.1 (#1468) @dependabot
 - Allow SSO login to redirect to originally requested url (#1505) @knolleary
 - Upgrade of dev dependencies to latest minor version (#1499) @Pezmc
 - Docs: More explicit explanation of card failure handling (#1500) @Pezmc
 - Billing: Explicitly log team ID and Stripe customer ID in webhook logs (#1501) @Pezmc
 - Remove the test step from the release GHA (#1491) @hardillb
 - docs: Create architecture diagram (#1485) @ZJvandeWeg
 - Ensure resync-maintenance task runs individual commands (#1486) @knolleary

#### 1.2.0: Release

 - Add upgrading docs for file server (#1482) @knolleary
 - Improve activity logs (#1480) @Steve-Mcl
 - Add FF Cloud SSO docs and reword file system section (#1479) @knolleary
 - Allow email transport to retry connection without having to restart the platform (#1299) @Steve-Mcl
 - Add telemetry reporting of configured features (#1478) @knolleary
 - Do not allow sso email domains to be registered with + emails (#1477) @knolleary
 - Info Dialog Links > target="_blank" (#1476) @joepavitt
 - Typo in TLS doc (#1475) @hardillb
 - Cover configuring context and setting quotas (#1474) @hardillb
 - Add link to pre-built binaries (#1473) @hardillb
 - Document persistent context and file storage (#1465) @Steve-Mcl
 - Update Kubernetes install instuctions (#1466) @hardillb
 - Consistent CSS margins & no-data message in Devices (#1459) @joepavitt
 - Add Info Dialogs for FlowForge pages (#1458) @joepavitt
 - Add support for renewing expired subscriptions (#1456) @Pezmc
 - Refactor and slight redesign of billing page (#1455) @Pezmc
 - Update docs after demo install session 20221216 (#1454) @hardillb
 - Update docker upgrade instructions (#1443) @hardillb
 - docs: Explain how to use the Device agent Container (#1451) @ZJvandeWeg
 - Simplify docker configuration steps (#1449) @hardillb
 - Increase default pagination limit (#1437) @Pezmc
 - Add a clear banner with a C2A when a teams subscription has expired (#1442) @Pezmc
 - Rename subscription methods for clarity (#1430) @Pezmc
 - Add SSO docs (#1446) @knolleary
 - Add verbose & icon for settings.update from Node-RED (#1445) @joepavitt
 - Fix unit test for SAMLProvider config change (#1441) @knolleary
 - Set callbackUrl rather than path in SAML config (#1440) @knolleary
 - Move File Storage section and fix header levels (#1438) @hardillb
 - Add SAMLProvider model for sso handling (#1431) @knolleary
 - Format Audit Entry "Error" messages (#1428) @joepavitt
 - Format Audit Entry "Update" Events (#1435) @joepavitt
 - @enter function correction on SSO username (#1419) @joepavitt
 - Make the accordion test screen size agnostic (#1436) @joepavitt
 - Audit log accordions (#1426) @joepavitt
 - Handle Stripe subscription cancellations (#1417) @Pezmc
 - Properly fix the typo (#1425) @hardillb
 - Fix link to Digital Ocean docs (#1423) @hardillb
 - Change 30 to 1000 in order to return more of the audit log (#1420) @joepavitt
 - Bump @vitejs/plugin-vue from 3.2.0 to 4.0.0 (#1411) @dependabot
 - Bump webpack-dev-server from 3.11.3 to 4.11.1 (#1412) @dependabot
 - Refactor the container wrapper to use guards (#1416) @Pezmc
 - Bump postcss-loader from 6.2.1 to 7.0.2 (#1413) @dependabot
 - Simplify Stripe callback handling (#1415) @Pezmc
 - Add SSO login support (#1410) @knolleary
 - Downgrade Axios to 1.1.3 (#1396) @Pezmc
 - Add syntax language to code examples for highlighting (#1408) @joepavitt
 - Remove the activation price experiment (#1405) @Pezmc
 - Link to the admin docs from the Projects Stacks concept docs (#1406) @joepavitt
 - Remove jsdoc entirely (#1365) @Pezmc
 - Fix homebrew link in DNS docs (#1391) @hardillb
 - Fix indention of HTTPS/Wildcard heading (#1392) @hardillb
 - Add sso_enabled flag to user model (#1383) @knolleary
 - Bump babel-loader from 8.3.0 to 9.1.0 (#1357) @dependabot
 - Bump css-loader from 5.2.7 to 6.7.2 (#1358) @dependabot
 - Ensure palette_denyList is editable if allowInstall is enabled (#1379) @knolleary
 - Fix backport cherry pick to have git user/email attached (#1380) @knolleary
 - docs: Update Cloud docs around file nodes and NR versions (#1378) @ZJvandeWeg
 - doc: License upgrade (#1371) @ZJvandeWeg
 - Update Docker/Kube docs (#1337) @hardillb
 - complicated/complex (#1373) @hardillb
 - Dns docs (#1356) @hardillb
 - API support for setting a projects hostname (#1361) @Pezmc
 - Remove the custom FormRow label in favour of a slot (#1346) @Pezmc
 - Revert "Remove ff:tooltip from Snapshot component" (#1347) @Pezmc
 - Run E2E tests for package.json changes (#1362) @Pezmc
 - Remove unused dependency posthog (#1363) @Pezmc
 - Bump node-sass from 7.0.3 to 8.0.0 (#1360) @dependabot
 - Show Team ID in Team > Settings > General (#1351) @joepavitt
 - Audit Log UI (#1345) @joepavitt
 - Make credential login a two-stage process (#1349) @knolleary
 - Upgrade to Cypress 11 for testing (#1348) @joepavitt
 - Update snapshot concept description (#1342) @knolleary
 - First pass at Digital Ocean instructions (#1335) @hardillb
 - Update list of configuration options (#1334) @hardillb
 - Bump axios from 0.27.2 to 1.2.0 (#1328) @dependabot
 - Remove old style audit log entries (#1318) @Steve-Mcl
 - Direct link to the latest flowforge-installer.zip (#1333) @hardillb
 - Bump sass-loader from 12.6.0 to 13.2.0 (#1330) @dependabot
 - Bump cypress from 9.7.0 to 11.2.0 (#1329) @dependabot
 - Improve User Settings email validation and error flow (#1326) @sdirosa
 - Bump vitest from 0.23.4 to 0.25.3 (#1332) @dependabot
 - Ensure "non user" triggering an auditlog entry is logged correctly (#1321) @Steve-Mcl
 - Bump copy-webpack-plugin from 9.1.0 to 11.0.0 (#1262) @dependabot
 - Fixup v1.1.0 install docs internal links (#1322) @Steve-Mcl
 - Bump sinon from 13.0.2 to 14.0.2 (#1263) @dependabot
 - Fix resync-maintenance action (#1317) @knolleary

#### 1.1.0: Release

 - Add functions & framework for exact audit logging (#1224)
 - Remove ff:tooltip from Snapshot component (#1311) @knolleary
 - Add Node-RED tools plugin docs (#1307) @knolleary
 - Handle project.meta being null (#1308) @Pezmc
 - Add specific version upgrade instructions (#1310) @hardillb
 - Fix YAML parsing (#1309) @ZJvandeWeg
 - First pass at upgrading doc changes (#1304) @hardillb
 - Fix dropdown z-index and overflow issue (#1306) @Pezmc
 - Fix backport action to checkout full branch history (#1300) @knolleary
 - Fix broken link (#1301) @mikermcneil
 - Snapshot UI Changes (#1288) @Pezmc
 - Add doc about File Nodes (#1296) @hardillb
 - Update AWS K8s install instructions (#1297) @hardillb
 - Doc: Copy project (#1268) @ZJvandeWeg
 - Explicitly set z-index and overflow on the stack dialog (#1294) @Pezmc
 - Start loading password change after local verification (#1293) @joepavitt
 - Update envvar.md to include new env var types (#1217) @robmarcer
 - Add note about project names (#1290) @hardillb
 - Move linux service start instructions (#1283) @hardillb
 - Add next steps to first-run guide (#1286) @knolleary
 - Change default obj names (#1285) @knolleary
 - Improve logging of setup process (#1284) @knolleary
 - Clarify host/base_url updates needed in install doc (#1282) @knolleary
 - Bump @vitejs/plugin-vue from 2.3.4 to 3.2.0 (#1264) @dependabot
 - Remove mosquitto.conf (#1278) @hardillb
 - Project > Deployments: Assign snapshot (#1257) @Pezmc
 - Bind this to the comparator function (#1276) @Pezmc
 - Form Row (#1201) @joepavitt
 - Projects: Move the header to only the Overview Page (#1237) @Pezmc
 - Fixup backport action (#1273) @knolleary
 - Add gh action to backport any pr labeled backport (#1272) @knolleary
 - Allow snapshots to be created with api provided flows/credentials (#1245) @knolleary
 - Create default ProjectType/Stack/Template as part of setup (#1250) @knolleary
 - Add housekeeper component to run regularly scheduled tasks (#1267) @knolleary
 - docs: How to secure Node-RED pages (#1266) @ZJvandeWeg
 - dependencies: Install dependabot (#1258) @ZJvandeWeg
 - Developer demo follow-ups (docs) (#1249) @Steve-Mcl
 - Refactor test seeds config for E2E tests (#1254) @Pezmc
 - Allow user to enter tax info when setting up stripe billing (#1253) @knolleary
 - Update token verification to use verifySession (#1255) @knolleary
 - Notify user of change to password, email and username (#1248) @Steve-Mcl
 - Change localfs default port to 12080 (#1252) @hardillb
 - Add route to test Bearer tokens are active (#1203) @hardillb
 - Add oauth for ff-plugin client id including access request UI (#1244) @knolleary
 - docs: Inline a footline (#1251) @ZJvandeWeg
 - Add getDefaultStackProperties (#1239) @hardillb
 - Allow install-stack.js to use 'latest' (#1236) @hardillb
 - Plumb in fileStore for file-server & nr-file-nodes (#1240) @Steve-Mcl
 - Change editor auth to use AccessToken rather than Session (#1182) @knolleary
 - Project > Deployments Page (#1204) @Pezmc
 - Add pagination to devices page (#1209) @Pezmc
 - Explain how to run on single node cluster (#1229) @hardillb
 - Format audit log. Adds formatters for all auditing (#1221) @Steve-Mcl
 - Update warning about project names (#1223) @hardillb
 - docs: Add --port usage for the device agent (#1219) @ZJvandeWeg
 - Explicitly require eslint-config-standard dependencies (#1215) @Pezmc
 - Navigate to Team dashboard on invite acceptance (#1210) @joepavitt
 - docs: Remove header paragraph (#1197) @ZJvandeWeg
 - Minor improvements to the local install docs (#1205) @ZJvandeWeg
 - Rename `values.yml` to `customizaton.yml` (#1199) @hardillb
 - Add note about where to run `helm upgrade` command (#1198) @hardillb
 - Update the screenshots to the current UI (#1189) @robmarcer
 - Scaffolding for the Project > Deployments Page (#1195) @Pezmc
 - Fix project rollback to handle modules object (#1192) @knolleary
 - Update Project's ChangeTypeDialog to use ff-tile-selection (#1191) @joepavitt
 - Docs: How to cancel your subscription (#1190) @robmarcer
 - Ensure storage api access token is for correct project (#1180) @knolleary
 - Load stacks asynchronously (#1179) @Pezmc
 - Fix ID collision in stacks tests (#1178) @Pezmc
 - Run CI checks against all PR's (#1177) @Pezmc
 - Refactor stacks logic to only hold one list client side (#1173) @Pezmc
 - Fix pagination on the stacks page (#1167) @Pezmc
 - Make sure to use the Stack Label if available (#1170) @hardillb

#### 1.0.1: Release

 - Fix flow import (#1157) @knolleary

#### 1.0.0: Release

 - Update mosquitto docs and add placeholder to platform yml (#1152) @knolleary
 - Fix template create and edit (#1151) @Steve-Mcl
 - Ensure that changes to stack are immediately recorded (#1150) @Pezmc
 - Ensure email is uri encoded when sent in sign-up invitation email (#1147) @knolleary
 - Ensure entityId is a string in AuditLog query (#1146) @knolleary
 - Replace redundant <form> tags with <div>s (#1144) @joepavitt
 - Update forge-ui-components (#1139) @Pezmc
 - Have Admin view use Stack labels (#1140) @hardillb
 - Show project template (if present) (#1142) @Steve-Mcl
 - Update FormRow styling for disabled state in Project Settings (#1135) @joepavitt
 - Allow device to subscribe to all-project broadcast (#1141) @knolleary
 - Redirect user to full URL they were accessing before being asked to login (#1138) @knolleary
 - Add warning on Palette Modules settings if launcher detected as old (#1136) @knolleary
 - Add missing guard for user id on audit log entry (#1132) @Steve-Mcl
 - Ensure page polls status when "installing" state (#1131) @Steve-Mcl
 - Anon fcn re-writes (#1130) @joepavitt
 - Fix vue router warning on invalid params (#1129) @knolleary
 - Disable the start button for projects running or changing state (#1125) @Pezmc
 - Ensure built-in modules are not listed in project modules (#1124) @knolleary
 - Add an installing state to projects (#1123) @hardillb
 - Standardize 404 response format (#1115) @knolleary
 - Add platform logging and view (#1084) @Steve-Mcl
 - Fix users frontend unit test (#1122) @knolleary
 - Resend verify email when an admin un-verifies a user (#1120) @Steve-Mcl
 - Fix alignment of single letter avatar (#1117) @Steve-Mcl
 - Update README.md (#1108) @robmarcer
 - Fix merge conflict error (#1119) @knolleary
 - add platform env vars for devices (#1039) @Steve-Mcl
 - show proj suspend/delete dialog direct from menu (#1106) @Steve-Mcl
 - Add backend search to Admin Users/Teams tables (#1110) @knolleary
 - Consistent Menu Item pointers (#1114) @Steve-Mcl
 - Update dependencies (#1111) @knolleary
 - Remove the devices feature flag (#1101) @Pezmc
 - Only create personal team on first verify (#1109) @hardillb
 - Adds query capability to all paginated apis (#1104) @knolleary
 - Added limits to admin panel (#1082) @Jozefik
 - Update README.md (#1105) @robmarcer
 - Allow Flows/Credential to be imported to a project (#1056) @hardillb
 - Add project name to docker-compose up (#1066) @hardillb
 - Add palette.modules to Project Settings (#1090) @knolleary
 - Stack label (redo of 1088) (#1103) @hardillb
 - Scope the E2E auth tests to be slightly more specific (#1097) @Pezmc
 - Update eslint and fixup errors (#1099) @knolleary
 - improve UI/UX around new/edit admin templates (#1068) @Steve-Mcl
 - Implement FormRow.focus and fix focus throughout the app (#1092) @Pezmc
 - Bump ui-components library (#1095) @Pezmc
 - Remove the edit project name page (#1091) @Pezmc
 - Move tests into groups based on app section (#1093) @Pezmc
 - Upgrade actions to drop NodeJS v12 (#1089) @hardillb
 - Explain what FlowForge offers over Node-RED in the README.md (#1060) @robmarcer
 - Update K8s Stack creation doc (#1087) @hardillb
 - Update Docker Stack docs to NR 3.0.2 (#1086) @hardillb
 - Update NR version in the stack docs (#1085) @hardillb
 - Hide the projects stats if empty or undefined (#1080) @Pezmc
 - Catch any unhandled XHR errors that bubble up to the view (#1079) @Pezmc
 - Update Docker README.md (#1069) @robmarcer
 - add manual step (verify page) between email and verification API call (#1037) @Steve-Mcl
 - Fix intermittently failing async project creation test (#1063) @Pezmc
 - E2E Coverage of Platform Admins viewing teams/projects/devices (#1062) @Pezmc
 - Set project.url in the stub driver (#1061) @Pezmc
 - Hide editor links if viewing the project as a platform admin (#1054) @Pezmc
 - /s/notifictions/notifications/ (#1052) @Pezmc
 - No only tests (#1051) @Steve-Mcl
 - Handle postgres constraint errors with username/email uniqueness (#1050) @knolleary
 - Add Postgres DB config options (#1047) @hardillb
 - Add note on db migration considerations (#1036) @knolleary

#### 0.10.0: Release

 - Correct IP address
 - Remove invitations for deleted teams (#942)
 - Update forge-ui-components to latest (#1032) @knolleary
 - Document minimal billing unit (#1030) @sammachin
 - Don't show JSON error on double email verification (#1026) @hardillb
 - Guard against an empty template when handling httpNodeAuth (#1023) @knolleary
 - Add httpNodeAuth settings (#965) @hardillb
 - Add Project Nodes docs to main documentation (#1002) @sammachin
 - Fix typo in template description (#1022) @hardillb
 - Update docs for static outbound ips (#1020) @robmarcer
 - Update rbac table to include viewer (#1009) @knolleary
 - Standardise format of error responses (#1021) @knolleary
 - Allow access to team settings if billing is not configured (#1017) @knolleary
 - Prompt for license Limits (#1016) @hardillb
 - Revert userLimit on default TeamType (#1019) @knolleary
 - Remove /api/v1/user/projects end-point as it is unused (#1014) @knolleary
 - Refresh admin user list after expiring password (#1015) @knolleary
 - Ensures stack/template are preselected on Create Project page (#1013) @knolleary
 - Add 'leave team' option on User Settings/Teams view (#1010) @knolleary
 - First pass at Coupon support (#1006) @hardillb
 - Include role in Team Invitation (#1008) @knolleary
 - Extend login sessions to one week with idle timeout (#1001) @knolleary
 - Add Viewer role (#1005) @knolleary
 - Introduce hasPermission mixin for checking rbac in frontend (#1004) @knolleary
 - Add UI components to disable Welcome Tours (#996) @hardillb
 - Prevent admin from suspending themselves (#997) @hardillb
 - Add case-insensitive unique constraint on User.username and email (#993) @knolleary
 - Log suspended users out of projects (#985) @hardillb
 - Ensure team is set when loading device page (#992) @knolleary
 - Add link to dev env setup to theContributing guide (#976) @hardillb
 - Add notice about user limit in team invite dialog (#980) @knolleary
 - fix User Edit dialog wont close & save btn state (#984) @Steve-Mcl
 - Ensure admins have team-owner level access to all views in frontend (#991) @knolleary
 - Add ability to update T+Cs to cause a re-review / reaccept for users (#951) @Steve-Mcl
 - Remove tests and output from npm package (#981) @hardillb
 - Add billing to device lifecycle (#970) @knolleary
 - Update vue component name for NoVerifiedEmail.vue (#977) @ArshErgon
 - Fix Team license tests on postgres (#975) @knolleary
 - Add full path to invitations on email (#954) @sammachin
 - Basic user suspend (#945) @hardillb
 - Prevent last admin being removed from platform (#967) @Steve-Mcl
 - remove .only from tests (#969) @Steve-Mcl
 - Add TeamType.properties.deviceLimit to restrict devices in team (#964) @knolleary
 - Add device count and project counts by type to admin (#949) @Pezmc
 - Add cypress screenshots output to gitignore (#962) @knolleary
 - ensure project name starts with alpha char (#958) @Steve-Mcl
 - Enforce limits on number of teams that can be created (#959) @knolleary
 - Apply license limits to number of users (#950) @knolleary
 - Add limits to license and enforce Project limit (#947) @knolleary
 - Set starter team userLimit to 3 and enforce member limits in api (#946) @knolleary

#### 0.9.0: Release

 - Properly report stack delete error messages (#934) @knolleary
 - Inflate team object with TeamType for updating billing (#933) @hardillb
 - Ensure device action options are shown on project/devices view for owner (#932) @knolleary
 - fix migration SQL for postgres (#931) @Steve-Mcl
 - Permit `a-zA-Z-` in project name (#925) @Steve-Mcl
 - permit custom dashboard path to be set from FF (#926) @Steve-Mcl
 - Limit tests to only run when changes to code (#889) @hardillb
 - Update Stack Deleting Error Text (#927) @sammachin
 - adjust visibility and operations to match agreed RBACs (#920) @Steve-Mcl
 - Fix Stack update logic (#928) @sammachin
 - Hide loading graphic when project is susspended and viewing logs (#924) @hardillb
 - Limit password length to 1024 chars (#922) @hardillb
 - docs: Explain how to push images to docker (#919) @ZJvandeWeg
 - docs: Fix minor issues on the k8s install docs (#918) @ZJvandeWeg
 - Fix creating teams when billing enabled (#916) @hardillb
 - docs: Update RBAC table (#865) @Steve-Mcl
 - Map properties for Snapshot component (#908) @joepavitt
 - Change .unit_price property to .price (#914) @joepavitt
 - Make team row selectable (#913) @joepavitt
 - Add migration guide (#897) @sammachin
 - add default crt & key instructions (#909) @sammachin
 - 
 - 
 - 
 - 
 - 
 - 
 - 
 - Remove redundant test: calls that were not required in final Cypress solution (#895) @joepavitt
 - 
 - 
 - 
 - 
 - 
 - 
 - 
 - 
 - 
 - Select Tiles for "Create Project" & "Admin > Project Types" (#846) @joepavitt
 - 
 - 

#### 0.8.0: Release

 - Update 06-story.yml
 - Add upgrading notes for broker and project nodes (#848) @knolleary
 - Fix loading of default team when logging in (#847) @knolleary
 - Bump sqlite node to 5.0.8 (#707) @hardillb
 - Ensure expired password users cannot access API (#842) @knolleary
 - Notify user of API errors (#845) @joepavitt
 - Fix docker run command (#840) @hardillb
 - Show username instead of ID in alert on removal (#834) @sammachin
 - docs: Add details on migrations for developers (#832) @ZJvandeWeg
 - Component Update: ff-data-table (#798) @joepavitt
 - add ACLs for project link-call responses (#838) @Steve-Mcl
 - Prevent user with unverified email from accessing API (#824) @knolleary
 - Remove all manual show/close logic for ff-dialog (now contained within the component) (#829) @joepavitt
 - Initial mqtt broker configuration docs (#804) @knolleary
 - Add basic helmet config (#823) @hardillb
 - Fix deprated funtion call (#828) @hardillb
 - Allow limited access to project list for anonymous (#820) @Steve-Mcl
 - Fix reply-already-sent error when auth fails on storage routes (#819) @knolleary
 - Added ff- prefix to reflect current filenames (#818) @Steveorevo
 - Handle "@submit" events on forms in dialog boxes (#811) @joepavitt
 - Add defaultTeam to User model and enable API to modify (#810) @knolleary
 - Update README.md (#812) @HaroldPetersInskipp
 - Wrap the "Home" view in a <main> in order to get cleaner styling (#809) @joepavitt
 - Update 06-story.yml (#797) @sammachin
 - Add details of setting logging level to the docs (#808) @hardillb
 - Warn if trying to login with email address (#799) @sammachin
 - Centralise how tests initialise Forge app (#805) @knolleary
 -  Allow http logging level to be set independently #802 (#803) @hardillb
 - Add comms (mqtt) component to forge platform (#706) @knolleary
 - Update stacks.md (#801) @sammachin
 - Restyle "Thank you" message when user signs up. (#792) @joepavitt
 - Remove catch all transition & assign component-level transition class (#796) @joepavitt
 - Fix logo height for safari (#793) @joepavitt
 - Prevent User and Team Name containing a URL (#788) @hardillb
 - Fix typo in change stack alert (#786) @knolleary
 - Modify CSS to prevent HTML hierarchy dependency & add --primary flag to SideNavigation.vue (#784) @joepavitt

#### 0.7.0: Release

 - Update contributing guide to point at dev-env (#768) @knolleary
 - Add basic README.md back to root of project (#767) @hardillb
 - Ensure stacks list is cleared when showing ProjectType dialog (#765) @knolleary
 - Ensure that history is present before checking last URL (#762) @joepavitt
 - Add test for handling invalid snapshot id in device checkin (#763) @hardillb
 - Do not include projectType properties when editing projectType (#761) @knolleary
 - Fix CSS alignment in team selection (#753) @joepavitt
 - Start of K8s install instructions (#702) @hardillb
 - Avoid flicker of auditlog loading placeholder when refreshing project (#752) @knolleary
 - Add Project Types, Stack Versioning and Upgrading to docs (#750) @knolleary
 - Device page backend (#734) @hardillb
 - Add Function node exteral modules list (#749) @hardillb
 - Notify user if a new stack version is available (#744) @knolleary
 - Notifications (#720) @joepavitt
 - Add ProjectType (#739) @knolleary
 - Update language about `domain` and `base_url` (#740) @hardillb
 - 616 team selection (#748) @joepavitt
 - Fix next bill date (#747) @sammachin
 - Initial theming support (#613) @Steve-Mcl
 - docs: Initial copy around teams and their members (#741) @ZJvandeWeg
 - Toast Alerts (#713) @joepavitt
 - if log msg is object then stringify it first (#737) @sammachin
 - Add stack versioning apis and admin ui (#725) @knolleary
 - initial rollback support (#730) @Steve-Mcl
 - Add custom-built Projects icon (#715) @joepavitt
 - Fix link (#728) @sammachin
 - docs: Cannot update base_url (#726) @sammachin
 - Stop execes oauth logging (#724) @hardillb
 - Ensure the team_slug is set correctly when routing after settings update (#721) @joepavitt
 - Add optional support for running tests against postgres (#719) @knolleary
 - Use require.resolve to find vue in webpack config (#717) @knolleary
 - Admin version (#711) @sammachin
 - Docs readme (#709) @sammachin
 - Add `mqtt` and `broker` to banned project names (#712) @hardillb
 - Nested Sidebar (#701) @joepavitt
 - docs: Add more links to install devices (#708) @ZJvandeWeg
 - Fix for Device unable to checkin (#696) @hardillb
 - Ensure request has teamMembership attached for device api reqs (#688) @knolleary

#### 0.6.0: Release

 - Add admin endpoint to list db migrations
 - Add devices and snapshots to concepts docs (#664) @knolleary
 - Improve Device Credentials dialog ux (#678) @knolleary
 - Only show Device Loading on initial page load (#675) @knolleary
 - Handle a device that reports an invalid snapshot id (#679) @knolleary
 - Override default Device.getAccessToken to pass id as string (#677) @knolleary
 - Fix axios network error detection (#676) @knolleary
 - Fix device queries for postgres (#672) @knolleary
 - Allow a stack-less project have a stack applied (#671) @knolleary
 - Update the min required version of forge-ui-components (#668) @joepavitt
 - Loading component displayed when loading data from API (#656) @joepavitt
 - Increase default api timeout to 30s (#670) @knolleary
 - Enable device feature by default (#667) @knolleary
 - Update dependencies and fix test runners (#665) @knolleary
 - Fix loading logic on stack create dialog (#659) @knolleary
 - Map FlowForge logout to nodered auth/revoke (#643) @Steve-Mcl
 - Better handle billing errors whilst deleting projects (#663) @knolleary
 - Fix db migrations (#661) @knolleary
 - Add admin-only endpoint to dump database schema (#660) @knolleary
 - Remove default error for password field & restyle disabled primary btn for box layout (#652) @joepavitt
 - Show loading graphic when button actions taking place. (#650) @joepavitt
 - Remove image on server-offline page (#651) @joepavitt
 - Fix frontend team api test (#645) @knolleary
 - Improve docs for first time developer setup (#623) @Steve-Mcl
 - Frontend Unit Testing (#627) @joepavitt
 - Standardise on SectionTopMenu for project header element (#637) @knolleary
 - Fix device live endpoint to handle null snapshot (#644) @knolleary
 - Add audit log events for snapshots and devices (#639) @knolleary
 - Add device state in dashboard with periodic refresh (#640) @knolleary
 - Add devices/projectSnapshots/stacks/templates counts to telemetry ping (#641) @knolleary
 - Add project version info to Project overview (#642) @knolleary
 - docs: Start admin user management documentation (#628) @ZJvandeWeg
 - Add description to snapshots and improve UX (#634) @knolleary
 - Add forgeURL to downloaded credentials file (#638) @hardillb
 - Add exportCredentials function on Project controller to handle re-encryption (#630) @knolleary
 - Correct minor typos (#631) @Steve-Mcl
 - Dont clear env vars when setting a regular setting (#635) @Steve-Mcl
 - Ensure deviceLive endpoints are accessed by valid Device Token (#629) @knolleary
 - Fix merge error in device model (#624) @knolleary
 - Add live device endpoints (#618) @knolleary
 - Add ProjectSnapshots (#603) @knolleary
 - Auto generate credential secret for NR project to remove warnings in log (#604) @Steve-Mcl
 - Revert debugging line (v-if="offline") (#620) @joepavitt
 - Change input type to "password" for signup (#619) @joepavitt
 - docs: Link to change stack docs (#617) @ZJvandeWeg
 - Rebrand 404 (#611) @joepavitt
 - Rebrand offline (#610) @joepavitt
 - Add support for Lottie animations & add white/black loading animations (#609) @joepavitt
 - Add missing steps to dev:local (#588) @Steve-Mcl
 - fix start-watch npm script (#605) @Steve-Mcl
 - Add Shebang to install-stack.js (#581) @hardillb
 - Add recomended minimum memory to localfs stack doc (#584) @hardillb
 - Add cross-env to support development in other OS (#585) @Steve-Mcl
 - docs: Update codeblock names (#582) @ZJvandeWeg

#### v0.5.0: Release

 - Fix stack installer (#571) @hardillb
 - Ensure correct stack is preselected when copying project (#570) @knolleary
 - Add click-outside directive to team switcher to ensure it closes (#569) @knolleary
 - Ensure latest forge-ui-components is pulled in (#567) @knolleary
 - Update "Please provide payment details" page (#566) @joepavitt
 - Allow stack properties to have descriptions (#565) @knolleary
 - Encode palette.denyList as an array rather than string (#562) @knolleary
 - change install-stack to node script for cross-dev (#561) @Steve-Mcl
 - Branding updates & fix update expired password routing after success (#564) @joepavitt
 - Allow admin to delete users (#555) @knolleary
 - Allow Admin to limit what nodes can be installed (#558) @hardillb
 - Rebrand Dialog Boxes (#556) @joepavitt
 - Add project export and duplicate options (#547) @knolleary
 - Initial Device support (#535) @knolleary
 - Add missing audit log (#548) @hardillb
 - Hide projectCount from none admin users (#549) @hardillb
 - 523 platform usage tracking (#537) @joepavitt
 - Rework sidebar for "Project" view to show nesting within Team. (#545) @joepavitt
 - Only render side content if team available on create team page (#538) @joepavitt
 - fix links on workflows (#544) @sammachin
 - Change back button for Team Create page (#542) @knolleary
 - Refactor /ee/features endpoint to be included in /api/v1/settings (#540) @knolleary
 - Fix Admin Create User page layout (#541) @knolleary
 - Remove Roles import (#532) @joepavitt
 - Use Platform admin status, not team admin status (#531) @joepavitt
 - Add 'ff-view' container to control content scroll (#525) @joepavitt
 - Ensure user is Admin, before adding "Admin Settings" nav option (#527) @joepavitt
 - Rebrand - Stage 1 (#521) @joepavitt
 - Allow admin users to access team membership management options (#493) @knolleary
 - Convert figma to mermaid (#509) @hardillb
 - Fix the Create Project button on Team/Projects page (#494) @hardillb
 - Add SSL instructions for Docker (#508) @sammachin
 - Limit access to Project Settings (#495) @hardillb
 - Another Stripe typo (#491) @hardillb
 - Fix none pluralised Stripe API endpoint (#488) @hardillb
 - Add note about updating VIRTUAL_HOST in config (#486) @hardillb
 - Fix `stripe.invoice` should be `stripe.invoices` (#484) @hardillb

#### 0.4.0: Release

 - Timezone support for Node-RED (#452) @PLCMercenary
 - Clean when billing enabled & permission checks are done (#478) @joepavitt
 - Don't 404 for admin users when accessing billing info (#479) @hardillb
 - Add option to use existing stack as a base to fill out the form (#477) @joepavitt
 - Add a $1 charge when setting up team billing (#476) @hardillb
 - docs for 0.4 (#475) @sammachin
 - Don't try and send negative project count to Stripe (#472) @hardillb
 - License expiry date incorrect (#471) @PLCMercenary
 - Reformat team name displays in confirmation dialogs (#474) @joepavitt
 - Only show the 'confirm additional charges' message if billing feature is enabled (#473) @joepavitt
 - frontend: Admin created users default to no team (#469) @ZJvandeWeg
 - made the team name block (#444) @fakoredeDamilola
 - added additional steps to setup dev environemnt (#470) @sammachin
 - Allow a project stack to be changed (#437) @knolleary
 - Add unit tests for team member/invite apis (#467) @knolleary
 - Update project automation (#462) @knolleary
 - Add requirement for price acknowledgement when creating project (#458) @joepavitt
 - Fix 404 in Stripe Billing callback for charge.failed (#456) @hardillb
 - Fix runtime compilation of vue components (#461) @knolleary
 - Update LocalFS install instructions (#432) @hardillb
 - Add dynamic page title via router-view meta data (#445) @joepavitt
 - Add in T&Cs options in Admin Panel (#443) @joepavitt
 - Use stripe id not the sequize id (#440) @hardillb
 - add link to Cloud to index (#441) @sammachin
 - Proper fix for project billing metadata (#436) @hardillb
 - Ensure async billing call errors are handled (#433) @knolleary
 - Add support for Environment Variables in Project Templates (#426) @knolleary
 - Add project meta data to the Subscription (#425) @hardillb
 - add docs for ff.cloud & billing (#374) @sammachin
 - Fix verbose logging from auth routes (#418) @hardillb
 - Fix displaying current bill status (#417) @hardillb
 - Fix existing team billing setup (#415) @hardillb
 - Include forge-ui-components in Setup app (#412) @joepavitt
 - Add nyc for code coverage reporting (#400) @knolleary
 - Add ui-components to dev:local task (#410) @knolleary
 - Fix cancel/create button alignment on Create Template page (#408) @joepavitt
 - Fix dev:local task to setup nr-launcher symlinks (#403) @knolleary
 - Add tests for the Storage API (#401) @hardillb
 - Add docs about setting up local build. (#399) @hardillb
 - Update eslint rules to include .vue files in build. (#396) @joepavitt
 - Switch <button> and <input type="text"/> elements to use forge-ui-components (#395) @joepavitt
 - Install stack script (#389) @hardillb
 - Set up local development (#388) @hardillb
 - 362 vue linting (#386) @joepavitt


#### 0.3.0: Release

 - Round down to whole seconds (#375) @hardillb
 - Add Validation to project names (#350) @hardillb
 - Add stack/template info to docs (#369) @knolleary
 - Fix getter for Project.url (#373) @hardillb
 - Add id column (styled subtly as to not distract) (#367) @joepavitt
 - Update license to cover EE components (#368) @knolleary
 - Implement password reset (#365) @hardillb
 - Add production license keys (#364) @knolleary
 - Link button to the teamApi removeteamInvitation method (#361) @joepavitt
 - Introduce Project Templates (#352) @knolleary
 - Update link params for Team object (#360) @joepavitt
 - Fix migrations with PostgreSQL (#358) @hardillb
 - 347 block project rename (#356) @joepavitt
 - Frontend Billing (#346) @joepavitt
 - Backend billing (#332) @hardillb
 - Add initial Project Stacks (#326) @knolleary
 - Allow logging level to be changed (#344) @hardillb
 - Signup flows (#336) @knolleary
 - Do proper check for valid invite on user registration (#335) @knolleary
 - default to "overview" of navigated to team. (#329) @joepavitt
 - Implement Container driver wrapper (#327) @hardillb
 - update favicon to match website (#328) @joepavitt
 - Update package-lock.json (#321) @hardillb
 - Automate npm publish on release (#322) @hardillb
 - Add instructions to upgrade from v0.1.0 to v0.2.0 (#320) @hardillb

#### 0.2.0: Release

 - Email Docs (#205)
 - Add host to config (#311) @knolleary
 - Update telemetry option wording & add std forge-link class (#304) @joepavitt
 - Update docs for telemetry feature (#303) @knolleary
 - Restore import following merge (#302) @knolleary
 - Fix path in installer zip (#293) @hardillb
 - Allow Admin to view all projects even if not a member (#297) @hardillb
 - Auto-accept pending invites when registering to the platform (#301) @knolleary
 - fix slug issue (#284) @sammachin
 - Fix 403 for node admin users creating projects (#292) @hardillb
 - Add link to project to download (#290) @hardillb
 - Docker docs (#265) @hardillb
 - Remove "itchy" from adjectives list (#276) @hardillb
 - Tidy up test close calls (#283) @knolleary
 - Add container driver shutdown hook (#281) @hardillb
 - Ensure tests close the app after each test to prevent hangs (#282) @knolleary
 - Add telemetry metrics component (#274) @knolleary
 - Fix startup error with uninitialised config (#267) @knolleary
 - Add migration framework for database (#263) @knolleary
 - Remove console.log from the storage library route (#262) @hardillb
 - Force teamId/ProjectId to a string (#261) @hardillb
 - Fix missing () on end of toString (#259) @hardillb
 - Update various deps to latest (#258) @knolleary
 - Fix build.yml to run a code build before test (#257) @knolleary
 - Refactor forge entry point to make it testable (#255) @knolleary
 - Allow changing the from address (#256) @hardillb
 - First pass at SES support (#254) @hardillb
 - Move initialisation of instanceId and add cookieSecret (#249) @knolleary
 - Move stub driver out of node_modules (#248) @knolleary
 - Introduce eslint standard and tidy up forge code base (#244) @knolleary
 - Check NodeJS version and log FF version (#243) @hardillb
 - Add engines section to package.json (#228) @hardillb
 - Add project automation workflow (#230) @knolleary
 - Update issues templates (#206) @knolleary
 - Fix install instructions (#201) @hardillb
