@@ -566,6 +566,7 @@ pub fn fetch_versions() -> Result<Vec<Version>, Error> {
566566 struct Release {
567567 #[ serde( rename = "name" , deserialize_with = "version_deserializer" ) ]
568568 version : Version ,
569+ draft : bool ,
569570 }
570571
571572 fn version_deserializer < ' de , D > ( deserializer : D ) -> Result < Version , D :: Error >
@@ -577,13 +578,20 @@ pub fn fetch_versions() -> Result<Vec<Version>, Error> {
577578 }
578579
579580 let response = reqwest:: blocking:: Client :: new ( )
580- . get ( "https://api.github.com/repos/coral-xyz/anchor/tags" )
581- . header ( USER_AGENT , "avm https://github.com/coral-xyz/anchor" )
581+ . get ( "https://api.github.com/repos/solana-foundation/anchor/releases" )
582+ . header (
583+ USER_AGENT ,
584+ "avm https://github.com/solana-foundation/anchor" ,
585+ )
582586 . send ( ) ?;
583587
584588 if response. status ( ) . is_success ( ) {
585589 let releases: Vec < Release > = response. json ( ) ?;
586- let versions = releases. into_iter ( ) . map ( |r| r. version ) . collect ( ) ;
590+ let versions = releases
591+ . into_iter ( )
592+ . filter ( |r| !r. draft )
593+ . map ( |r| r. version )
594+ . collect ( ) ;
587595 Ok ( versions)
588596 } else {
589597 let reset_time_header = response
@@ -607,8 +615,7 @@ pub fn list_versions() -> Result<()> {
607615 let mut installed_versions = read_installed_versions ( ) ?;
608616
609617 let mut available_versions = fetch_versions ( ) ?;
610- // Reverse version list so latest versions are printed last
611- available_versions. reverse ( ) ;
618+ available_versions. sort ( ) ;
612619
613620 let print_versions =
614621 |versions : Vec < Version > , installed_versions : & mut Vec < Version > , show_latest : bool | {
0 commit comments