*[barrier=wire_fence] {
  throwWarning: tr("{0}={1} is deprecated", "{0.key}", "{0.value}");
  fixAdd: "barrier=fence";
  fixAdd: "fence_type=chain_link";
  assertMatch: "way barrier=wire_fence";
  assertNoMatch: "way barrier=fence";
}
  
*[barrier=wood_fence] {
  throwWarning: tr("{0}={1} is deprecated", "{0.key}", "{0.value}");
  fixAdd: "barrier=fence";
  fixAdd: "fence_type=wood";
}
  
*[highway=ford] {
  throwWarning: tr("{0}={1} is deprecated", "{0.key}", "{0.value}");
  fixRemove: "highway";
  fixAdd: "ford=yes";
}
  
*[class] {
  /* from http://wiki.openstreetmap.org/wiki/Deprecated_features */
  throwWarning: tr("{0} is deprecated", "{0.key}");
  suggestAlternative: "highway";
}
  
*[highway=stile] {
  /* from http://wiki.openstreetmap.org/wiki/Deprecated_features */
  throwWarning: tr("{0}={1} is deprecated", "{0.key}", "{0.value}");
  fixRemove: "highway";
  fixAdd: "barrier=stile";
}
  
*[highway=incline] {
  /* from http://wiki.openstreetmap.org/wiki/Deprecated_features */
  throwWarning: tr("{0}={1} is deprecated", "{0.key}", "{0.value}");
  suggestAlternative: "incline";
}
  
*[highway=incline_steep] {
  /* from http://wiki.openstreetmap.org/wiki/Deprecated_features */
  throwWarning: tr("{0}={1} is deprecated", "{0.key}", "{0.value}");
  suggestAlternative: "incline";
}
  
*[highway=unsurfaced] {
  /* from http://wiki.openstreetmap.org/wiki/Deprecated_features */
  throwWarning: tr("{0}={1} is deprecated", "{0.key}", "{0.value}");
  fixAdd: "highway=road";
  fixAdd: "incline=unpaved";
}
  
*[landuse=wood] {
  /* from http://wiki.openstreetmap.org/wiki/Deprecated_features */
  throwWarning: tr("{0}={1} is deprecated", "{0.key}", "{0.value}");
  suggestAlternative: "landuse=forest";
  suggestAlternative: "natural=wood";
}
  
*[natural=marsh] {
  /* from http://wiki.openstreetmap.org/wiki/Deprecated_features */
  throwWarning: tr("{0}={1} is deprecated", "{0.key}", "{0.value}");
  fixAdd: "natural=wetland";
  fixAdd: "wetland=marsh";
}
  
*[highway=byway] {
  /* from http://wiki.openstreetmap.org/wiki/Deprecated_features */
  throwWarning: tr("{0}={1} is deprecated", "{0.key}", "{0.value}");
}
  
*[power_source] {
  /* from http://wiki.openstreetmap.org/wiki/Deprecated_features */
  throwWarning: tr("{0} is deprecated", "{0.key}");
  suggestAlternative: "generator:source";
}
  
*[power_rating] {
  /* from http://wiki.openstreetmap.org/wiki/Deprecated_features */
  throwWarning: tr("{0} is deprecated", "{0.key}");
  suggestAlternative: "generator:output";
}
  
*[shop=antique] {
  throwWarning: tr("{0}={1} is deprecated", "{0.key}", "{0.value}");
  fixAdd: "shop=antiques";
}

*[shop=bags] {
  throwWarning: tr("{0}={1} is deprecated", "{0.key}", "{0.value}");
  fixAdd: "shop=bag";
}

*[shop=organic] {
  /* from http://wiki.openstreetmap.org/wiki/Tag:shop=organic */
  throwWarning: tr("{0}={1} is deprecated", "{0.key}", "{0.value}");
  fixAdd: "shop=supermarket";
  fixAdd: "organic=only";
}

*[shop=pets] {
  throwWarning: tr("{0}={1} is deprecated", "{0.key}", "{0.value}");
  fixAdd: "shop=pet";
}

*[shop=pharmacy] {
  throwWarning: tr("{0}={1} is deprecated", "{0.key}", "{0.value}");
  fixChangeKey: "shop => amenity";
}

*[bicycle_parking=sheffield] {
  /* from http://wiki.openstreetmap.org/wiki/Key:bicycle_parking */
  throwWarning: tr("{0}={1} is deprecated", "{0.key}", "{0.value}");
  fixAdd: "bicycle_parking=stands";
}
  
*[amenity=emergency_phone] {
  /* http://wiki.openstreetmap.org/wiki/Tag:emergency=phone */
  throwWarning: tr("{0}={1} is deprecated", "{0.key}", "{0.value}");
  fixRemove: "amenity";
  fixAdd: "emergency=phone";
}
  
*[sport=gaelic_football] {
  /* fix #8132 - http://wiki.openstreetmap.org/wiki/Tag:sport=gaelic_football */
  throwWarning: tr("{0}={1} is deprecated", "{0.key}", "{0.value}");
  fixAdd: "sport=gaelic_games";
}
  
*[power=station] {
  /* see #8847 / #8961 - http://wiki.openstreetmap.org/wiki/Tag:power=station */
  throwWarning: tr("{0}={1} is deprecated", "{0.key}", "{0.value}");
  suggestAlternative: "power=plant";
  suggestAlternative: "power=substation";
}

*[power=sub_station] {
  throwWarning: tr("{0}={1} is deprecated", "{0.key}", "{0.value}");
  fixAdd: "power=substation";
}
  
*[generator:method=dam] {
  throwWarning: tr("{0}={1} is deprecated", "{0.key}", "{0.value}");
  fixAdd: "generator:method=water-storage";
}
  
*[generator:method=pumped-storage] {
  throwWarning: tr("{0}={1} is deprecated", "{0.key}", "{0.value}");
  fixAdd: "generator:method=water-pumped-storage";
}
  
*[generator:method=pumping] {
  throwWarning: tr("{0}={1} is deprecated", "{0.key}", "{0.value}");
  fixAdd: "generator:method=water-pumped-storage";
}
  
*[fence_type=chain] {
  /* see #8962 - http://wiki.openstreetmap.org/wiki/Key:fence_type */
  throwWarning: tr("{0}={1} is deprecated", "{0.key}", "{0.value}");
  suggestAlternative: "barrier=chain";
  suggestAlternative: "fence_type=chain_link";
}

*[building=entrance] {
  /* see #9000 - http://wiki.openstreetmap.org/wiki/Key:entrance */
  throwWarning: tr("{0}={1} is deprecated", "{0.key}", "{0.value}");
  suggestAlternative: "entrance";
}
  
*[board_type=board] {
  /* see #9213 - Useless tag proposed in internal preset for years */
  throwWarning: tr("{0}={1} is deprecated", "{0.key}", "{0.value}");
  fixRemove: "board_type";
}
  
*[man_made=measurement_station] {
  /* see #8434 - http://wiki.openstreetmap.org/wiki/Proposed_features/monitoring_station */
  throwWarning: tr("{0}={1} is deprecated", "{0.key}", "{0.value}");
  fixAdd: "man_made=monitoring_station";
}
  
*[measurement=water_level] {
  throwWarning: tr("{0}={1} is deprecated", "{0.key}", "{0.value}");
  fixRemove: "measurement";
  fixAdd: "monitoring:water_level=yes";
}
  
*[measurement=weather] {
  throwWarning: tr("{0}={1} is deprecated", "{0.key}", "{0.value}");
  fixRemove: "measurement";
  fixAdd: "monitoring:weather=yes";
}
  
*[measurement=seismic] {
  throwWarning: tr("{0}={1} is deprecated", "{0.key}", "{0.value}");
  fixRemove: "measurement";
  fixAdd: "monitoring:seismic_activity=yes";
}

*[monitoring:river_level] {
  throwWarning: tr("{0} is deprecated", "{0.key}");
  fixChangeKey: "monitoring:river_level => monitoring:water_level";
}

*[stay] {
  throwWarning: tr("{0} is deprecated", "{0.key}");
  fixChangeKey: "stay => maxstay";
}

*[emergency=aed] {
  /* see #9554 - http://wiki.openstreetmap.org/wiki/Proposed_features/automated_external_defibrillator */
  throwWarning: tr("{0}={1} is deprecated", "{0.key}", "{0.value}");
  fixAdd: "emergency=defibrillator";
}

/* from http://wiki.openstreetmap.org/wiki/Conditional_restrictions#Deprecated_tags */
*[day_on][!restriction],
*[day_off][!restriction],
*[date_on][!restriction],
*[date_off][!restriction],
*[hour_on][!restriction],
*[hour_off][!restriction] {
  throwWarning: tr("{0} is deprecated", "{0.key}");
  suggestAlternative: "*:conditional";
  assertMatch: "node day_on=0-12";
}

/* see #10000, http://wiki.openstreetmap.org/wiki/Tag%3Aaccess%3Ddesignated */
*[access=designated] {
  throwWarning: tr("''{0}'' is meaningless, use more specific tags, e.g. ''{1}''", "access=designated", "bicycle=designated");
  assertMatch: "way access=designated";
}
*[access=official] {
  throwWarning: tr("''{0}'' does not specify the official mode of transportation, use ''{1}'' for example", "access=official", "bicycle=official");
  assertMatch: "way access=official";
}

/* see #10085 - give warning for fixme=yes */
*[fixme=yes], *[FIXME=yes] {
  throwWarning: tr("{0}={1} is unspecific. Instead of ''{1}'' please give more information about what exactly should be fixed.", "{0.key}", "{0.value}");
  assertMatch: "way fixme=yes";
}

/* see #10107, #10108 - http://wiki.openstreetmap.org/wiki/Proposed_features/leaftype#Features.2FPages_affected */
*[wood=deciduous],
*[type=broad_leaved],
*[type=broad_leafed] {
  throwWarning: tr("{0}={1} is deprecated", "{0.key}", "{0.value}");
  fixRemove: "{0.key}";
  fixAdd: "leaf_type=broadleaved";
}

*[wood=coniferous] {
  throwWarning: tr("{0}={1} is deprecated", "{0.key}", "{0.value}");
  fixRemove: "wood";
  fixAdd: "leaf_type=needleleaved";
}

*[wood=mixed] {
  throwWarning: tr("{0}={1} is deprecated", "{0.key}", "{0.value}");
  fixRemove: "wood";
  fixAdd: "leaf_type=mixed";
}

*[wood=evergreen],
*[type=evergreen] {
  throwWarning: tr("{0}={1} is deprecated", "{0.key}", "{0.value}");
  fixRemove: "{0.key}";
  fixAdd: "leaf_cycle=evergreen";
}

*[type=deciduous],
*[type=deciduos] {
  throwWarning: tr("{0}={1} is deprecated", "{0.key}", "{0.value}");
  fixRemove: "type";
  fixAdd: "leaf_cycle=deciduous";
}

*[natural=land] {
  throwWarning: tr("{0}={1} is deprecated. Please use instead a multipolygon.", "{0.key}", "{0.value}");
  assertMatch: "way natural=land";
}

/* see #10447 - https://wiki.openstreetmap.org/wiki/Proposed_features/Bridge_types#Deprecated_bridge_key_values */
*[bridge=causeway] {
  throwWarning: tr("{0}={1} is deprecated", "{0.key}", "{0.value}");
  suggestAlternative: "ford=yes";
  suggestAlternative: "bridge=low_water_crossing";
  suggestAlternative: "embankment=yes";
}

*[bridge=swing] {
  throwWarning: tr("{0}={1} is deprecated", "{0.key}", "{0.value}");
  suggestAlternative: "bridge:movable=swing";
  suggestAlternative: "bridge:structure=simple-suspension";
}

*[bridge=suspension] {
  throwWarning: tr("{0}={1} is deprecated", "{0.key}", "{0.value}");
  fixAdd: "bridge=yes";
  fixAdd: "bridge:structure=suspension";
}

/* See #10582 - JOSM supported this tag as "don't upload this" feature, before the introduction of upload flag at layer level */
*[/josm\/ignore/] {
  throwError: tr("{0} is deprecated. Please delete this object and use a private layer instead", "{0.key}");
  fixDeleteObject: this;
}
