diff --git a/src/main.rs b/src/main.rs
index ebc1957..0a557ad 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -394,13 +394,21 @@ async fn download_history(config:DownloadHistoryConfig)->AResult<()>{
 				Ok::<_,anyhow::Error>(())
 			}));
 		}
-		asset_list.append(&mut page.data);
 		if page.nextPageCursor.is_none()||cancel_paging{
+			for asset_version in page.data.into_iter(){
+				if config.start_version<=asset_version.assetVersionNumber{
+					asset_list.push(asset_version);
+				}
+			}
 			break;
+		}else{
+			asset_list.append(&mut page.data);
 		}
 		cursor=page.nextPageCursor;
 	}
 
+	asset_list.sort_by(|a,b|a.assetVersionNumber.cmp(&b.assetVersionNumber));
+
 	let mut path=config.output_folder.clone();
 	path.set_file_name("versions.json");
 	tokio::fs::write(path,serde_json::to_string(&asset_list)?).await?;