diff --git a/HISTORY.md b/HISTORY.md
index d7f4c62..47c20dc 100644
--- a/HISTORY.md
+++ b/HISTORY.md
@@ -20,3 +20,4 @@
| 2.5 | A small memory efficiency of about 1kB by removing `RezStrings.mc`. This will aid widgets on old watches that only have 60kB available to an application and are using about 45kB before the menu is fetched, hence 1kB is more significant to those devices. |
| 2.6 | Added more information reporting to the background service, in addition to the device battery level and charging status, we now include location, location accuracy, and (if supported by your device) the activity information. Note the updates are sent periodically and are not event driven. |
| 2.7 | Bug fix release: 1. Handling a settings change, 2. Avoid caching a bad menu, 3. Managing bad JSON in menu definitions. |
+| 2.8 | Separation release. The application and widget are no longer joined and now have separate source code repositories. The widget version is now in "maintenance only mode" hence will not receive new features, whilst the application version can now take advantage of not being constrained by the widget's memory limitation, which should allow new features to be added in the future. |
diff --git a/README.md b/README.md
index c00a529..377b231 100644
--- a/README.md
+++ b/README.md
@@ -22,9 +22,17 @@ As of version 2.0, there are now two installable versions. For older devices bef
| Version | Explanation |
|------------------------|-------------|
| Application (original) | For newer devices that allow glance views in their applications, e.g. Venu 2, the GarminHomeAssistant application can be started either from a glance or from the list of applications and activities. Head over to the [GarminHomeAssistant](https://apps.garmin.com/en-US/apps/61c91d28-ec5e-438d-9f83-39e9f45b199d) application page on the [Connect IQ application store](https://apps.garmin.com/en-US/) to download the application. The application can be started two different ways, either from the glance in the carousel, or as an application from the list of applications & activities. With the latter, it is worth marking the application as a favourite.


If you place the application on your list of favourites, and rearrange it to appear near the top, then the item is just one button press away from the watch face. This second picture here shows the application menu on a Vivoactive 3 watch.

On newer watches, you can also start the application from the glance carousel. The glance view here typically displays some trackable status, so ours provides some early indication of availability. Older watches will still allow you to start this application from the list of applications and activities. |
-| Widget | For older devices that use widgets, e.g. Venu (1) as opposed to applications with "glances", the GarminHomeAssistant application can instead be started from the widget carousel. This is a separate item in the Connect IQ AppStore and with this installation, the application will no longer appear in the list of applications and activities. Head over to the [GarminHomeAssistant](https://apps.garmin.com/en-US/apps/) widget page on the [Connect IQ application store](https://apps.garmin.com/en-US/) to download the widget.

Typically the widget view implements something similar to the glance view, e.g. status, and exists in a widget carousel to allow you to select an application to launch.
**Please note that memory in widgets is more limited than applications. This means a large menu definition can crash the widget without the code catching the error.** |
+| Widget | **"Maintenance only mode"** so no new features will be added to this version.
For older devices that use widgets, e.g. Venu (1) as opposed to applications with "glances", the GarminHomeAssistant application can instead be started from the widget carousel. This is a separate item in the Connect IQ AppStore and with this installation, the application will no longer appear in the list of applications and activities. Head over to the [GarminHomeAssistant](https://apps.garmin.com/en-US/apps/) widget page on the [Connect IQ application store](https://apps.garmin.com/en-US/) to download the widget.

Typically the widget view implements something similar to the glance view, e.g. status, and exists in a widget carousel to allow you to select an application to launch.
**Please note that memory in widgets is more limited than applications. This means a large menu definition can crash the widget without the code catching the error.**
This version was born out of the application version and from Ver 2.0 shared the same source code repository until Ver 2.8 when they were [separated](https://github.com/house-of-abbey/GarminHomeAssistantWidget) to allow the application version to take advantage of its increase memory availability. |
-As the source code base for both is the same, the version numbers of each will be kept in step. That means that the widget version starts version numbering at 2.0.
+### Source Code Repositories
+
+* [Application](https://github.com/house-of-abbey/GarminHomeAssistant)
+* [Widget](https://github.com/house-of-abbey/GarminHomeAssistantWidget)
+
+### Connect IQ Store
+
+* [Application](https://apps.garmin.com/en-US/apps/61c91d28-ec5e-438d-9f83-39e9f45b199d)
+* [Widget](https://apps.garmin.com/en-US/apps/559f5174-177f-4f46-b170-f31c7e74dea3)
## Dashboard Definition
diff --git a/compile_sim.cmd b/compile_sim.cmd
index e7e5048..90670ec 100644
--- a/compile_sim.cmd
+++ b/compile_sim.cmd
@@ -29,13 +29,8 @@ rem Assume we can create and use this directory
set DEST=export
rem Device for simulation
-rem set DEVICE=venu2
-set DEVICE=vivoactive3
-
-rem Application
-rem set JUNGLE=monkey.jungle
-rem Or Widget
-set JUNGLE=monkey-widget.jungle
+set DEVICE=venu2
+set JUNGLE=monkey.jungle
rem C:\>java -jar %SDK_PATH%\monkeybrains.jar -h
rem usage: monkeyc [-a ] [-b ] [--build-stats ] [-c ] [-d ]
@@ -104,7 +99,7 @@ rem Compile PRG for a single device for side loading
-Dapple.awt.UIElement=true ^
-jar %SDK_PATH%\monkeybrains.jar ^
--output %SRC%\bin\HomeAssistant.prg ^
- --jungles %SRC%\monkey-widget.jungle ^
+ --jungles %SRC%\%JUNGLE% ^
--private-key %SRC%\..\developer_key ^
--device %DEVICE%_sim ^
--warn ^
diff --git a/export.cmd b/export.cmd
index 4f5315f..c61f960 100644
--- a/export.cmd
+++ b/export.cmd
@@ -27,6 +27,7 @@ set /p SDK_PATH=<"%USERPROFILE%\AppData\Roaming\Garmin\ConnectIQ\current-sdk.cfg
set SDK_PATH=%SDK_PATH:~0,-1%\bin
rem Assume we can create and use this directory
set DEST=export
+set IQ=HomeAssistant-app.iq
rem C:\>java -jar %SDK_PATH%\monkeybrains.jar -h
rem usage: monkeyc [-a ] [-b ] [--build-stats ] [-c ] [-d ]
@@ -72,17 +73,20 @@ rem Batch file's directory where the source code is
set SRC=%~dp0
rem drop last character '\'
set SRC=%SRC:~0,-1%
+set DEST=%SRC%\%DEST%
+set IQ=%DEST%\%IQ%
if not exist %DEST% (
+ echo Creating %DEST%
md %DEST%
)
-if exist %SRC%\export\HomeAssistant*.iq (
- del /f /q %SRC%\export\HomeAssistant*.iq
+if exist %IQ% (
+ echo Deleting old %IQ%
+ del /f /q %IQ%
)
-echo.
-echo Starting export of HomeAssistant Application
+echo Starting export of HomeAssistant Application to %IQ%
echo.
"%JAVA_PATH%\java.exe" ^
@@ -91,32 +95,15 @@ echo.
-Dapple.awt.UIElement=true ^
-jar %SDK_PATH%\monkeybrains.jar ^
--api-level 3.1.0 ^
- --output %SRC%\export\HomeAssistant-app.iq ^
+ --output %IQ% ^
--jungles %SRC%\monkey.jungle ^
--private-key %SRC%\..\developer_key ^
--package-app ^
--release
rem --warn
-echo.
-echo Starting export of HomeAssistant Widget
-echo.
-
-"%JAVA_PATH%\java.exe" ^
- -Xms1g ^
- -Dfile.encoding=UTF-8 ^
- -Dapple.awt.UIElement=true ^
- -jar %SDK_PATH%\monkeybrains.jar ^
- --api-level 3.1.0 ^
- --output %SRC%\export\HomeAssistant-widget.iq ^
- --jungles %SRC%\monkey-widget.jungle ^
- --private-key %SRC%\..\developer_key ^
- --package-app ^
- --release
-rem --warn
-
echo.
echo Finished exporting HomeAssistant
-dir %SRC%\export\HomeAssistant*.iq
+dir %IQ%
pause
diff --git a/include/app/WidgetApp.mc b/include/app/WidgetApp.mc
deleted file mode 100644
index 1234385..0000000
--- a/include/app/WidgetApp.mc
+++ /dev/null
@@ -1,28 +0,0 @@
-//-----------------------------------------------------------------------------------
-//
-// Distributed under MIT Licence
-// See https://github.com/house-of-abbey/GarminHomeAssistant/blob/main/LICENSE.
-//
-//-----------------------------------------------------------------------------------
-//
-// GarminHomeAssistant is a Garmin IQ application written in Monkey C and routinely
-// tested on a Venu 2 device. The source code is provided at:
-// https://github.com/house-of-abbey/GarminHomeAssistant.
-//
-// P A Abbey & J D Abbey & Someone0nEarth, 20 December 2023
-//
-//
-// Description:
-//
-// A tedious diversion intended to make it possible to have the same source code for
-// both a widget and an application. This file provides a single constant to
-// determine which, and then the source file is conditionally included by the each
-// .jungle file.
-//
-//-----------------------------------------------------------------------------------
-
-using Toybox.Lang;
-
-class WidgetApp {
- static const isWidget = false;
-}
diff --git a/include/widget/WidgetApp.mc b/include/widget/WidgetApp.mc
deleted file mode 100644
index b86ec4c..0000000
--- a/include/widget/WidgetApp.mc
+++ /dev/null
@@ -1,28 +0,0 @@
-//-----------------------------------------------------------------------------------
-//
-// Distributed under MIT Licence
-// See https://github.com/house-of-abbey/GarminHomeAssistant/blob/main/LICENSE.
-//
-//-----------------------------------------------------------------------------------
-//
-// GarminHomeAssistant is a Garmin IQ application written in Monkey C and routinely
-// tested on a Venu 2 device. The source code is provided at:
-// https://github.com/house-of-abbey/GarminHomeAssistant.
-//
-// P A Abbey & J D Abbey & Someone0nEarth, 20 December 2023
-//
-//
-// Description:
-//
-// A tedious diversion intended to make it possible to have the same source code for
-// both a widget and an application. This file provides a single constant to
-// determine which, and then the source file is conditionally included by the each
-// .jungle file.
-//
-//-----------------------------------------------------------------------------------
-
-using Toybox.Lang;
-
-class WidgetApp {
- static const isWidget = true;
-}
diff --git a/manifest-widget.xml b/manifest-widget.xml
deleted file mode 100644
index cfa41e1..0000000
--- a/manifest-widget.xml
+++ /dev/null
@@ -1,196 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ara
- bul
- zhs
- zht
- hrv
- ces
- dan
- dut
- deu
- gre
- eng
- est
- fin
- fre
- heb
- hun
- ind
- ita
- jpn
- kor
- lav
- lit
- zsm
- nob
- pol
- por
- slo
- ron
-
- slv
- spa
- swe
- tha
- tur
- ukr
- vie
-
-
-
-
-
\ No newline at end of file
diff --git a/manifest.xml b/manifest.xml
index 13d29bc..827cf6f 100644
--- a/manifest.xml
+++ b/manifest.xml
@@ -29,9 +29,6 @@
watch-app and widget by changing which of the next two lines are commented out
-->
-