@@ -255,35 +255,43 @@ releasesJson=`curl -sH "Authorization: token $GITHUB_TOKEN" "https://api.github.
255255if  [ $?  -ne  0 ];  then  echo  " ERROR: Get Releases Failed! ($? )" ;  exit  1;  fi 
256256
257257set  +e
258- prev_release=$( echo " $releasesJson "   |  jq -e -r ' . | map(select(.draft == false and .prerelease == false)) | sort_by(.created_at | - fromdateiso8601) | .[0].tag_name' ) 
259- prev_any_release=$( echo " $releasesJson "   |  jq -e -r ' . | map(select(.draft == false)) | sort_by(.created_at | - fromdateiso8601)  | .[0].tag_name' ) 
258+ prev_release=$( echo " $releasesJson "   |  jq -e -r " . | map(select(.draft == false and .prerelease == false)) | sort_by(.published_at | - fromdateiso8601) | .[0].tag_name" ) 
259+ prev_any_release=$( echo " $releasesJson "   |  jq -e -r " . | map(select(.draft == false)) | sort_by(.published_at | - fromdateiso8601)  | .[0].tag_name" ) 
260+ prev_branch_release=$( echo " $releasesJson "   |  jq -e -r " . | map(select(.draft == false and .prerelease == false and .target_commitish == \" $RELEASE_BRANCH \" )) | sort_by(.published_at | - fromdateiso8601)  | .[0].tag_name" ) 
261+ prev_branch_any_release=$( echo " $releasesJson "   |  jq -e -r " . | map(select(.draft == false and .target_commitish == \" $RELEASE_BRANCH \" )) | sort_by(.published_at | - fromdateiso8601)  | .[0].tag_name" ) 
260262shopt  -s nocasematch
263+ if  [ " $prev_release "   ==  " $RELEASE_TAG "   ];  then 
264+     prev_release=$( echo " $releasesJson "   |  jq -e -r " . | map(select(.draft == false and .prerelease == false)) | sort_by(.published_at | - fromdateiso8601) | .[1].tag_name" ) 
265+ fi 
261266if  [ " $prev_any_release "   ==  " $RELEASE_TAG "   ];  then 
262-     prev_release=$( echo " $releasesJson "   |  jq -e -r ' . | map(select(.draft == false and .prerelease == false)) | sort_by(.created_at | - fromdateiso8601) | .[1].tag_name' ) 
263-     prev_any_release=$( echo " $releasesJson "   |  jq -e -r ' . | map(select(.draft == false)) | sort_by(.created_at | - fromdateiso8601)  | .[1].tag_name' ) 
267+     prev_any_release=$( echo " $releasesJson "   |  jq -e -r " . | map(select(.draft == false)) | sort_by(.published_at | - fromdateiso8601)  | .[1].tag_name" ) 
268+ fi 
269+ if  [ " $prev_branch_release "   ==  " $RELEASE_TAG "   ];  then 
270+     prev_branch_release=$( echo " $releasesJson "   |  jq -e -r " . | map(select(.draft == false and .prerelease == false and .target_commitish == \" $RELEASE_BRANCH \" )) | sort_by(.published_at | - fromdateiso8601)  | .[1].tag_name" ) 
271+ fi 
272+ if  [ " $prev_branch_any_release "   ==  " $RELEASE_TAG "   ];  then 
273+     prev_branch_any_release=$( echo " $releasesJson "   |  jq -e -r " . | map(select(.draft == false and .target_commitish == \" $RELEASE_BRANCH \" )) | sort_by(.published_at | - fromdateiso8601)  | .[1].tag_name" ) 
264274fi 
265- COMMITS_SINCE_RELEASE=" $prev_any_release " 
266275shopt  -u nocasematch
267276set  -e
268277
278+ echo  " Previous Release: $prev_release " 
279+ echo  " Previous (any)release: $prev_any_release " 
280+ echo 
281+ 
269282#  Merge package JSONs with previous releases
270283if  [ !  -z  " $prev_any_release "   ] &&  [ " $prev_any_release "   !=  " null"   ];  then 
271284    echo  " Merging with JSON from $prev_any_release  ..." 
272285    merge_package_json " $prev_any_release /$PACKAGE_JSON_DEV "   " $OUTPUT_DIR /$PACKAGE_JSON_DEV " 
273286fi 
274287
275288if  [ " $RELEASE_PRE "   ==  " false"   ];  then 
276-     COMMITS_SINCE_RELEASE=" $prev_release " 
277289    if  [ !  -z  " $prev_release "   ] &&  [ " $prev_release "   !=  " null"   ];  then 
278290        echo  " Merging with JSON from $prev_release  ..." 
279291        merge_package_json " $prev_release /$PACKAGE_JSON_REL "   " $OUTPUT_DIR /$PACKAGE_JSON_REL " 
280292    fi 
281293fi 
282294
283- echo  " Previous Release: $prev_release " 
284- echo  " Previous (any)release: $prev_any_release " 
285- echo 
286- 
287295#  Upload package JSONs
288296echo  " Uploading $PACKAGE_JSON_DEV  ..." 
289297echo  " Download URL: " ` git_safe_upload_asset " $OUTPUT_DIR /$PACKAGE_JSON_DEV " ` 
@@ -328,21 +336,35 @@ if [ $arrLen > 3 ] && [ "${msgArray[0]:0:3}" == "tag" ]; then
328336fi 
329337
330338#  Append Commit Messages
339+ echo 
340+ echo  " Previous Branch Release: $prev_branch_release " 
341+ echo  " Previous Branch (any)release: $prev_branch_any_release " 
342+ echo 
343+ commitFile=" $OUTPUT_DIR /commits.txt" 
344+ COMMITS_SINCE_RELEASE=" $prev_branch_any_release " 
345+ if  [ " $RELEASE_PRE "   ==  " false"   ];  then 
346+     COMMITS_SINCE_RELEASE=" $prev_branch_release " 
347+ fi 
331348if  [ !  -z  " $COMMITS_SINCE_RELEASE "   ] &&  [ " $COMMITS_SINCE_RELEASE "   !=  " null"   ];  then 
332349    echo  " Getting commits since $COMMITS_SINCE_RELEASE  ..." 
333-     commitFile=$OUTPUT_DIR /commits.txt
334-     git -C " $GITHUB_WORKSPACE "   log --oneline " $COMMITS_SINCE_RELEASE ..HEAD"   >  " $OUTPUT_DIR /commits.txt" 
335-     releaseNotes+=$' \r\n ##### Commits\r\n ' 
336-     IFS=$' \n ' 
337-     for  next  in  ` cat $commitFile ` 
338-     do 
339-         IFS='  '   read  -r commitId commitMsg <<<  " $next" 
340-         commitLine=" - [$commitId ](https://github.com/$GITHUB_REPOSITORY /commit/$commitId ) $commitMsg " 
341-         releaseNotes+=" $commitLine " 
342-         releaseNotes+=$' \r\n ' 
343-     done 
344-     rm -f $commitFile 
350+     git -C " $GITHUB_WORKSPACE "   log --oneline -n 500 " $COMMITS_SINCE_RELEASE ..HEAD"   >  " $commitFile " 
351+ elif  [ " $RELEASE_BRANCH "   !=  " master"   ];  then 
352+     echo  " Getting all commits on branch '$RELEASE_BRANCH ' ..." 
353+     git -C " $GITHUB_WORKSPACE "   log --oneline -n 500 --cherry-pick --left-only --no-merges HEAD...origin/master >  " $commitFile " 
354+ else 
355+     echo  " Getting all commits on master ..." 
356+     git -C " $GITHUB_WORKSPACE "   log --oneline -n 500 --no-merges >  " $commitFile " 
345357fi 
358+ releaseNotes+=$' \r\n ##### Commits\r\n ' 
359+ IFS=$' \n ' 
360+ for  next  in  ` cat $commitFile ` 
361+ do 
362+     IFS='  '   read  -r commitId commitMsg <<<  " $next" 
363+     commitLine=" - [$commitId ](https://github.com/$GITHUB_REPOSITORY /commit/$commitId ) $commitMsg " 
364+     releaseNotes+=" $commitLine " 
365+     releaseNotes+=$' \r\n ' 
366+ done 
367+ rm -f $commitFile 
346368
347369#  Prepend the original release body
348370if  [ " ${RELEASE_BODY:  -1} "   ==  $' \r '   ];  then          
0 commit comments