Index: trunk/src/org/openstreetmap/josm/data/osm/Changeset.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/Changeset.java	(revision 14222)
+++ trunk/src/org/openstreetmap/josm/data/osm/Changeset.java	(revision 14231)
@@ -43,4 +43,6 @@
     /** the number of comments for this changeset */
     private int commentsCount;
+    /** the number of changes for this changeset */
+    private int changesCount;
     /** the map of tags */
     private Map<String, String> tags;
@@ -283,4 +285,22 @@
     }
 
+    /**
+     * Replies the number of changes for this changeset.
+     * @return the number of changes for this changeset
+     * @since 14231
+     */
+    public int getChangesCount() {
+        return changesCount;
+    }
+
+    /**
+     * Sets the number of changes for this changeset.
+     * @param changesCount the number of changes for this changeset
+     * @since 14231
+     */
+    public void setChangesCount(int changesCount) {
+        this.changesCount = changesCount;
+    }
+
     @Override
     public Map<String, String> getKeys() {
@@ -346,38 +366,15 @@
      */
     public boolean hasEqualSemanticAttributes(Changeset other) {
-        if (other == null)
-            return false;
-        if (closedAt == null) {
-            if (other.closedAt != null)
-                return false;
-        } else if (!closedAt.equals(other.closedAt))
-            return false;
-        if (createdAt == null) {
-            if (other.createdAt != null)
-                return false;
-        } else if (!createdAt.equals(other.createdAt))
-            return false;
-        if (id != other.id)
-            return false;
-        if (max == null) {
-            if (other.max != null)
-                return false;
-        } else if (!max.equals(other.max))
-            return false;
-        if (min == null) {
-            if (other.min != null)
-                return false;
-        } else if (!min.equals(other.min))
-            return false;
-        if (open != other.open)
-            return false;
-        if (!tags.equals(other.tags))
-            return false;
-        if (user == null) {
-            if (other.user != null)
-                return false;
-        } else if (!user.equals(other.user))
-            return false;
-        return commentsCount == other.commentsCount;
+        return other != null
+            && id == other.id
+            && open == other.open
+            && commentsCount == other.commentsCount
+            && changesCount == other.changesCount
+            && Objects.equals(closedAt, other.closedAt)
+            && Objects.equals(createdAt, other.createdAt)
+            && Objects.equals(min, other.min)
+            && Objects.equals(max, other.max)
+            && Objects.equals(tags, other.tags)
+            && Objects.equals(user, other.user);
     }
 
@@ -434,4 +431,5 @@
         this.max = other.max;
         this.commentsCount = other.commentsCount;
+        this.changesCount = other.changesCount;
         this.tags = new HashMap<>(other.tags);
         this.incomplete = other.incomplete;
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetCacheTableCellRenderer.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetCacheTableCellRenderer.java	(revision 14222)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetCacheTableCellRenderer.java	(revision 14231)
@@ -39,4 +39,9 @@
     }
 
+    protected void renderChanges(Changeset cs) {
+        setText(Integer.toString(cs.getChangesCount()));
+        setToolTipText(null);
+    }
+
     protected void renderDiscussions(Changeset cs) {
         setText(Integer.toString(cs.getCommentsCount()));
@@ -59,5 +64,6 @@
         case 4: /* created at */ renderDate(cs.getCreatedAt()); break;
         case 5: /* closed at */ renderDate(cs.getClosedAt()); break;
-        case 6: /* discussions */ renderDiscussions(cs); break;
+        case 6: /* changes */ renderChanges(cs); break;
+        case 7: /* discussions */ renderDiscussions(cs); break;
         default: // Do nothing
         }
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetCacheTableColumnModel.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetCacheTableColumnModel.java	(revision 14222)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetCacheTableColumnModel.java	(revision 14231)
@@ -47,6 +47,9 @@
         createColumn(5, tr("Closed at"), 100, -1);
 
-        // column 6 - Discussions
-        createColumn(6, tr("Discussions"), 25, -1);
+        // column 6 - Changes
+        createColumn(6, tr("Changes"), 25, -1);
+
+        // column 7 - Discussions
+        createColumn(7, tr("Discussions"), 25, -1);
     }
 
Index: trunk/src/org/openstreetmap/josm/io/OsmChangesetParser.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/OsmChangesetParser.java	(revision 14222)
+++ trunk/src/org/openstreetmap/josm/io/OsmChangesetParser.java	(revision 14231)
@@ -160,4 +160,10 @@
             if (commentsCount != null) {
                 current.setCommentsCount(parseNumericAttribute(commentsCount, 0));
+            }
+
+            // -- changes_count
+            String changesCount = atts.getValue("changes_count");
+            if (changesCount != null) {
+                current.setChangesCount(parseNumericAttribute(changesCount, 0));
             }
         }
