Skip to content

Commit 4f391f9

Browse files
committed
app: release 2.0.28
1 parent debf904 commit 4f391f9

File tree

8 files changed

+105
-133
lines changed

8 files changed

+105
-133
lines changed

CHANGELOG.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,17 @@ All notable changes to this project will be documented in this file.
44
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
55
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
66

7+
## [2.0.28] - 2025-08-06
8+
### Changed:
9+
- Update GDK to 0.75.2
10+
- Update crashpad
11+
12+
### Fixed:
13+
- Ensure that the legacy uninstaller on windows works as expected
14+
- Fix the type label for not unblindable transaction
15+
- Prevent crash during transactions update
16+
- Prevent crash when changing a transaction note
17+
718
## [2.0.27] - 2025-07-28
819
### Changed:
920
- Updated application name, icon and installers

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
cmake_minimum_required(VERSION 3.16)
22

3-
project(blockstream VERSION 2.0.27 LANGUAGES CXX)
3+
project(blockstream VERSION 2.0.28 LANGUAGES CXX)
44

55
set(APP_TARGET blockstream)
66

installer.iss.in

Lines changed: 22 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,18 @@
11
#define AppName "Blockstream"
2+
#define PreviousAppName "Blockstream Green"
23
#define AppVersion "@PROJECT_VERSION@"
34
#define AppPublisher "Blockstream"
4-
#define MyAppURL "https://blockstream.com/app/"
5+
#define AppURL "https://blockstream.com/app/"
56

67
[Setup]
7-
; NOTE: The value of AppId uniquely identifies this application.
8-
; Do not use the same AppId value in installers for other applications.
9-
; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
10-
AppId={{3AD17C10-A864-47AB-895F-FA44CA654295}
8+
AppId={{e6223cfe-f798-4592-a835-c6a9b3d874d8}
119
AppName={#AppName}
1210
AppVersion={#AppVersion}
1311
AppVerName="Blockstream {#AppVersion}"
1412
AppPublisher={#AppPublisher}
15-
AppPublisherURL={#MyAppURL}
16-
AppSupportURL={#MyAppURL}
17-
AppUpdatesURL={#MyAppURL}
13+
AppPublisherURL={#AppURL}
14+
AppSupportURL={#AppURL}
15+
AppUpdatesURL={#AppURL}
1816
DefaultDirName={pf}\{#AppPublisher}\{#AppName}
1917
UninstallFilesDir={pf}\{#AppPublisher}\{#AppName}
2018
UninstallDisplayIcon={app}\{#AppName}.exe
@@ -27,13 +25,13 @@ ChangesEnvironment=true
2725
PrivilegesRequired=admin
2826
ArchitecturesInstallIn64BitMode=x64
2927
CloseApplications=force
28+
DisableWelcomePage=no
3029

3130
[Languages]
3231
Name: "english"; MessagesFile: "compiler:Default.isl"
3332

3433
[Tasks]
3534
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
36-
Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked; OnlyBelowVersion: 0,6.1
3735

3836
[Files]
3937
Source: "{#AppName}.exe"; DestDir: "{app}"; Flags: ignoreversion
@@ -42,10 +40,23 @@ Source: "{#AppName}.exe"; DestDir: "{app}"; Flags: ignoreversion
4240
Name: "{group}\{#AppName}"; Filename: "{app}\{#AppName}.exe"; IconFilename: "{app}\{#AppName}.exe"; IconIndex: 0;
4341
Name: "{group}\{cm:UninstallProgram,{#AppName}}"; Filename: "{uninstallexe}"
4442
Name: "{commondesktop}\{#AppName}"; Filename: "{app}\{#AppName}.exe"; Tasks: desktopicon
45-
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\{#AppName}"; Filename: "{app}\{#AppName}.exe"; Tasks: quicklaunchicon
43+
44+
[Registry]
45+
Root: HKLM; Subkey: "Software\{#PreviousAppName}"; Flags: deletekey
46+
Root: HKLM; Subkey: "Software\Microsoft\Windows\CurrentVersion\Uninstall\{{3AD17C10-A864-47AB-895F-FA44CA654295}_is1"; Flags: deletekey
4647

4748
[InstallDelete]
48-
Type: files; Name: "{group}\{#AppName}.lnk"
49+
Type: files; Name: "{group}\{#PreviousAppName}.lnk"
50+
Type: files; Name: "{group}\Uninstall {#PreviousAppName}.lnk"
51+
Type: files; Name: "{userdesktop}\{#PreviousAppName}.lnk"
52+
Type: files; Name: "{commondesktop}\{#PreviousAppName}.lnk"
53+
Type: filesandordirs; Name: "{pf32}\{#AppPublisher}\{#PreviousAppName}"
54+
Type: filesandordirs; Name: "{pf64}\{#AppPublisher}\{#PreviousAppName}"
55+
Type: filesandordirs; Name: "{pf}\{#AppPublisher}\{#PreviousAppName}"
56+
57+
[Messages]
58+
WelcomeLabel1=Before we start
59+
WelcomeLabel2=To access your existing wallets, please use the new Blockstream app. The installer will replace the old Blockstream Green app, but rest assured, all your wallets are safe and will be fully accessible in the new application.
4960

5061
[Code]
5162
const

qml/SplashPage.qml

Lines changed: 1 addition & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,7 @@ import "util.js" as UtilJS
1010
MainPage {
1111
signal timeout()
1212
Component.onCompleted: {
13-
if (WalletManager.wallets.length === 0) {
14-
Settings.registerEvent({ type: 'rebrand_notice' })
15-
loader.sourceComponent = splash
16-
} else if (!Settings.isEventRegistered({ type: 'rebrand_notice' })) {
17-
loader.sourceComponent = rebrand
18-
} else {
19-
loader.sourceComponent = splash
20-
}
13+
loader.sourceComponent = splash
2114
}
2215

2316
id: self
@@ -26,61 +19,6 @@ MainPage {
2619
id: loader
2720
}
2821

29-
Component {
30-
id: rebrand
31-
ColumnLayout {
32-
spacing: 10
33-
VSpacer {
34-
}
35-
Image {
36-
Layout.alignment: Qt.AlignCenter
37-
source: 'qrc:/svg2/green-rebrand.svg'
38-
}
39-
Label {
40-
Layout.alignment: Qt.AlignCenter
41-
Layout.topMargin: 50
42-
color: '#FFF'
43-
font.pixelSize: 30
44-
font.weight: 656
45-
horizontalAlignment: Label.AlignHCenter
46-
text: 'Green is now the Blockstream App'
47-
}
48-
LinkLabel {
49-
Layout.alignment: Qt.AlignCenter
50-
Layout.fillWidth: true
51-
Layout.maximumWidth: 500
52-
Layout.preferredWidth: 0
53-
Layout.topMargin: 20
54-
font.pixelSize: 14
55-
font.weight: 400
56-
horizontalAlignment: Label.AlignHCenter
57-
lineHeight: 1.25
58-
text: `All your settings and funds are safe and exactly where you left them.<br/>Your app icon will update in upcoming releases, and remember: our only official website is ${UtilJS.link('https://blockstream.com', qsTrId('blockstream.com'))}. Stay vigilant against scams!`
59-
wrapMode: Label.Wrap
60-
}
61-
CheckBox {
62-
Layout.alignment: Qt.AlignCenter
63-
Layout.topMargin: 20
64-
id: checkbox
65-
text: qsTrId('id_dont_show_this_again')
66-
}
67-
PrimaryButton {
68-
Layout.alignment: Qt.AlignCenter
69-
Layout.minimumWidth: 200
70-
focus: true
71-
text: qsTrId('id_continue')
72-
onClicked: {
73-
if (checkbox.checked) {
74-
Settings.registerEvent({ type: 'rebrand_notice' })
75-
}
76-
self.timeout()
77-
}
78-
}
79-
VSpacer {
80-
}
81-
}
82-
}
83-
8422
Component {
8523
id: splash
8624
ColumnLayout {

tools/builddmg.sh

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
#!/bin/bash
2+
3+
set -exo pipefail
4+
5+
APP_NAME="Blockstream"
6+
APP_BUNDLE="Blockstream.app"
7+
DMG_NAME="Blockstream"
8+
VOLUME_NAME="Blockstream"
9+
BACKGROUND_IMG="assets/background.tiff"
10+
11+
STAGING_DIR="./dmg-staging"
12+
DMG_TMP="temp.dmg"
13+
DMG_FINAL="$DMG_NAME.dmg"
14+
15+
rm -rf "$STAGING_DIR" "$DMG_TMP" "$DMG_FINAL"
16+
17+
mkdir "$STAGING_DIR"
18+
cp -R "$1" "$STAGING_DIR/$APP_BUNDLE"
19+
ln -s /Applications "$STAGING_DIR/Applications"
20+
mkdir "$STAGING_DIR/.background"
21+
cp "$BACKGROUND_IMG" "$STAGING_DIR/.background/"
22+
23+
hdiutil create -srcfolder "$STAGING_DIR" -volname "$VOLUME_NAME" -fs HFS+ -fsargs "-c c=64,a=16,e=16" -format UDRW "$DMG_TMP"
24+
25+
MOUNT_DIR="/Volumes/$VOLUME_NAME"
26+
hdiutil attach "$DMG_TMP" -mountpoint "$MOUNT_DIR"
27+
28+
sleep 1
29+
30+
osascript <<EOF
31+
tell application "Finder"
32+
tell disk "$VOLUME_NAME"
33+
open
34+
delay 1
35+
set current view of container window to icon view
36+
set theViewOptions to the icon view options of container window
37+
set background picture of theViewOptions to file ".background:background.tiff"
38+
set arrangement of theViewOptions to not arranged
39+
set icon size of theViewOptions to 84
40+
delay 1
41+
close
42+
open
43+
delay 1
44+
update without registering applications
45+
tell container window
46+
set sidebar width to 0
47+
set statusbar visible to false
48+
set toolbar visible to false
49+
set the bounds to { 400, 100, 892, 545 }
50+
set position of item "$APP_BUNDLE" to { 123, 312 }
51+
set position of item "Applications" to { 369, 312 }
52+
end tell
53+
update without registering applications
54+
delay 1
55+
close
56+
end tell
57+
end tell
58+
EOF
59+
60+
bless --folder "$MOUNT_DIR"
61+
sleep 10
62+
hdiutil detach "$MOUNT_DIR"
63+
hdiutil convert "$DMG_TMP" -format UDZO -imagekey zlib-level=9 -o "$DMG_FINAL"
64+
rm -rf "$STAGING_DIR" "$DMG_TMP"

tools/packdmg.sh

Lines changed: 6 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -1,62 +1,10 @@
11
#!/bin/bash
2-
32
set -exo pipefail
43

5-
APP_NAME="Blockstream"
6-
APP_BUNDLE="Blockstream.app"
7-
DMG_NAME="Blockstream"
8-
VOLUME_NAME="Blockstream"
9-
BACKGROUND_IMG="assets/background.tiff"
10-
11-
STAGING_DIR="./dmg-staging"
12-
DMG_TMP="temp.dmg"
13-
DMG_FINAL="$DMG_NAME.dmg"
14-
15-
rm -rf "$STAGING_DIR" "$DMG_TMP" "$DMG_FINAL"
16-
17-
mkdir "$STAGING_DIR"
18-
cp -R "$1" "$STAGING_DIR/$APP_BUNDLE"
19-
ln -s /Applications "$STAGING_DIR/Applications"
20-
mkdir "$STAGING_DIR/.background"
21-
cp "$BACKGROUND_IMG" "$STAGING_DIR/.background/"
22-
23-
hdiutil create -srcfolder "$STAGING_DIR" -volname "$VOLUME_NAME" -fs HFS+ -fsargs "-c c=64,a=16,e=16" -format UDRW "$DMG_TMP"
24-
25-
MOUNT_DIR="/Volumes/$VOLUME_NAME"
26-
hdiutil attach "$DMG_TMP" -mountpoint "$MOUNT_DIR"
27-
28-
sleep 10
29-
30-
osascript <<EOF
31-
tell application "Finder"
32-
tell disk "$VOLUME_NAME"
33-
open
34-
set current view of container window to icon view
35-
set theViewOptions to the icon view options of container window
36-
set background picture of theViewOptions to file ".background:background.tiff"
37-
set arrangement of theViewOptions to not arranged
38-
set icon size of theViewOptions to 84
39-
delay 1
40-
close
41-
open
42-
update without registering applications
43-
tell container window
44-
set sidebar width to 0
45-
set statusbar visible to false
46-
set toolbar visible to false
47-
set the bounds to { 400, 100, 892, 545 }
48-
set position of item "$APP_BUNDLE" to { 123, 312 }
49-
set position of item "Applications" to { 369, 312 }
50-
end tell
51-
update without registering applications
52-
delay 1
53-
close
54-
end tell
55-
end tell
56-
EOF
4+
rm -rf staging tmp.dmg Blockstream.dmg
5+
cp -R tools/staging staging
6+
cp -R "$1" staging/Blockstream.app
7+
ln -s /Applications staging/Applications
8+
hdiutil makehybrid -hfs -hfs-volume-name "Blockstream" -hfs-openfolder staging staging -o tmp.dmg
9+
hdiutil convert -format UDZO tmp.dmg -o Blockstream.dmg
5710

58-
bless --folder "$MOUNT_DIR"
59-
sleep 10
60-
hdiutil detach "$MOUNT_DIR"
61-
hdiutil convert "$DMG_TMP" -format UDZO -imagekey zlib-level=9 -o "$DMG_FINAL"
62-
rm -rf "$STAGING_DIR" "$DMG_TMP"

tools/staging/.DS_Store

10 KB
Binary file not shown.
90.7 KB
Binary file not shown.

0 commit comments

Comments
 (0)