@@ -850,7 +850,7 @@ define([
850850 throw new Error ( 'Error' , response ) ;
851851 }
852852 } ) . then ( function ( data ) {
853- resolve ( data . info . version ) ;
853+ resolve ( data . info . version , data . releases ) ;
854854 } ) . catch ( function ( err ) {
855855 let errMsg = err . message ;
856856 if ( errMsg . includes ( 'Failed to fetch' ) ) {
@@ -910,11 +910,27 @@ define([
910910 packageName = 'jupyterlab-visualpython' ;
911911 }
912912 this . getPackageVersion ( packageName ) . then ( function ( latestVersion ) {
913- if ( nowVersion === latestVersion ) {
913+ let showUpdater = false ;
914+ if ( nowVersion !== latestVersion ) {
915+ let nowVerParts = nowVersion . split ( '.' ) . map ( x => ~ ~ x ) ;
916+ let latVerParts = latestVersion . split ( '.' ) . map ( x => ~ ~ x ) ;
917+ if ( packageName === 'visualpython' ) {
918+ // show updater only for notebook extension (for v2.5.0)
919+ for ( var i = 0 ; i < nowVerParts . length ; i ++ ) {
920+ const a = nowVerParts [ i ] ;
921+ const b = latVerParts [ i ] ;
922+ if ( a < b ) {
923+ showUpdater = true ;
924+ break ;
925+ }
926+ }
927+ }
928+ }
929+ if ( showUpdater === false ) {
914930 // if it's already up to date
915931 // hide version update icon
916932 $ ( '#vp_versionUpdater' ) . hide ( ) ;
917- if ( background ) {
933+ if ( background === true ) {
918934 ;
919935 } else {
920936 let msg = com_util . formatString ( 'Visual Python is up to date. ({0})' , latestVersion ) ;
0 commit comments