| Country | Contributions | Between | Climbers | Crags | Summits | Climbs | Ascents | |
|---|---|---|---|---|---|---|---|---|
| 1 | USA | 1526 | 20th November 2025 – 4th November 2026 | 48 | 20 | 0 | 88 | 98 |
| 2 | Australia | 767 | 27th September 2025 – 29th June 2026 | 6 | 38 | 0 | 61 | 33 |
| 3 | United Kingdom | 625 | 19th November 2025 – 4th November 2026 | 34 | 14 | 0 | 24 | 49 |
| 4 | Switzerland | 308 | 24th January 2026 – 4th November 2026 | 6 | 3 | 0 | 14 | 38 |
| 5 | France | 300 | 6th January 2026 – 4th November 2026 | 15 | 3 | 0 | 12 | 34 |
| 6 | Austria | 210 | 12th November 2025 – 22nd June 2026 | 5 | 2 | 0 | 8 | 22 |
| 7 | Italy | 163 | 18th November 2025 – 2nd November 2026 | 9 | 3 | 0 | 12 | 12 |
| 8 | Pakistan | 118 | 11th April 2026 – 26th April 2026 | 0 | 0 | 0 | 1 | 7 |
| 9 | Spain | 105 | 20th February 2026 – 16th May 2026 | 5 | 0 | 0 | 10 | 11 |
| 10 | Germany | 103 | 3rd February 2026 – 26th June 2026 | 7 | 0 | 0 | 7 | 10 |
| Date | Time | User | Type | Name | Attribute | ||
|---|---|---|---|---|---|---|---|
| 2701 | 4th May 2026 | 01:22:20 UTC | ben_sandi | climb | Uncertainty | crag_name | |
|
Before
None
After
221
|
|||||||
| 2702 | 4th May 2026 | 01:22:20 UTC | ben_sandi | climb | Uncertainty | crag_id | |
|
Before
None
After
34231
|
|||||||
| 2703 | 4th May 2026 | 01:22:05 UTC | ben_sandi | climb | Severed Arm | crag_name | |
|
Before
None
After
221
|
|||||||
| 2704 | 4th May 2026 | 01:22:05 UTC | ben_sandi | climb | Severed Arm | crag_id | |
|
Before
None
After
34231
|
|||||||
| 2705 | 4th May 2026 | 01:21:50 UTC | ben_sandi | climb | Saddle on a Mustang | crag_name | |
|
Before
None
After
221
|
|||||||
| 2706 | 4th May 2026 | 01:21:50 UTC | ben_sandi | climb | Saddle on a Mustang | crag_id | |
|
Before
None
After
34231
|
|||||||
| 2707 | 4th May 2026 | 01:21:40 UTC | ben_sandi | climb | Morphine | crag_name | |
|
Before
None
After
221
|
|||||||
| 2708 | 4th May 2026 | 01:21:40 UTC | ben_sandi | climb | Morphine | crag_id | |
|
Before
None
After
34231
|
|||||||
| 2709 | 4th May 2026 | 01:21:28 UTC | ben_sandi | climb | Cradle to the Grave | crag_name | |
|
Before
None
After
221
|
|||||||
| 2710 | 4th May 2026 | 01:21:28 UTC | ben_sandi | climb | Cradle to the Grave | crag_id | |
|
Before
None
After
34231
|
|||||||
| 2711 | 4th May 2026 | 01:21:10 UTC | ben_sandi | climb | Afterlife | crag_name | |
|
Before
None
After
221
|
|||||||
| 2712 | 4th May 2026 | 01:21:10 UTC | ben_sandi | climb | Afterlife | crag_id | |
|
Before
None
After
34231
|
|||||||
| 2713 | 4th May 2026 | 01:20:51 UTC | ben_sandi | crag | 221 | eight_a_nu_url | |
|
Before
None
After
https://www.8a.nu/crags/bouldering/united-states/221
Diff
--- before
|
|||||||
| 2714 | 4th May 2026 | 01:20:38 UTC | ben_sandi | crag | 221 | Website | |
|
Before
None
After
https://kaya-app.kayaclimb.com/location/221-14492844
|
|||||||
| 2715 | 4th May 2026 | 01:20:23 UTC | ben_sandi | crag | 221 | crag_name | |
|
Before
None
After
221
|
|||||||
| 2716 | 4th May 2026 | 01:15:40 UTC | ben_sandi | crag | Vat Burn | longitude | |
|
Before
None
After
-2.9558
|
|||||||
| 2717 | 4th May 2026 | 01:15:40 UTC | ben_sandi | crag | Vat Burn | latitude | |
|
Before
None
After
57.0874
|
|||||||
| 2718 | 3rd May 2026 | 18:10:33 UTC | ben_sandi | list | Climbs Without a Crag | list_definition | |
|
Before
select
'<a href="' || c.url || '">' || c.climb_name || '</a>' as Climb
,g.grade || ' ' || ct.climb_type as Grade
,case
when c.eight_a_nu_url is not null then '<a href="' || c.eight_a_nu_url || '">8a.nu</a>'
else null
end as "8a.nu"
,case when c.eight_a_nu_url is not null then
'<a href="' ||
substring(c.eight_a_nu_url from '^(.+)/sectors/') ||
'">' ||
initcap(replace(split_part(c.eight_a_nu_url, '/', 7), '-', ' ')) ||
'</a>'
else null
end as "8a.nu Crag"
,case when c.eight_a_nu_url is not null then
'<a href="' ||
substring(c.eight_a_nu_url from '^(.+)/sectors/') ||
'/routes?sector=' ||
split_part(c.eight_a_nu_url, '/', 9) ||
'">' ||
initcap(replace(split_part(c.eight_a_nu_url, '/', 9), '-', ' ')) ||
'</a>'
else null
end as "8a.nu Sector"
,case
when w.thecrag_url is not null then '<a href="' || w.thecrag_url || '">thecrag.com</a>'
else null
end as "theCrag"
,case
when w.mountain_project_url is not null then '<a href="' || w.mountain_project_url || '">Mountain Project</a>'
else null
end as "Mountain Project"
from
climbs c
inner join grades g
on c.grade_id = g.grade_id
inner join climb_types ct
on c.climb_type_id = ct.climb_type_id
left join (
select
cm.climb_id
,max(case when cm.value ilike '%thecrag.com%' then cm.value end) as thecrag_url
,max(case when cm.value ilike '%mountainproject.com%' then cm.value end) as mountain_project_url
from
climb_meta cm
where
cm.climb_meta_key_id = 30
group by
cm.climb_id
) w
on w.climb_id = c.climb_id
where
c.deleted_on is null
and c.crag_id is null
order by
c.climb_name
After
select
'<a href="' || c.url || '">' || c.climb_name || '</a>' as Climb
,g.grade || ' ' || ct.climb_type as Grade
,case
when c.eight_a_nu_url is not null then '<a href="' || c.eight_a_nu_url || '">8a.nu</a>'
else null
end as "8a.nu"
,case
when c.eight_a_nu_url is not null then
'<a href="' ||
substring(c.eight_a_nu_url from '^(.+)/sectors/') ||
'">' ||
initcap(replace(split_part(c.eight_a_nu_url, '/', 7), '-', ' ')) ||
'</a>'
else null
end as "8a.nu Crag"
,case
when c.eight_a_nu_url is not null then
'<a href="' ||
substring(c.eight_a_nu_url from '^(.+)/sectors/') ||
'/routes?sector=' ||
split_part(c.eight_a_nu_url, '/', 9) ||
'">' ||
initcap(replace(split_part(c.eight_a_nu_url, '/', 9), '-', ' ')) ||
'</a>'
else null
end as "8a.nu Sector"
,case
when w.thecrag_url is not null then '<a href="' || w.thecrag_url || '">thecrag.com</a>'
else null
end as "theCrag"
,case
when w.crags27_url is not null then '<a href="' || w.crags27_url || '">27crags</a>'
else null
end as "27crags"
from
climbs c
inner join grades g
on c.grade_id = g.grade_id
inner join climb_types ct
on c.climb_type_id = ct.climb_type_id
left join (
select
cm.climb_id
,max(case when cm.value ilike '%thecrag.com%' then cm.value end) as thecrag_url
,max(
case
when cm.value ilike '%27crags.com%'
or cm.value ilike '%thetopo.com%'
then cm.value
end
) as crags27_url
from
climb_meta cm
where
cm.climb_meta_key_id = 30
group by
cm.climb_id
) w
on w.climb_id = c.climb_id
where
c.deleted_on is null
and c.crag_id is null
order by
c.climb_name
Diff
--- before
|
|||||||
| 2719 | 2nd May 2026 | 22:16:40 UTC | ben_sandi | ascent | Nalle Hukkataival's ascent of Wave Swoop | notes_pretty | |
|
Before
<h3>References</h3>
<p>[1] [1] <a href="https://youtu.be/pj02Dk4zayU?t=340">https://youtu.be/pj02Dk4zayU?t=340</a></p>
After
<h3>References</h3>
<p>[1] <a href="https://youtu.be/pj02Dk4zayU?t=340" rel="noopener noreferrer">https://youtu.be/pj02Dk4zayU?t=340</a></p>
|
|||||||
| 2720 | 2nd May 2026 | 22:16:40 UTC | ben_sandi | ascent | Nalle Hukkataival's ascent of Wave Swoop | notes | |
|
Before
### References
[1] [1] [https://youtu.be/pj02Dk4zayU?t=340](https://youtu.be/pj02Dk4zayU?t=340)
After
### References
[1] [https://youtu.be/pj02Dk4zayU?t=340](https://youtu.be/pj02Dk4zayU?t=340)
Diff
--- before
|
|||||||