Upcoming breaking changes - v4.1.0
# Intro 

This is to provide some advanced warning for some breaking changes slated for v4.1.0

Currently all the breaking changes are in the `/v4/launches` endpoint, and are schema changes to support additional data going forward.

# Changes

## Launches - Fairings

Old format:

```json
{
  "fairings": {
    "reused": false,
    "recovery_attempt": true,
    "recovered": true,
    "ships": [
      "5ea6ed2e080df4000697c908",
      "5ea6ed2f080df4000697c90c"
    ]
  }
}
```

This doesn't account for individual fairing half recoveries, or reuse tracking per half. Moving forward, fairings will be tracked in an endpoint similar to how cores, capsules, etc... are tracked currently. 

New format:

```json
{
  "fairings": [
    {
      "fairing": "5ea6ed30080df4000697c913",
      "flight": 3,
      "reused": true,
      "net_attempt": true,
      "net_landing": true,
      "water_attempt": false,
      "water_landing": false,
      "recovered": true,
      "ships": [
        "5ea6ed2f080df4000697c90d"
      ]
    },
    {
      "fairing": "6e46ed30080df4781697c913",
      "flight": 3,
      "reused": true,
      "net_attempt": true,
      "net_landing": true,
      "water_attempt": false,
      "water_landing": false,
      "recovered": true,
      "ships": [
        "5ea6ed30080df4000697c913"
      ]
    }
  ]
}
```

## Launches - Crew

The current crew implementation doesn't allow for launch specific information like mission role, or other info that could vary from launch to launch.

Old format:

```json
{
  "crew": [
    "5fe3c587b3467846b3242198",
    "5fe3c5beb3467846b3242199",
    "5fe3c5f6b3467846b324219a"
  ]
}
```

New format:

```json
{
  "crew": [
    {
      "crew": "5fe3c587b3467846b3242198",
      "role": "Commander"
    },
    {
      "crew": "5fe3c5beb3467846b3242199",
      "role": "Pilot"
    },
    {
      "crew": "5fe3c5f6b3467846b324219a",
      "role": "Mission Specialist 1"
    }
  ]
}
```