Change record status: 
Project: 
Introduced in branch: 
3.3.x
Introduced in version: 
3.3.0
Description: 

Before

    $membership = $this->group->getMember($this->account)->getGroupRelationship();

    // Adding a role.
    $membership->group_roles[] = $individual_role->id();
    $membership->save();

    // Removing a role.
    foreach ($membership->group_roles as $key => $group_role_ref) {
      if ($group_role_ref->target_id === $individual_role->id()) {
        $membership->group_roles->removeItem($key);
      }
    }
    $membership->save();

After:

    $membership = $this->group->getMember($this->account);

    // Adding a role.
    $membership->addRole($individual_role->id());

    // Removing a role.
    $membership->removeRole($individual_role->id());

Keep in mind, getMember() still returns a GroupMembership wrapper for now, but the code above will keep working once that's removed in favor of shared bundle classes. See https://www.drupal.org/node/3383363

Impacts: 
Module developers