Index: trunk/src/org/openstreetmap/josm/actions/search/SearchAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/search/SearchAction.java	(revision 2694)
+++ trunk/src/org/openstreetmap/josm/actions/search/SearchAction.java	(revision 2695)
@@ -126,4 +126,5 @@
                     + "<li>"+tr("<b>user:anonymous</b> - all objects changed by anonymous users")+"</li>"
                     + "<li>"+tr("<b>id:</b>... - object with given ID (0 for new objects)")+"</li>"
+                    + "<li>"+tr("<b>version:</b>... - object with given version (0 objects without an assigned version)")+"</li>"
                     + "<li>"+tr("<b>changeset:</b>... - object with given changeset id (0 objects without assigned changeset)")+"</li>"
                     + "<li>"+tr("<b>nodes:</b>... - object with given number of nodes (nodes:count or nodes:min-max)")+"</li>"
Index: trunk/src/org/openstreetmap/josm/actions/search/SearchCompiler.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/search/SearchCompiler.java	(revision 2694)
+++ trunk/src/org/openstreetmap/josm/actions/search/SearchCompiler.java	(revision 2695)
@@ -111,4 +111,13 @@
         }
         @Override public String toString() {return "changeset="+changesetid;}
+    }
+
+    private static class Version extends Match {
+        private long version;
+        public Version(long version) {this.version = version;}
+        @Override public boolean match(OsmPrimitive osm) {
+            return osm.getVersion() == version;
+        }
+        @Override public String toString() {return "version="+version;}
     }
 
@@ -708,5 +717,13 @@
                 throw new ParseError(tr("Incorrect value of changeset operator: {0}. Number is expected.", value));
             }
-        } else
+
+        }   else if (key.equals("version")) {
+            try {
+                return new Version(Long.parseLong(value));
+            } catch (NumberFormatException x) {
+                throw new ParseError(tr("Incorrect value of version operator: {0}. Number is expected.", value));
+            }
+        }
+        else
             return new KeyValue(key, value, regexSearch, caseSensitive);
     }
