Index: trunk/resources/data/validator/combinations.mapcss
===================================================================
--- trunk/resources/data/validator/combinations.mapcss	(revision 19590)
+++ trunk/resources/data/validator/combinations.mapcss	(revision 19591)
@@ -367,8 +367,4 @@
 node[transformer][voltage],
 node[marker][cover],
-node[marker][voltage],
-node[marker][pressure],
-node[marker][diameter],
-node[marker][substance],
 *[building:part][building],
 *[addr:street][addr:place][outside("CZ,DK")] {
@@ -1180,2 +1176,32 @@
   suggestAlternative: "{0.tag} + {1.key}=*";
 }
+
+/* #24724 */
+*[marker][voltage] {
+  throwWarning: tr("{0} with {1}", "{0.tag}", "{1.key}");
+  group: tr("suspicious tag combination");
+  suggestAlternative: "indication:voltage=*";
+  fixRemove: "voltage";
+  fixAdd: "indication:voltage={1.value}"
+}
+*[marker][diameter] {
+  throwWarning: tr("{0} with {1}", "{0.tag}", "{1.key}");
+  group: tr("suspicious tag combination");
+  suggestAlternative: "indication:diameter=*";
+  fixRemove: "diameter";
+  fixAdd: "indication:diameter={1.value}"
+}
+*[marker][pressure] {
+  throwWarning: tr("{0} with {1}", "{0.tag}", "{1.key}");
+  group: tr("suspicious tag combination");
+  suggestAlternative: "indication:pressure=*";
+  fixRemove: "pressure";
+  fixAdd: "indication:pressure={1.value}"
+}
+*[marker][substance] {
+  throwWarning: tr("{0} with {1}", "{0.tag}", "{1.key}");
+  group: tr("suspicious tag combination");
+  suggestAlternative: "indication:substance=*";
+  fixRemove: "substance";
+  fixAdd: "indication:substance={1.value}"
+}
Index: trunk/resources/data/validator/deprecated.mapcss
===================================================================
--- trunk/resources/data/validator/deprecated.mapcss	(revision 19590)
+++ trunk/resources/data/validator/deprecated.mapcss	(revision 19591)
@@ -925,7 +925,8 @@
 *[power=cable_distribution_cabinet] {
   throwWarning: tr("{0} is deprecated", "{0.tag}");
-  suggestAlternative: "man_made=street_cabinet + street_cabinet=*";
+  suggestAlternative: "man_made=street_cabinet + utility=power";
   group: tr("deprecated tagging");
   fixAdd: "man_made=street_cabinet";
+  fixAdd: "utility=power";
   fixRemove: "power";
 }
@@ -934,7 +935,8 @@
 *[power][location=kiosk] {
   throwWarning: tr("{0} is deprecated", "{1.tag}");
+  suggestAlternative: "man_made=street_cabinet + utility=power";
   group: tr("deprecated tagging");
   fixAdd: "man_made=street_cabinet";
-  fixAdd: "street_cabinet=power";
+  fixAdd: "utility=power";
   fixRemove: "location";
 }
@@ -2356,4 +2358,27 @@
 }
 
+/* #20421 */
+*[transformer=minor_distribution] {
+  throwWarning: tr("{0} is deprecated", "{1.tag}");
+  suggestAlternative: "transformer=distribution";
+  group: tr("deprecated tagging");
+  fixAdd: "transformer=distribution";
+}
+
+*[transformer=traction] {
+  throwWarning: tr("{0} is deprecated", "{0.tag}");
+  suggestAlternative: "transformer=main";
+  group: tr("deprecated tagging");
+  fixAdd: "transformer=main";
+}
+
+*[transformer=auto] {
+  throwWarning: tr("{0} is deprecated", "{0.tag}");
+  suggestAlternative: "transformer=* + windings:auto=yes";
+  group: tr("deprecated tagging");
+  fixRemove: "transformer";
+  fixAdd: "windings:auto=yes";
+}
+
 /* #20434 */
 *[building:roof:shape] {
@@ -2514,4 +2539,56 @@
 }
 
+
+/* #22748, Many street_cabinet values are deprecated*/
+*[street_cabinet=power] {
+  throwWarning: tr("{0} is deprecated", "{0.tag}");
+  group: tr("deprecated tagging");
+  suggestAlternative: "utility=power";
+  fixAdd: "utility=power";
+  fixRemove: "street_cabinet";
+}
+*[street_cabinet=telecom] {
+  throwWarning: tr("{0} is deprecated", "{0.tag}");
+  group: tr("deprecated tagging");
+  suggestAlternative: "utility=telecom";
+  fixAdd: "utility=telecom";
+  fixRemove: "street_cabinet";
+}
+*[street_cabinet=gas] {
+  throwWarning: tr("{0} is deprecated", "{0.tag}");
+  group: tr("deprecated tagging");
+  suggestAlternative: "utility=gas";
+  fixAdd: "utility=gas";
+  fixRemove: "street_cabinet";
+}
+*[street_cabinet=street_lighting] {
+  throwWarning: tr("{0} is deprecated", "{0.tag}");
+  group: tr("deprecated tagging");
+  suggestAlternative: "utility=street_lighting";
+  fixAdd: "utility=street_lighting";
+  fixRemove: "street_cabinet";
+}
+*[street_cabinet=water] {
+  throwWarning: tr("{0} is deprecated", "{0.tag}");
+  group: tr("deprecated tagging");
+  suggestAlternative: "utility=water";
+  fixAdd: "utility=water";
+  fixRemove: "street_cabinet";
+}
+*[street_cabinet=water_management] {
+  throwWarning: tr("{0} is deprecated", "{0.tag}");
+  group: tr("deprecated tagging");
+  suggestAlternative: "utility=water";
+  fixAdd: "utility=water";
+  fixRemove: "street_cabinet";
+}
+*[industrial=gas] {
+  throwWarning: tr("{0} is deprecated", "{0.tag}");
+  group: tr("deprecated tagging");
+  suggestAlternative: "utility=gas";
+  fixAdd: "utility=gas";
+  fixRemove: "industrial";
+}
+
 /* Tag was renamed, see #22957 */
 area[parking:orientation][!orientation] {
@@ -2619,3 +2696,12 @@
 }
 
+/* #24724, utility=hydrant is replaced by indication:emergency=fire_hydrant */
+*[marker][utility=hydrant] {
+  throwWarning: tr("{0} is deprecated", "{1.tag}");
+  group: tr("deprecated tagging");
+  suggestAlternative: "utility=water + indication:emergency=fire_hydrant";
+  fixAdd: "indication:emergency=fire_hydrant";
+  fixAdd": "utility=water";
+}
+
 /* When tags are deprecated they should be added to ignoretags.cfg too. */
Index: trunk/resources/data/validator/ignoretags.cfg
===================================================================
--- trunk/resources/data/validator/ignoretags.cfg	(revision 19590)
+++ trunk/resources/data/validator/ignoretags.cfg	(revision 19591)
@@ -630,4 +630,13 @@
 K:man_made=outdoor_dslam
 K:street_cabinet=outdoor_dslam
+K:street_cabinet=power
+K:street_cabinet=telecom
+K:street_cabinet=street_lighting
+K:street_cabinet=water
+K:street_cabinet=water_management
+K:street_cabinet=gas
+K:street_cabinet=cable_tv
+K:street_cabinet=sewerage
+K:industrial=gas
 K:telecom=dslam
 K:telecom=outdoor_dslam
