diff --git a/app/build.gradle b/app/build.gradle
index d56d8ad55cc1a0a9301be4ed218ff180c6fae07c..d0b621ef58ab477f9f596031cababf60e1869b3a 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -7,7 +7,7 @@ buildscript {
 
     dependencies {
         classpath 'io.fabric.tools:gradle:1.21.6'
-        classpath 'io.realm:realm-gradle-plugin:1.1.0'
+        classpath 'io.realm:realm-gradle-plugin:1.1.1'
         classpath 'org.ajoberstar:grgit:1.5.0'
     }
 }
@@ -144,7 +144,7 @@ release {
 
 dependencies {
     compile files('libs/slf4j-api-1.7.2.jar')
-    compile('com.crashlytics.sdk.android:crashlytics:2.6.0@aar') {
+    compile('com.crashlytics.sdk.android:crashlytics:2.6.5@aar') {
         transitive = true;
     }
     compile('com.mikepenz:materialdrawer:5.2.9@aar') {
diff --git a/app/src/main/java/info/nightscout/android/medtronic/service/MedtronicCnlAlarmReceiver.java b/app/src/main/java/info/nightscout/android/medtronic/service/MedtronicCnlAlarmReceiver.java
index a0af992a915f00cd4c9ca02e5d240b3371f5ba2a..49e648c68cc37df7ca643e632c9c76b1457b32f0 100644
--- a/app/src/main/java/info/nightscout/android/medtronic/service/MedtronicCnlAlarmReceiver.java
+++ b/app/src/main/java/info/nightscout/android/medtronic/service/MedtronicCnlAlarmReceiver.java
@@ -4,6 +4,7 @@ import android.app.AlarmManager;
 import android.app.PendingIntent;
 import android.content.Context;
 import android.content.Intent;
+import android.os.Build;
 import android.support.v4.content.WakefulBroadcastReceiver;
 import android.util.Log;
 
@@ -16,8 +17,8 @@ public class MedtronicCnlAlarmReceiver extends WakefulBroadcastReceiver {
     private static final String TAG = MedtronicCnlAlarmReceiver.class.getSimpleName();
     private static final int ALARM_ID = 102; // Alarm id
 
-    private static PendingIntent pi = null;
-    private static AlarmManager am = null;
+    private static PendingIntent pendingIntent = null;
+    private static AlarmManager alarmManager = null;
 
     @Override
     public void onReceive(final Context context, Intent intent) {
@@ -31,9 +32,9 @@ public class MedtronicCnlAlarmReceiver extends WakefulBroadcastReceiver {
     public void setContext(Context context) {
         cancelAlarm();
 
-        am = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
+        alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
         Intent intent = new Intent(context, MedtronicCnlAlarmReceiver.class);
-        pi = PendingIntent.getBroadcast(context, ALARM_ID, intent, PendingIntent.FLAG_UPDATE_CURRENT);
+        pendingIntent = PendingIntent.getBroadcast(context, ALARM_ID, intent, PendingIntent.FLAG_UPDATE_CURRENT);
     }
 
     // Setting the alarm in 15 seconds from now
@@ -43,7 +44,7 @@ public class MedtronicCnlAlarmReceiver extends WakefulBroadcastReceiver {
 
     // Setting the alarm to call onRecieve
     public void setAlarm(long millis) {
-        if (am == null || pi == null)
+        if (alarmManager == null || pendingIntent == null)
             return;
 
         cancelAlarm();
@@ -53,7 +54,12 @@ public class MedtronicCnlAlarmReceiver extends WakefulBroadcastReceiver {
             millis = System.currentTimeMillis();
 
         Log.d(TAG, "AlarmManager set to fire   at " + new Date(millis));
-        am.setExact(AlarmManager.RTC_WAKEUP, millis, pi);
+        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
+            alarmManager.setAlarmClock(new AlarmManager.AlarmClockInfo(millis, null), pendingIntent);
+        } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
+            alarmManager.setExact(AlarmManager.RTC_WAKEUP, millis, pendingIntent);
+        } else
+            alarmManager.set(AlarmManager.RTC_WAKEUP, millis, pendingIntent);
     }
 
     // restarting the alarm after MedtronicCnlIntentService.POLL_PERIOD_MS from now
@@ -63,10 +69,10 @@ public class MedtronicCnlAlarmReceiver extends WakefulBroadcastReceiver {
 
     // Cancel the alarm.
     public void cancelAlarm() {
-        if (am == null || pi == null)
+        if (alarmManager == null || pendingIntent == null)
             return;
 
-        am.cancel(pi);
+        alarmManager.cancel(pendingIntent);
     }
 
 }
diff --git a/app/src/main/java/info/nightscout/android/upload/nightscout/NightscoutUploadIntentService.java b/app/src/main/java/info/nightscout/android/upload/nightscout/NightscoutUploadIntentService.java
index b542315ff5d471d0dee874e0a08da76ebffe2f75..6ac7129878dfdcf45118b3f1f4cf83538766de24 100644
--- a/app/src/main/java/info/nightscout/android/upload/nightscout/NightscoutUploadIntentService.java
+++ b/app/src/main/java/info/nightscout/android/upload/nightscout/NightscoutUploadIntentService.java
@@ -258,11 +258,22 @@ public class NightscoutUploadIntentService extends IntentService {
         iob.put("timestamp", record.getPumpDate());
         iob.put("bolusiob", record.getActiveInsulin());
 
+        JSONObject status = new JSONObject();
+        if (record.isBolusing()) {
+            status.put("bolusing", true);
+        } else if (record.isSuspended()) {
+            status.put("suspended", true);
+        } else {
+            status.put("status", "normal");
+        }
+
         JSONObject battery = new JSONObject();
         battery.put("percent", record.getBatteryPercentage());
 
         pumpInfo.put("iob", iob);
         pumpInfo.put("battery", battery);
+        pumpInfo.put("status", status);
+
         json.put("pump", pumpInfo);
         String jsonString = json.toString();
         Log.i(TAG, "Device Status JSON: " + jsonString);
diff --git a/build.gradle b/build.gradle
index 04964d2ceed4f5f07ac9cb13fce761e51603eaeb..9da42b0b994170c75de5ee547bfabc0007cf8dd7 100644
--- a/build.gradle
+++ b/build.gradle
@@ -5,7 +5,7 @@ buildscript {
         jcenter()
     }
     dependencies {
-        classpath 'com.android.tools.build:gradle:2.2.2'
+        classpath 'com.android.tools.build:gradle:2.2.3'
         // NOTE: Do not place your application dependencies here; they belong
         // in the individual module build.gradle files
         classpath "io.realm:realm-gradle-plugin:1.0.0"