diff --git a/docs/FEATURES.md b/docs/FEATURES.md
index 93582823d5..70f7b5ac1d 100644
--- a/docs/FEATURES.md
+++ b/docs/FEATURES.md
@@ -1,32 +1,75 @@
-# Discovery of component in feeds
+# Discovery of features in feeds
-The validator will produce the [list of components](https://docs.google.com/spreadsheets/d/1kpbKOzlHtsJIPo3B4ABYu-Nxwvqutjcdcvgpa0wZvtA) that it finds in the processed feed according to this table:
+The validator will produce the [list of features](https://gtfs.org/getting_started/features/overview/) that it finds in the processed feed according to this table:
-| Component | Feature | How is the presence of a feature determined (minimum requirements) |
-|--------------------------|---------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
-| Accessibility | Text-to-speech | One **tts_stop_name** value in [stops.txt](https://gtfs.org/schedule/reference/#stopstxt) |
-| Accessibility | Wheelchair accessibility | One **wheelchair_accessible** value in [trips.txt](https://gtfs.org/schedule/reference/#tripstxt)
OR
one **wheelchair_boarding** value in [stops.txt](https://gtfs.org/schedule/reference/#stopstxt) |
-| Accessibility | Route Colors | One **color** value
OR
one text_color value in [routes.txt](https://gtfs.org/schedule/reference/#routestxt) |
-| Accessibility | Bike Allowed | One **bikes_allowed** value in [trips.txt](https://gtfs.org/schedule/reference/#tripstxt) |
-| Accessibility | Translations | One line of data in [translations.txt](https://gtfs.org/schedule/reference/#translationstxt) |
-| Accessibility | Headsigns | One **trip_headsign** in [trips.txt](https://gtfs.org/schedule/reference/#tripstxt)
OR
one stop_headsign value in [stop_times.txt](https://gtfs.org/schedule/reference/#stop_timestxt) |
-| Fares | Fare Products | One line of data in [fare_products.txt](https://gtfs.org/schedule/reference/#fare_productstxt) |
-| Fares | Fare Media | One line of data in [fare_media.txt](https://gtfs.org/schedule/reference/#fare_mediatxt) |
-| Fares | Route-Based Fares | One **network_id** value in [routes.txt](https://gtfs.org/schedule/reference/#routestxt)
OR
one line of data in [networks..txt](https://gtfs.org/schedule/reference/#networkstxt) |
-| Fares | Time-Based Fares | One line of data in [timeframes.txt](https://gtfs.org/schedule/reference/#timeframestxt) |
-| Fares | Zone-Based Fares | One line of data in [areas.txt](https://gtfs.org/schedule/reference/#areastxt) |
-| Fares | Transfer Fares | One line of data in [fare_transfer_rules.txt](https://gtfs.org/schedule/reference/#fare_transfer_rulestxt) |
-| Fares | Fares V1 | One line of data in [fare_attributes.txt](https://gtfs.org/schedule/reference/#fare_attributestxt) |
-| Pathways | Pathways (basic)* | One line of data in [pathways.txt](https://gtfs.org/schedule/reference/#pathwaystxt) |
-| Pathways | Pathways (extra)* | One value of **max_slope**
OR
**min_width**
OR
**length**
OR
**stair_count** in [pathways.txt](https://gtfs.org/schedule/reference/#pathwaystxt) |
-| Pathways | Levels | One line of data in [levels.txt](https://gtfs.org/schedule/reference/#levelstxt) |
-| Pathways | In-station traversal time | One **traversal_time** value in [pathways.txt](https://gtfs.org/schedule/reference/#pathwaystxt) |
-| Pathways | Pathways directions | One **signposted_as** value
AND
one **reversed_signposted_as** in [pathways.txt](https://gtfs.org/schedule/reference/#pathwaystxt) |
-| Pathways | Location types | One **location_type** value in [stops.txt](https://gtfs.org/schedule/reference/#stopstxt) |
-| Metadata | Feed Information | One line of data in [feed_info.txt](https://gtfs.org/schedule/reference/#feed_infotxt) |
-| Metadata | Attributions | One line of data in [attributions.txt](https://gtfs.org/schedule/reference/#attributionstxt) |
-| Flexible Services | Continuous Stops | One **continuous_dropoff** value in [routes.txt](https://gtfs.org/schedule/reference/#routestxt)
OR
one **continuous_pickup** value in [routes.txt](https://gtfs.org/schedule/reference/#routestxt)
OR
one **continuous_dropoff** value in [stop_times.txt](https://gtfs.org/schedule/reference/#stop_timestxt)
OR
one **continuous_pickup** value in [stop_times.txt](https://gtfs.org/schedule/reference/#stop_timestxt) |
-| Shapes | Shapes | One line of data in [shapes.txt](https://gtfs.org/schedule/reference/#shapestxt) |
-| Transfers | Transfers | One line of data in [transfers.txt](https://gtfs.org/schedule/reference/#transferstxt) |
-| Frequency-based Services | Frequencies | One line of data in [frequencies.txt](https://gtfs.org/schedule/reference/#frequenciestxt) |
+| Feature Group | Feature | How is the presence of a feature determined (minimum requirements) | Documentation Link |
+|--------------------------|---------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---|
+| Accessibility | Text-to-speech | One **tts_stop_name** value in [stops.txt](https://gtfs.org/schedule/reference/#stopstxt) | https://gtfs.org/getting_started/features/accessibility/#text-to-speech |
+| Accessibility | Stops Wheelchair Accessibility | One **wheelchair_boarding** value in [stops.txt](https://gtfs.org/documentation/schedule/reference/#stopstxt) | https://gtfs.org/getting_started/features/accessibility/#stops-wheelchair-accessibility |
+| Accessibility | Trips Wheelchair Accessibility | One **wheelchair_accessible** value in [trips.txt](https://gtfs.org/documentation/schedule/reference/#tripstxt) | https://gtfs.org/getting_started/features/accessibility/#trips-wheelchair-accessibility |
+| Base add-ons | Route Colors | One **color** value
OR
one text_color value in [routes.txt](https://gtfs.org/schedule/reference/#routestxt) | https://gtfs.org/getting_started/features/base_add-ons/#route-colors |
+| Base add-ons | Bike Allowed | One **bikes_allowed** value in [trips.txt](https://gtfs.org/schedule/reference/#tripstxt) | https://gtfs.org/getting_started/features/base_add-ons/#bike-allowed|
+| Base add-ons | Translations | One line of data in [translations.txt](https://gtfs.org/schedule/reference/#translationstxt) | https://gtfs.org/getting_started/features/base_add-ons/#translations |
+| Base add-ons | Headsigns | One **trip_headsign** in [trips.txt](https://gtfs.org/schedule/reference/#tripstxt)
OR
one stop_headsign value in [stop_times.txt](https://gtfs.org/schedule/reference/#stop_timestxt) | https://gtfs.org/getting_started/features/base_add-ons/#headsigns |
+| Base add-ons | Location types | One **location_type** value in [stops.txt](https://gtfs.org/schedule/reference/#stopstxt) | https://gtfs.org/getting_started/features/base_add-ons/#location-types |
+| Base add-ons | Feed Information | One line of data in [feed_info.txt](https://gtfs.org/schedule/reference/#feed_infotxt) | https://gtfs.org/getting_started/features/base_add-ons/#feed-information |
+| Base add-ons | Attributions | One line of data in [attributions.txt](https://gtfs.org/schedule/reference/#attributionstxt) | https://gtfs.org/getting_started/features/base_add-ons/#attributions|
+| Base add-ons | Shapes | One line of data in [shapes.txt](https://gtfs.org/schedule/reference/#shapestxt) | https://gtfs.org/getting_started/features/base_add-ons/#shapes |
+| Base add-ons | Transfers | One line of data in [transfers.txt](https://gtfs.org/schedule/reference/#transferstxt) | https://gtfs.org/getting_started/features/base_add-ons/#transfers |
+| Base add-ons | Frequency-Based Service | One line of data in [frequencies.txt](https://gtfs.org/schedule/reference/#frequenciestxt) | https://gtfs.org/getting_started/features/base_add-ons/#frequency-based-service |
+| Fares | Fare Products | One line of data in [fare_products.txt](https://gtfs.org/schedule/reference/#fare_productstxt) | https://gtfs.org/getting_started/features/fares/#fare-products |
+| Fares | Fare Media | One line of data in [fare_media.txt](https://gtfs.org/schedule/reference/#fare_mediatxt) | https://gtfs.org/getting_started/features/fares/#fare-media |
+| Fares | Route-Based Fares | One **network_id** value in [routes.txt](https://gtfs.org/schedule/reference/#routestxt)
OR
one line of data in [networks..txt](https://gtfs.org/schedule/reference/#networkstxt) | https://gtfs.org/getting_started/features/fares/#route-based-fares |
+| Fares | Time-Based Fares | One line of data in [timeframes.txt](https://gtfs.org/schedule/reference/#timeframestxt) | https://gtfs.org/getting_started/features/fares/#time-based-fares |
+| Fares | Zone-Based Fares | One line of data in [areas.txt](https://gtfs.org/schedule/reference/#areastxt) | https://gtfs.org/getting_started/features/fares/#zone-based-fares |
+| Fares | Fare Transfers | One line of data in [fare_transfer_rules.txt](https://gtfs.org/schedule/reference/#fare_transfer_rulestxt) | https://gtfs.org/getting_started/features/fares/#fares-transfers |
+| Fares | Fares V1 | One line of data in [fare_attributes.txt](https://gtfs.org/schedule/reference/#fare_attributestxt) | https://gtfs.org/getting_started/features/fares/#fares-v1 |
+| Pathways | Pathway Connections | One line of data in [pathways.txt](https://gtfs.org/schedule/reference/#pathwaystxt) | https://gtfs.org/getting_started/features/pathways/#pathway-connections |
+| Pathways | Pathway Details | One value of **max_slope**
OR
**min_width**
OR
**length**
OR
**stair_count** in [pathways.txt](https://gtfs.org/schedule/reference/#pathwaystxt) | https://gtfs.org/getting_started/features/pathways/#pathway-details |
+| Pathways | Levels | One line of data in [levels.txt](https://gtfs.org/schedule/reference/#levelstxt) | https://gtfs.org/getting_started/features/pathways/#levels |
+| Pathways | In-station traversal time | One **traversal_time** value in [pathways.txt](https://gtfs.org/schedule/reference/#pathwaystxt) | https://gtfs.org/getting_started/features/pathways/#in-station-traversal-time |
+| Pathways | Pathway Signs | One **signposted_as** value
OR
one **reversed_signposted_as** in [pathways.txt](https://gtfs.org/schedule/reference/#pathwaystxt) | https://gtfs.org/getting_started/features/pathways/#pathway-signs |
+| Flexible Services | Continuous Stops | One **continuous_dropoff** value in [routes.txt](https://gtfs.org/schedule/reference/#routestxt)
OR
one **continuous_pickup** value in [routes.txt](https://gtfs.org/schedule/reference/#routestxt)
OR
one **continuous_dropoff** value in [stop_times.txt](https://gtfs.org/schedule/reference/#stop_timestxt)
OR
one **continuous_pickup** value in [stop_times.txt](https://gtfs.org/schedule/reference/#stop_timestxt) |https://gtfs.org/getting_started/features/flexible_services/#continuous-stop |
+| Flexible Services | Booking Rules | One record in [booking_rules.txt](https://gtfs.org/documentation/schedule/reference/#booking_rulestxt) |https://gtfs.org/getting_started/features/flexible_services/#booking-rules|
+| Flexible Services | Fixed-Stops Demand Responsive Services | One record in [location_groups.txt](https://gtfs.org/documentation/schedule/reference/#location_groupstxt) |https://gtfs.org/getting_started/features/flexible_services/#fixed-stops-demand-responsive-services|
+| Flexible Services | Zone-Based Demand Responsive Services | At least one trip in [stop_times.txt](https://gtfs.org/documentation/schedule/reference/#stop_timestxt) references only **location_id**|https://gtfs.org/getting_started/features/flexible_services/#zone-based-demand-responsive-services|
+| Flexible Services | Predefined Routes with Deviation | At least one trip in [stop_times.txt](https://gtfs.org/documentation/schedule/reference/#stop_timestxt) references **location_id** AND **stop_id** AND **arrival_time** AND **departure_time**|https://gtfs.org/getting_started/features/flexible_services/#predefined-routes-with-deviation|
+
+# Feature migration
+
+Overview of the list of features for each release. Only the releases that affect the list of features are included in this table: if a release number isn't in this table, it means the features were not affected.
+If a feature is dropped from one older release to a newer release; it means it has been replaced by one or more new features.
+
+
+| 6.0 | 5.0 | 4.2 |
+|-----|-----|-----|
+|Text-to-Speech|Text-to-Speech|Text-to-Speech|
+||Wheelchair accessibility|Wheelchair accessibility|
+|Stops Wheelchair Accessibility||
+|Trips Wheelchair Accessibility||
+|Route Colors|Route Colors|Route Colors|
+|Bike Allowed||Bike Allowed|Bike Allowed|
+|Translations|Translations|Translations|
+|Headsigns|Headsigns|Headsigns|
+|Fare Products|Fare Products|Fare Products|
+|Fare Media|Fare Media|Fare Media|
+|Route-Based Fares|Route-Based Fares||
+|Time-Based Fares|Time-Based Fares||
+|Zone-Based Fares|Zone-Based Fares|Zone-Based Fares|
+|Fare Transfers|Transfer Fares||
+|Fares V1|Fares V1|Fares V1|
+|Pathway Connections|Pathways (basic)* |Pathways|
+|Pathway Details|Pathways (extra)* ||
+|Levels|Levels||
+|In-station traversal time|In-station traversal time|In-station traversal time|
+|Pathway Signs|Pathways directions||
+|Location types|Location types|Location types|
+|Feed Information|Feed Information|Feed Information|
+|Attributions|Attributions|Attributions|
+|Continuous Stops|Continuous Stops|Continuous Stops|
+|Shapes|Shapes|Shapes|
+|Transfers|Transfers|Transfers|
+|Frequencies|Frequencies|Frequency-Based Trip|
+|||Route Names|
+|||Agency Information|