Skip to content

Releases: Artificial-Pancreas/iAPS

Release 4.0.1

08 May 19:06
Compare
Choose a tag to compare

Bolus calculator config. Missing toggle.

Release V4.0.0

08 May 15:44
398ed72
Compare
Choose a tag to compare

OPEN CLEAN Oref0 AND NEW EASILY ACCESSIBLE, READABLE, COMPACT, NON COMPRESSED DYNAMIC ISF CODE

  • First dynamic ISF release which uses the public clean unmodified Open APS repo. All dynamic ISF is aded as a separate layer, easily reviewed by anyone. This layer allows for a super simple overview and for super simple changing of any formula and makes the open public iAPS repo even more open (more accessible for non-devs) to everyone.
  • Uses the OpenAPS Oref0 repo modules unmodified. The algorithm in JS is back to the Oref0 modules, as originally implemented in FreeAPS.
  • The source code for dynISF is added as a layer and run before the OpenAPS algorithm, similar to the middleware, visible and uncompressed in the iAPS repo.
  • The TDD code needed for dynISF now written in Swift, made to work for all pumps using the pump history storage, as before.
    One exception where the JS code currently differs from OpenAPS is in one file, a file just with the default list of preferences etc, the index.js file. This is taken compressed from the original FreeAPS code (https://github.com/ivalkou/freeaps/blob/master/FreeAPS/Resources/javascript/bundle/profile.js), as this code has never been presented unminimized and I therefore don’t know exactly what format is used for this file, but you can see all these variables contained here uncompressed in the preferences.json and in other places in the Swift code, where this list of preferences and profiles is generated.

BOLUS CALCULATORS

  • Calculators are now using safer formulas and a more user friendly UI/UX with several important old bugs fixed.
  • Both the “original” and the alternative are now written entirely in Swift. Several bugs found and fixed in the newer alternative calculator.
  • The calculators now about 0.2 s faster, when not using the slower LoopKit function for rounding.
  • Added safety guardrails to both alternatives, using the OpenAPS prediction minPredBG (can be disabled, but on by default). The error alerts have been removed and replaced with illustrations.
  • Settings for bolus calculators have been revamped. More clean and simple.
  • The bolus View is now more compact, using an added compactSpacing method (only used on devices with iOS 17 and newer).

NEW CHARTS

  • New charts and illustrations for the bolus calculators. You can now see the insulin needed illustrated in the bolus prediction chart as a AreaMark in the prediction chart in bolus view.
  • Target glucose added as dotted green line.
  • For the alternative calculator I added new graphics to better illustrate the data used, a new chart with the insulin needed for each variable and a Grid data table with the specific formulas and summation of the variables.
  • Main Chart. Alignment of the default bolus and carbs dots and strings adjusted for easier reading of all entries.
  • To reduce eventual bolus string clutter a setting has been added in UX/U settings, where you can opt in to hide the insulin amount string when under a selected value, default is 0.3, a bit similar to xDrip.
  • I’ve added an option in UI/UX-settings to replace the bolus dot with an InsulinBar instead (off by default). The height of the bars is dynamic, based on your pump history, meaning a user with history of boluses of 0.2-2 U will generate the same size of the insulin bars as a user with history of boluses of 2-20. Max Height is added as a new Config in code and will impact all bars.
  • Glucose dots now connected by a thin line for better overview of the chart data.

NEW OPTIONAL ANONYMOUS SHARING AND SAVING OF YOUR STATISTICS

  • The data you now choose to share is not using Nightscout anymore. This data is unidentified (no emails or URLS are needed or tied to your data) and uploaded anonymously.
  • A new section of settings has been created for this with a new link to a new site with the statistics.
  • Very soon you will also be able to see in your settings header when there is a newer main release to build/download.
    To prevent duplicate uploads of data a unique random string is created as identifier, saved on your iPhone.
    Thank you @scrappy for the work with the new site for statistics!

LIVE IAPS COMPLICATIONS AND WIDGETS

  • Uses a Contact Image to display iAPS updates/data on Watch App (Apple Contacts complication) and as iPhone widget (Apple Contact widget).
  • Ensuring reliable live updates.
  • Many options and settings with live preview in iAPS settings.
    Thank you @yurique for this contribution!

MISCELLANEOUS

  • Back port various Omnipod related fixes from Loop #619, by @itsmojo
  • Cleanup around diagnostic commands (commits from OmniBLE 118 & OmniKit 32) #620, by @itsmojo
  • Many important bug fixes. Most of fixes are for really old bugs (pre v3).
  • Middleware and the adjusted profiles can now be read outside of the middleware layer and outside of oref0.
  • It’s now clear when autosense has been used and when the dynamic ratio has been used instead.
  • TDD will always be displayed in the history data table. When dynamic ratio used also in the iAPS loop pill (pop-up). You can see hours of data available in the data table.
  • The dynISF and the other OpenApS variables are now separated in two groups in the pop-up.
  • Any active override is now added to the iAPS pill pop-up and to the Nightscout OpenAPS pill. Middleware can be read in pop-up and NS pill as before.
  • The profile button was slightly disproportionate (too large) before.
  • Changed colour of glucose in main chart to darkGreen, for better readability and to be coherent with the TIR and Loop chart green colour.
  • MAX IOB added as a variable to the Overrides, by request.
  • When SMBs either by your own settings or by other temporary conditions in the Oref0 code are disabled, you will now see this both in the iAPS pill in iAPS and in Nightscout.
  • To prevent GitHub build errors due to the naming of your iAPS-repo, you now can use any repo name. A fix in the workflow file.
  • An edit of the Webpack config file, for correct file names of the new compressed files, by @thomasvargiu
  • Siri Bolus Shortcut: you're now able to disable the confirmation when making the shortcut/automation.

TRANSLATIONS

  • Thank you all community translators: Hung Nguyen Phuteleco, Nicole Van Elst - van den Hoek, David de Tommasi, Mirko Trierenberg, Andras Feher, Mykola Yroslavadudko, Dani S Nahek, Jani Lavonen, Aleksandr Van-Zaam @vanzaam, Alessandro Fogliani, Typ1er and Matteo Neri for your contribution!

CAVE!
in version 4 there are some changes made to the middleware function.

  • The arguments preferences, basalProfile and pumphistory are removed as these are no longer needed (no TDD calc made in oref0 anymore and the preferences is anyways already part of the profiles and the current basal you still can see and change as before)).
    -The argument oref2_variables has been renamed to dynamicVariables. You have to update your current middleware function (provided you have some) to avoid any errors.

Release 3.4.1

22 Apr 13:58
5b0396d
Compare
Choose a tag to compare

Bug Fixes

  • Subscribe to bolus percentage setting.
  • Fix OmniPod unit test alert names, by @itsmojo

Miscellaneous

  • Delete unused files, by @itsmojo
  • Delete unused translation files and folders and references.
  • Organise iAPS project structure regarding the translations.

New

  • Option to not display any bolus recommendation.

Translations

  • Thank you Hung Nguyen Phuteleco, Andras Feher, Michel Slootweg, hwschou and Nicole Van Elst - van den Hoek.

Release 3.4.0

18 Mar 15:08
Compare
Choose a tag to compare

BUG FIXES

  • Allow timezone sync without pod and other tweaks, by @itsmojo 600ed52
  • Use silencePod for expirationReminder & lowReservoir during pod setup, by @itsmojo #587
  • Exclude small carb equivalents of 0.6 grams or lower and the equivalents over 0.6 but under 1 will be rounded up to 1, because in Oref0 only carb treatments >= 1 g are included and because so small equivalents should not have any significant impact. To increase the carb amounts you need to use a bigger time interval setting (then fewer but bigger carb equivalents will be created). Updated the conversion description and localized it. @Jon-b-m

NEW FEATURES

  • iOS iAPS shortcut for Bolus. Makes the remote bolus more reliable. Setting for allowing Bolus Shortcut in iAPS, default is off, With a pop-up / alert requiring confirmation of setting. Yet another settings toggle to enable bolus using iOS shortcuts: Max bolus allowed using shortcut, default is 0. Localised both the strings and the utterances (Siri). You can't disable the final end user confirmation of the bolus command (hard coded). @Jon-b-m

TRANSLATIONS

  • Thank you Micheline Tasseron, Hung Nguyen, Nicole Van Elst - van den Hoek, Aleksandr Van-Zaam, Alessandro Fogliani, Typ1er, Mirko Trierenberg, Mykola Yroslavadudko and Matteo Neri!

Release 3.2.1

10 Mar 18:09
Compare
Choose a tag to compare

Small UI bug fix (Time Offset Image wasn't updating after syncing with pump, due to a missing observer). 3.2.1

Release 3.2.0

10 Mar 12:51
Compare
Choose a tag to compare

NEW FEATURES:

  1. Illustrates active and old overrides in Nightscout, using the Exercise eventType. Jon Björn.
    Saves any old overrides not uploaded (due to connectivity or other reason) for up to 48 hours, for uploading later, when possible, with next treatment push to NS.

  2. Watch Overrides. Activate Profile Override Presets from Watch app and and Cancel any active override from Watch App. Jon Björn.

  3. Support for iOS Shortcuts using Profile Overrides. Activate Profile Override Presets and Cancel an active override using iOS shortcuts. Jon Björn.
    Can be used for all sorts of automation and with Siri. Some examples of automation now supported:
    • When your iPhone alarm clock is ringing a Profile override is started/canceled.
    • When you get to your gym a Profile Override is started/canceled.
    • When you step inside your car (which has CarPlay) a profile override is started/canceled.
    • When you start an exercise a profile override is started.
    • When you end an exercise the active profile override is canceled.
    • When you get a specific sms from your parent a specific profile override is started/canceled.  

  4. Preview of Loop Statistics. Jon Björn.
    Add Loop statistics for today in Home View. Add new Loops / Readings percentage, as this is the most important data for evaluating iAPS app status/health. Added to help the Dana developers. Center align both previews (TIR and Loops).


  5. Support for new Dexcom One+ sensors. Connect using the G7 Manager in iAPS. Jon Björn.

  6. When pump time differs from system time illustrate with overlayed graphics in Home View header. Added back in a new format. Jon Björn.

BUG FIXES ETC. :

  1. Typo in Adjustment Factor popup, by @petewilkins

  2. Backport of missing changes from LoopKit OmniBLE. More info: #542. Thank you @itsmojo

  3. Remove steps related to syncing of the "alive" branch #551, by @bjornoleh

  4. Replaced actions/checkout@v3 with actions/checkout@v4. Thank you SteveAnderson.

  5. Refactor the fastfile. Remove 19 duplicate strings (!). Use a constant for the Bundle ID to make it easy to change the Bundle ID. in the fastfile.6a46a2a (ändrad). Jon Björn.

  6. Refactor. Remove duplicate code in APSManager. Clean up code in OpenAPSManager. Don't delete those overrides that run to completion in Nightscout. Jon Björn.

  7. A Fix for duplicate carbs entries in data table and Health App? #564 Thank you @dsnallfot.

  8. OmniKit and OmniBLE updates with Loop bug fixes, by @itsmojo . All details here : c564516 (ändrad). @itsmojo.

  9. Clarify ”Bolus In progress" - error. Refactor display of days of data in statistics View. Jon Björn.

  10. Glucose Simulator Bug fix. Prevent Division by zero. Jon Björn.

  11. UI/UX bug fixes for the overrides and some refactoring and added comments for purpose of easier understanding and maintaining this part of code. Jon Björn.

  12. When replacing an active preset Override with a custom override and when replacing preset with another preset, make sure UI and NS is always updated. Jon Björn.

  13. Clarify when saved and when canceled in bolus and meal views. Condense the bolus view using new ViewModifier (will only be used on iOS 17+ devices). Jon Björn.

  14. Bug fix for iAPS app shortcut ”Add carbs in iAPS”. Missing properties for fat and protein entries. Jon Björn.

  15. Localizations. A few deleted translations in v.3.0.0 merge added back. Several new missing strings added. Jon Björn.

  16. Many Crowdin translations. Thank you translators! Mykola (Yroslavadudko), Hung Nguyen, Typ1er, Mirko Tirerenberg, becksen, Daviddetommasi, Nicole Van Elst - van den Hoek, Dani S nahek, Matteo Neri, Aleksandr Van-Zaam, lavo88, Khang747509, Stephan Laarhuis, luborj, Magnus R and SimonXuku. If you find any missing/bad translation please join the open Crowdin project https://crowdin.com/project/iaps to help with translation and Discord to report errors/missing strings Discord iAPS - Server.

Release 3.0.4

29 Feb 14:29
Compare
Choose a tag to compare

Fastlane patches:

  • Remove steps related to syncing of the "alive" branch
    Update build_iAPS.yml (#557). Thank you @bjornoleh

  • Replaced actions/checkout@v3 with actions/checkout@v4 to avoid build warning "Node.js 16 actions are deprecated". Thank you @SteveAnderson

Release 3.0.3

23 Feb 14:57
Compare
Choose a tag to compare

UI Home View update. Always display the header, even when scrolling, in Home View. Made by request and this is how it actually was supposed to be.

Typo in Adjustment Factor popup (#526), by @petewilkins

Release 3.0.2

16 Feb 21:19
643d317
Compare
Choose a tag to compare

Fixes a fatal error with the Health Store integration (reverts commit from 28th of October: 3f2eddc
Thank you @dsnallfot !

Release 3.0.1

10 Feb 15:29
dd2ded3
Compare
Choose a tag to compare

Missing commit intended for release 3.0.0: Confirm bolus quicker on Apple Watch.

Fix for UI glitch (for saving active override illustration before replacing with a new remote override).