Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
### 3.1.0 (Next)

* [#110](https://github.com/dblock/strava-ruby-client/pull/110): Removes `club_activities`, `club_members`, and `club_admins`, which Strava retired on September 1, 2026 - [@dblock](https://github.com/dblock), [@Copilot](https://github.com/apps/copilot-swe-agent).
* [#100](https://github.com/dblock/strava-ruby-client/pull/100): Adds comprehensive rdoc documentation - [@dblock](https://github.com/dblock).
* [#103](https://github.com/dblock/strava-ruby-client/pull/103): Migrate Danger to use the `danger-pr-comment` reusable workflow - [@dblock](https://github.com/dblock), [@Copilot](https://github.com/apps/copilot-swe-agent).
* [#104](https://github.com/dblock/strava-ruby-client/pull/104): Fixes `Danger Comment` workflow failing with a `contents: none` permissions error - [@dblock](https://github.com/dblock).
Expand Down
43 changes: 1 addition & 42 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,11 +28,8 @@ Unlike other clients, including [strava-api-v3](https://github.com/jaredholdcrof
- [Get Athlete Stats](#get-athlete-stats)
- [Update Athlete](#update-athlete)
- [Clubs](#clubs)
- [List Club Activities](#list-club-activities)
- [List Club Events](#list-club-events)
- [List Club Administrators](#list-club-administrators)
- [Get Club](#get-club)
- [List Club Members](#list-club-members)
- [List Athlete Clubs](#list-athlete-clubs)
- [Gears](#gears)
- [Get Equipment](#get-equipment)
Expand Down Expand Up @@ -383,19 +380,7 @@ See [Strava::Models::DetailedAthlete](lib/strava/models/detailed_athlete.rb) for

### Clubs

#### List Club Activities

Retrieve recent activities from members of a specific club.

```ruby
activities = client.club_activities(108605) # => Array[Strava::Models::ClubActivity]

activity = activities.first # => Strava::Models::ClubActivity

activity.name # => 'Afternoon Run'
```

See [Strava::Models::ClubActivity](lib/strava/models/club_activity.rb) for all available properties. Note that Strava does not return activity or athlete ID via this API.
Strava removed the Club Activities, Club Members, and Club Admins endpoints on September 1, 2026 (see the [Strava API changelog](https://developers.strava.com/docs/changelog/)). The corresponding `club_activities`, `club_members`, and `club_admins` methods have been removed from this gem.

#### List Club Events

Expand All @@ -411,19 +396,6 @@ event.title # => 'First Group Event Ever! Yippieh!'

See [Strava::Models::ClubEvent](lib/strava/models/club_event.rb) for all available properties.

#### List Club Administrators

Returns a list of the administrators of a given club.

```ruby
admins = client.club_admins(108605) # => Array[Strava::Models::ClubAthlete]

admin = admins.first # => Strava::Models::ClubAthlete
admin.name # => 'Peter Ciaccia'
```

See [Strava::Models::ClubAthlete](lib/strava/models/club_athlete.rb) for all available properties.

#### Get Club

Returns a given club using its identifier.
Expand All @@ -436,19 +408,6 @@ club.name # => 'NYRR'

See [Strava::Models::DetailedClub](lib/strava/models/detailed_club.rb) for all available properties.

#### List Club Members

Returns a list of the members of a given club.

```ruby
members = client.club_members(108605) # => Array[Strava::Models::ClubAthlete]

member = members.first # => Strava::Models::ClubAthlete
member.name # => 'Peter Ciaccia'
```

See [Strava::Models::ClubAthlete](lib/strava/models/club_athlete.rb) for all available properties.

#### List Athlete Clubs

Returns a list of the clubs whose membership includes the authenticated athlete.
Expand Down
9 changes: 9 additions & 0 deletions UPGRADING.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
# Upgrading Strava-Ruby-Client

### Upgrading to >= 3.1.0

Strava removed the Club Activities, Club Members, and Club Admins API endpoints on September 1, 2026 (see the [Strava API changelog](https://developers.strava.com/docs/changelog/)). As a result:

- `club_activities`, `club_members`, and `club_admins` methods were removed from `Strava::Client`
- `Strava::Models::ClubActivity` and `Strava::Models::ClubAthlete` were removed

`club`, `club_events`, and `athlete_clubs` are unaffected and continue to work.

### Upgrading to >= 3.0.0

The 3.0 version introduces numerous improvements along with several *breaking changes*.
Expand Down
2 changes: 0 additions & 2 deletions lib/strava-ruby-client.rb
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,6 @@
require_relative 'strava/models/activity_total'
require_relative 'strava/models/activity_zone'
require_relative 'strava/models/base_stream'
require_relative 'strava/models/club_activity'
require_relative 'strava/models/club_athlete'
require_relative 'strava/models/club_event'
require_relative 'strava/models/comment'
require_relative 'strava/models/destination'
Expand Down
52 changes: 5 additions & 47 deletions lib/strava/api/endpoints/clubs.rb
Original file line number Diff line number Diff line change
Expand Up @@ -7,31 +7,15 @@ module Endpoints
# API endpoints for Strava clubs.
#
# Clubs represent groups of athletes on Strava. Club API endpoints allow
# you to retrieve club information, list club members and administrators,
# and view recent club activities and events.
# you to retrieve club information and view recent club events.
#
# Note: the Club Activities, Club Members, and Club Admins endpoints were
# removed by Strava on September 1, 2026.
#
# @see https://developers.strava.com/docs/reference/#api-Clubs
# @see https://developers.strava.com/docs/changelog/
#
module Clubs
#
# List club activities.
#
# @param id_or_options [String, Integer, Hash] Either a club ID or a hash of options including :id
# @param options [Hash] Additional options (if first parameter is an ID)
# @option options [Integer] :page Page number
# @option options [Integer] :per_page Number of items per page. Defaults to 30
#
# @example With ID and options as separate arguments
# client.club_activities('12345', per_page: 10)
#
# @example With ID in options hash
# client.club_activities(id: '12345', per_page: 10)
#
def club_activities(id_or_options, options = {}, &block)
id, options = parse_args(id_or_options, options)
paginate "clubs/#{id}/activities", options, Strava::Models::ClubActivity, &block
end

#
# List club / group events.
#
Expand All @@ -45,19 +29,6 @@ def club_events(id_or_options, options = {}, &block)
paginate "clubs/#{id}/group_events", options, Strava::Models::ClubEvent, &block
end

#
# List club administrators.
#
# @param id_or_options [String, Integer, Hash] Either a club ID or a hash of options including :id
# @param options [Hash] Additional options (if first parameter is an ID)
# @option options [Integer] :page Page number
# @option options [Integer] :per_page Number of items per page. Defaults to 30
#
def club_admins(id_or_options, options = {}, &block)
id, options = parse_args(id_or_options, options)
paginate "clubs/#{id}/admins", options, Strava::Models::ClubAthlete, &block
end

#
# Get club.
#
Expand All @@ -69,19 +40,6 @@ def club(id_or_options, options = {})
Strava::Models::DetailedClub.new(get("clubs/#{id}", options))
end

#
# List club members.
#
# @param id_or_options [String, Integer, Hash] Either a club ID or a hash of options including :id
# @param options [Hash] Additional options (if first parameter is an ID)
# @option options [Integer] :page Page number
# @option options [Integer] :per_page Number of items per page. Defaults to 30
#
def club_members(id_or_options, options = {}, &block)
id, options = parse_args(id_or_options, options)
paginate "clubs/#{id}/members", options, Strava::Models::ClubAthlete, &block
end

#
# List logged-in athlete clubs.
#
Expand Down
47 changes: 0 additions & 47 deletions lib/strava/models/club_activity.rb

This file was deleted.

53 changes: 0 additions & 53 deletions lib/strava/models/club_athlete.rb

This file was deleted.

Loading
Loading