diff --git a/VERSION b/VERSION
index 238d6e8..b0f3d96 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-1.0.7
+1.0.8
diff --git a/internal/pkg/commands/adapter.go b/internal/pkg/commands/adapter.go
index b777889..1a901bc 100644
--- a/internal/pkg/commands/adapter.go
+++ b/internal/pkg/commands/adapter.go
@@ -25,7 +25,7 @@
 )
 
 const (
-	DEFAULT_OUTPUT_FORMAT = "table{{ .Id }}\t{{.Vendor}}\t{{.Version}}"
+	DEFAULT_OUTPUT_FORMAT = "table{{ .Id }}\t{{ .Vendor }}\t{{ .Version }}\t{{ .SinceLastCommunication }}"
 )
 
 type AdapterList struct {
diff --git a/pkg/model/adapter.go b/pkg/model/adapter.go
index d46039b..bfec875 100644
--- a/pkg/model/adapter.go
+++ b/pkg/model/adapter.go
@@ -16,20 +16,39 @@
 package model
 
 import (
+	"github.com/golang/protobuf/ptypes"
+	"github.com/golang/protobuf/ptypes/timestamp"
 	"github.com/jhump/protoreflect/dynamic"
+	"time"
 )
 
 type Adapter struct {
-	Id       string
-	Vendor   string
-	Version  string
-	LogLevel string
+	Id                     string
+	Vendor                 string
+	Version                string
+	LogLevel               string
+	LastCommunication      string
+	SinceLastCommunication string
 }
 
 func (adapter *Adapter) PopulateFrom(val *dynamic.Message) {
 	adapter.Id = val.GetFieldByName("id").(string)
 	adapter.Vendor = val.GetFieldByName("vendor").(string)
 	adapter.Version = val.GetFieldByName("version").(string)
+
+	if lastCommunication, err := val.TryGetFieldByName("last_communication"); err != nil {
+		adapter.LastCommunication = "UNKNOWN"
+		adapter.SinceLastCommunication = "UNKNOWN"
+	} else {
+		if lastCommunication, err := ptypes.Timestamp(lastCommunication.(*timestamp.Timestamp)); err != nil {
+			adapter.LastCommunication = "NEVER"
+			adapter.SinceLastCommunication = "NEVER"
+		} else {
+			adapter.LastCommunication = lastCommunication.Truncate(time.Second).Format(time.RFC3339)
+			adapter.SinceLastCommunication = time.Now().Sub(lastCommunication).Truncate(time.Second).String()
+		}
+	}
+
 	var config *dynamic.Message = val.GetFieldByName("config").(*dynamic.Message)
 	if config != nil {
 		adapter.LogLevel = GetEnumValue(config, "log_level")
diff --git a/vendor/modules.txt b/vendor/modules.txt
index cad57ab..2f99836 100644
--- a/vendor/modules.txt
+++ b/vendor/modules.txt
@@ -16,13 +16,13 @@
 # github.com/golang/protobuf v1.3.1
 github.com/golang/protobuf/proto
 github.com/golang/protobuf/protoc-gen-go/descriptor
-github.com/golang/protobuf/jsonpb
 github.com/golang/protobuf/ptypes
+github.com/golang/protobuf/ptypes/timestamp
+github.com/golang/protobuf/jsonpb
 github.com/golang/protobuf/ptypes/empty
 github.com/golang/protobuf/ptypes/struct
 github.com/golang/protobuf/ptypes/any
 github.com/golang/protobuf/ptypes/duration
-github.com/golang/protobuf/ptypes/timestamp
 github.com/golang/protobuf/ptypes/wrappers
 github.com/golang/protobuf/protoc-gen-go/plugin
 # github.com/golang/snappy v0.0.1
