@@ -17,6 +17,7 @@ const {
1717 parseSemVer,
1818 semverIsNewer,
1919 releaseNotesProvider,
20+ showReleaseNotes,
2021} = require ( "./utils/utils" ) ;
2122const fs = require ( "fs" ) ;
2223const Path = require ( "path" ) ;
@@ -48,6 +49,7 @@ function cloneNonExistingSubProperties(obj) {
4849 } ;
4950}
5051
52+ /** @returns {MidasConfig } */
5153const sanitize_config = ( cfg ) => {
5254 return JSON . parse ( JSON . stringify ( cfg , cloneNonExistingSubProperties ( default_config_contents ( ) ) ) ) ;
5355} ;
@@ -176,25 +178,13 @@ class MidasAPI {
176178 }
177179 }
178180
179- async notifyUserOfBreakingChanges ( ) {
181+ maybeDisplayReleaseNotes ( ) {
180182 let cfg = sanitize_config ( this . get_config ( ) ) ;
181- const recorded_semver = parseSemVer ( cfg . midas_version ) ;
182- const new_changes = ( semver ) => {
183- return semverIsNewer ( semver , recorded_semver ) ;
184- } ;
185- if ( breaking_changes . some ( new_changes ) ) {
186- // eslint-disable-next-line max-len
187- const list = breaking_changes . filter ( semver => semverIsNewer ( semver , recorded_semver ) ) . map ( sem => `- ${ sem . major } .${ sem . minor } .${ sem . patch } ` ) . join ( "\n" ) ;
188- // eslint-disable-next-line max-len
189- const detail = `Some breaking changes has been introduced in recent versions.\nBe sure to read the NEWS section in the README, to see what has changed.\n\nVersions that introduced breaking changes:\n ${ list } ` ;
190- vscode . window . showWarningMessage ( "Midas: Breaking changes" , { detail : detail , modal : true } , "Show readme" ) . then ( async res => {
191- if ( res == "Show readme" ) {
192- const doc = await vscode . workspace . openTextDocument ( getExtensionPathOf ( "README.md" ) ) ;
193- await vscode . window . showTextDocument ( doc , { preview : true } ) ;
194- }
195- } )
183+ const recordedSemVer = parseSemVer ( cfg . midas_version ) ;
184+ const currentlyLoadedSemVer = parseSemVer ( this . #context. extension . packageJSON [ "version" ] ) ;
185+ if ( semverIsNewer ( currentlyLoadedSemVer , recordedSemVer ) ) {
186+ showReleaseNotes ( ) ;
196187 }
197- cfg . midas_version = this . #context. extension . packageJSON [ "version" ] ;
198188 }
199189
200190 /** @param { MidasConfig } cfg */
@@ -252,7 +242,7 @@ class MidasAPI {
252242 /**
253243 * Write Midas version to config file
254244 */
255- write_midas_version ( ) {
245+ serializeMidasVersion ( ) {
256246 let cfg = sanitize_config ( this . get_config ( ) ) ;
257247 cfg . midas_version = this . #context. extension . packageJSON [ "version" ] ;
258248 this . #write_config( cfg ) ;
@@ -446,8 +436,8 @@ async function init_midas(api) {
446436 }
447437 }
448438 api . setup_env_vars ( ) ;
449- await api . notifyUserOfBreakingChanges ( ) ;
450- api . write_midas_version ( ) ;
439+ api . maybeDisplayReleaseNotes ( ) ;
440+ api . serializeMidasVersion ( ) ;
451441}
452442
453443function registerMidasType ( context ) {
@@ -503,8 +493,6 @@ async function activateExtension(context) {
503493
504494function deactivateExtension ( ) { }
505495
506- const breaking_changes = [ { major : 0 , minor : 19 , patch : 0 } ] ;
507-
508496module . exports = {
509497 activateExtension,
510498 deactivateExtension,
0 commit comments