diff --git a/Telegram/Resources/uwp/AppX/AppxManifest.xml b/Telegram/Resources/uwp/AppX/AppxManifest.xml
index 1db769eab..4004b9adf 100644
--- a/Telegram/Resources/uwp/AppX/AppxManifest.xml
+++ b/Telegram/Resources/uwp/AppX/AppxManifest.xml
@@ -9,7 +9,7 @@
+ Version="1.0.25.0" />
Telegram Desktop
Telegram Messenger LLP
diff --git a/Telegram/Resources/winrc/Telegram.rc b/Telegram/Resources/winrc/Telegram.rc
index d7239c73c..8dc1e1321 100644
--- a/Telegram/Resources/winrc/Telegram.rc
+++ b/Telegram/Resources/winrc/Telegram.rc
@@ -34,8 +34,8 @@ IDI_ICON1 ICON "..\\art\\icon256.ico"
//
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 1,0,24,0
- PRODUCTVERSION 1,0,24,0
+ FILEVERSION 1,0,25,0
+ PRODUCTVERSION 1,0,25,0
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
@@ -52,10 +52,10 @@ BEGIN
BEGIN
VALUE "CompanyName", "Telegram Messenger LLP"
VALUE "FileDescription", "Telegram Desktop"
- VALUE "FileVersion", "1.0.24.0"
+ VALUE "FileVersion", "1.0.25.0"
VALUE "LegalCopyright", "Copyright (C) 2014-2017"
VALUE "ProductName", "Telegram Desktop"
- VALUE "ProductVersion", "1.0.24.0"
+ VALUE "ProductVersion", "1.0.25.0"
END
END
BLOCK "VarFileInfo"
diff --git a/Telegram/Resources/winrc/Updater.rc b/Telegram/Resources/winrc/Updater.rc
index 1e36381d8..a29d12904 100644
--- a/Telegram/Resources/winrc/Updater.rc
+++ b/Telegram/Resources/winrc/Updater.rc
@@ -25,8 +25,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
//
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 1,0,24,0
- PRODUCTVERSION 1,0,24,0
+ FILEVERSION 1,0,25,0
+ PRODUCTVERSION 1,0,25,0
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
@@ -43,10 +43,10 @@ BEGIN
BEGIN
VALUE "CompanyName", "Telegram Messenger LLP"
VALUE "FileDescription", "Telegram Desktop Updater"
- VALUE "FileVersion", "1.0.24.0"
+ VALUE "FileVersion", "1.0.25.0"
VALUE "LegalCopyright", "Copyright (C) 2014-2017"
VALUE "ProductName", "Telegram Desktop"
- VALUE "ProductVersion", "1.0.24.0"
+ VALUE "ProductVersion", "1.0.25.0"
END
END
BLOCK "VarFileInfo"
diff --git a/Telegram/SourceFiles/boxes/change_phone_box.cpp b/Telegram/SourceFiles/boxes/change_phone_box.cpp
index 725b348e8..b61e9f765 100644
--- a/Telegram/SourceFiles/boxes/change_phone_box.cpp
+++ b/Telegram/SourceFiles/boxes/change_phone_box.cpp
@@ -53,7 +53,8 @@ void createErrorLabel(QWidget *parent, object_ptrsetFocusFast();
diff --git a/Telegram/SourceFiles/boxes/change_phone_box.h b/Telegram/SourceFiles/boxes/change_phone_box.h
index ca696d54e..3e54c9a49 100644
--- a/Telegram/SourceFiles/boxes/change_phone_box.h
+++ b/Telegram/SourceFiles/boxes/change_phone_box.h
@@ -24,7 +24,8 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
class ChangePhoneBox : public BoxContent {
public:
- using BoxContent::BoxContent;
+ ChangePhoneBox(QWidget*) {
+ }
protected:
void prepare() override;
diff --git a/Telegram/SourceFiles/core/version.h b/Telegram/SourceFiles/core/version.h
index 9347c5c14..7edea9247 100644
--- a/Telegram/SourceFiles/core/version.h
+++ b/Telegram/SourceFiles/core/version.h
@@ -24,7 +24,7 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
#define BETA_VERSION_MACRO (0ULL)
-constexpr int AppVersion = 1000024;
-constexpr str_const AppVersionStr = "1.0.24";
+constexpr int AppVersion = 1000025;
+constexpr str_const AppVersionStr = "1.0.25";
constexpr bool AppAlphaVersion = true;
constexpr uint64 AppBetaVersion = BETA_VERSION_MACRO;
diff --git a/Telegram/SourceFiles/messenger.cpp b/Telegram/SourceFiles/messenger.cpp
index d9ecd025a..224acfb24 100644
--- a/Telegram/SourceFiles/messenger.cpp
+++ b/Telegram/SourceFiles/messenger.cpp
@@ -637,8 +637,8 @@ void Messenger::checkMapVersion() {
if (Local::oldMapVersion() < AppVersion) {
if (Local::oldMapVersion()) {
QString versionFeatures;
- if ((cAlphaVersion() || cBetaVersion()) && Local::oldMapVersion() < 1000024) {
- versionFeatures = QString::fromUtf8("\xE2\x80\x94 Added Last Seen and Group Invite privacy settings.");
+ if ((cAlphaVersion() || cBetaVersion()) && Local::oldMapVersion() < 1000025) {
+ versionFeatures = QString::fromUtf8("\xE2\x80\x94 Edit your account phone number in Settings.");
} else if (!(cAlphaVersion() || cBetaVersion()) && Local::oldMapVersion() < 1000012) {
versionFeatures = langNewVersionText();
} else {
diff --git a/Telegram/build/build.bat b/Telegram/build/build.bat
index 168d8cf4f..0e1cd4383 100644
--- a/Telegram/build/build.bat
+++ b/Telegram/build/build.bat
@@ -271,11 +271,6 @@ if %BuildUWP% equ 0 (
) else (
xcopy "%DeployPath%\%BetaKeyFile%" "%FinalDeployPath%\" /Y
)
- xcopy "%DeployPath%\%BinaryName%.pdb" "%FinalDeployPath%\"
- xcopy "%DeployPath%\%BinaryName%.exe.pdb" "%FinalDeployPath%\"
- xcopy "%DeployPath%\Updater.exe" "%FinalDeployPath%\"
- xcopy "%DeployPath%\Updater.pdb" "%FinalDeployPath%\"
- xcopy "%DeployPath%\Updater.exe.pdb" "%FinalDeployPath%\"
)
echo Version %AppVersionStrFull% is ready!
diff --git a/Telegram/build/build.sh b/Telegram/build/build.sh
index 64ce24695..7ef60757d 100755
--- a/Telegram/build/build.sh
+++ b/Telegram/build/build.sh
@@ -80,8 +80,6 @@ elif [ "$BuildTarget" == "macstore" ]; then
echo "Building version $AppVersionStrFull for Mac App Store.."
ReleasePath="$HomePath/../out/Release"
BinaryName="Telegram Desktop"
- DropboxPath="/Volumes/Storage/Dropbox/Telegram/deploy/$AppVersionStrMajor"
- DropboxDeployPath="$DropboxPath/$AppVersionStrFull"
else
Error "Invalid target!"
fi
@@ -344,7 +342,6 @@ if [ "$BuildTarget" == "mac" ] || [ "$BuildTarget" == "mac32" ] || [ "$BuildTarg
cp -v "$DeployPath/$UpdateFile" "$DeployToPath/"
cp -v "$DeployPath/$SetupFile" "$DeployToPath/"
- cp -rv "$DeployPath/$BinaryName.app.dSYM" "$DeployToPath/"
if [ "$BetaVersion" != "0" ]; then
cp -v "$DeployPath/$BetaKeyFile" "$DeployToPath/"
fi
@@ -358,10 +355,6 @@ if [ "$BuildTarget" == "mac" ] || [ "$BuildTarget" == "mac32" ] || [ "$BuildTarg
rm "$ReleasePath/$BinaryName.app/Contents/MacOS/$BinaryName"
rm "$ReleasePath/$BinaryName.app/Contents/Info.plist"
rm -rf "$ReleasePath/$BinaryName.app/Contents/_CodeSignature"
-
- mkdir -p "$DropboxDeployPath"
- cp -rv "$DeployPath/$BinaryName.app" "$DropboxDeployPath/"
- cp -rv "$DeployPath/$BinaryName.app.dSYM" "$DropboxDeployPath/"
fi
fi
diff --git a/Telegram/build/deploy.sh b/Telegram/build/deploy.sh
index aba6a98bd..4aac2d49e 100755
--- a/Telegram/build/deploy.sh
+++ b/Telegram/build/deploy.sh
@@ -94,10 +94,6 @@ elif [ "$BuildTarget" == "mac" ]; then
WinSetupFile="tsetup.$AppVersionStrFull.exe"
WinPortableFile="tportable.$AppVersionStrFull.zip"
WinRemoteFolder="tsetup"
- DropboxPath="/Volumes/Storage/Dropbox/Telegram/deploy/$AppVersionStrMajor"
- DropboxDeployPath="$DropboxPath/$AppVersionStrFull"
- DropboxSetupFile="$SetupFile"
- DropboxMac32SetupFile="$Mac32SetupFile"
BackupPath="/Volumes/Storage/backup/$AppVersionStrMajor/$AppVersionStrFull"
elif [ "$BuildTarget" == "mac32" ] || [ "$BuildTarget" = "macstore" ]; then
Error "No need to deploy this target."
@@ -128,10 +124,8 @@ if [ "$BetaVersion" != "0" ]; then
SetupFile="tbeta${BetaVersion}_${BetaSignature}.tar.xz"
elif [ "$BuildTarget" == "mac" ]; then
SetupFile="tbeta${BetaVersion}_${BetaSignature}.zip"
- DropboxSetupFile="tbeta${BetaVersion}_${BetaSignature}_mac.zip"
Mac32UpdateFile="${Mac32UpdateFile}_${BetaSignature}"
Mac32SetupFile="tbeta${BetaVersion}_${BetaSignature}.zip"
- DropboxMac32SetupFile="tbeta${BetaVersion}_${BetaSignature}_mac32.zip"
WinUpdateFile="${WinUpdateFile}_${BetaSignature}"
WinPortableFile="tbeta${BetaVersion}_${BetaSignature}.zip"
fi
@@ -180,8 +174,6 @@ fi
Error "$WinPortableFile not found!"
fi
fi
-
- mkdir -p "$DropboxDeployPath"
fi
#fi
@@ -208,36 +200,18 @@ if [ "$BuildTarget" == "linux" ] || [ "$BuildTarget" == "linux32" ] || [ "$Build
fi
if [ "$DeployMac" == "1" ]; then
- if [ -d "$DropboxDeployPath/Telegram.app.dSYM" ]; then
- rm -rf "$DropboxDeployPath/Telegram.app.dSYM"
- fi
- cp -rv "$DeployPath/Telegram.app.dSYM" "$DropboxDeployPath/"
if [ "$BetaVersion" == "0" ]; then
mkdir -p "$BackupPath/tmac"
mv -v "$DeployPath/$SetupFile" "$BackupPath/tmac/"
fi
fi
if [ "$DeployMac32" == "1" ]; then
- if [ -d "$DropboxDeployPath/Telegram32.app.dSYM" ]; then
- rm -rf "$DropboxDeployPath/Telegram32.app.dSYM"
- fi
- mv -v "$Mac32DeployPath/Telegram.app.dSYM" "$DropboxDeployPath/Telegram32.app.dSYM"
if [ "$BetaVersion" == "0" ]; then
mkdir -p "$BackupPath/tmac32"
mv -v "$Mac32DeployPath/$Mac32SetupFile" "$BackupPath/tmac32/"
fi
fi
if [ "$DeployWin" == "1" ]; then
- if [ -f "$WinDeployPath/Telegram.pdb" ]; then
- mv -v "$WinDeployPath/Telegram.pdb" "$DropboxDeployPath/"
- elif [ ! -f "$DropboxDeployPath/Telegram.pdb" ]; then
- echo "Warning: Telegram.pdb not found."
- fi
- if [ -f "$WinDeployPath/Updater.pdb" ]; then
- mv -v "$WinDeployPath/Updater.pdb" "$DropboxDeployPath/"
- elif [ ! -f "$DropboxDeployPath/Updater.pdb" ]; then
- echo "Warning: Updater.pdb not found."
- fi
if [ "$BetaVersion" == "0" ]; then
mkdir -p "$BackupPath/tsetup"
mv -v "$WinDeployPath/$WinSetupFile" "$BackupPath/tsetup/"
diff --git a/Telegram/build/release.py b/Telegram/build/release.py
new file mode 100644
index 000000000..eaa37ab99
--- /dev/null
+++ b/Telegram/build/release.py
@@ -0,0 +1,256 @@
+import os, sys, requests, pprint, re, json
+from uritemplate import URITemplate, expand
+from subprocess import call
+
+changelog_file = '../../changelog.txt'
+token_file = '../../../TelegramPrivate/github-releases-token.txt'
+
+version = ''
+commit = ''
+for arg in sys.argv:
+ if re.match(r'\d+\.\d+', arg):
+ version = arg
+ elif re.match(r'^[a-f0-9]{40}$', arg):
+ commit = arg
+
+# thanks http://stackoverflow.com/questions/13909900/progress-of-python-requests-post
+class upload_in_chunks(object):
+ def __init__(self, filename, chunksize=1 << 13):
+ self.filename = filename
+ self.chunksize = chunksize
+ self.totalsize = os.path.getsize(filename)
+ self.readsofar = 0
+
+ def __iter__(self):
+ with open(self.filename, 'rb') as file:
+ while True:
+ data = file.read(self.chunksize)
+ if not data:
+ sys.stderr.write("\n")
+ break
+ self.readsofar += len(data)
+ percent = self.readsofar * 1e2 / self.totalsize
+ sys.stderr.write("\r{percent:3.0f}%".format(percent=percent))
+ yield data
+
+ def __len__(self):
+ return self.totalsize
+
+class IterableToFileAdapter(object):
+ def __init__(self, iterable):
+ self.iterator = iter(iterable)
+ self.length = len(iterable)
+
+ def read(self, size=-1): # TBD: add buffer for `len(data) > size` case
+ return next(self.iterator, b'')
+
+ def __len__(self):
+ return self.length
+
+def checkResponseCode(result, right_code):
+ if (result.status_code != right_code):
+ print('Wrong result code: ' + str(result.status_code) + ', should be ' + str(right_code))
+ sys.exit(1)
+
+pp = pprint.PrettyPrinter(indent=2)
+url = 'https://api.github.com/'
+
+version_parts = version.split('.')
+
+stable = 1
+alpha = 0
+dev = 0
+
+if len(version_parts) < 2:
+ print('Error: expected at least major version ' + version)
+ sys.exit(1)
+if len(version_parts) > 4:
+ print('Error: bad version passed ' + version)
+ sys.exit(1)
+version_major = version_parts[0] + '.' + version_parts[1]
+if len(version_parts) == 2:
+ version = version_major + '.0'
+ version_full = version
+else:
+ version = version_major + '.' + version_parts[2]
+ version_full = version
+ if len(version_parts) == 4:
+ if version_parts[3] == 'dev':
+ dev = 1
+ stable = 0
+ version_full = version + '.dev'
+ elif version_parts[3] == 'alpha':
+ alpha = 1
+ stable = 0
+ version_full = version + '.alpha'
+ else:
+ print('Error: unexpected version part ' + version_parts[3])
+ sys.exit(1)
+
+access_token = ''
+if os.path.isfile(token_file):
+ with open(token_file) as f:
+ for line in f:
+ access_token = line.replace('\n', '')
+
+if access_token == '':
+ print('Access token not found!')
+ sys.exit(1)
+
+print('Version: ' + version_full);
+local_folder = '/Volumes/Storage/backup/' + version_major + '/' + version_full
+
+if stable == 1:
+ if os.path.isdir(local_folder + '.dev'):
+ dev = 1
+ stable = 0
+ version_full = version + '.dev'
+ local_folder = local_folder + '.dev'
+ elif os.path.isdir(local_folder + '.alpha'):
+ alpha = 1
+ stable = 0
+ version_full = version + '.alpha'
+ local_folder = local_folder + '.alpha'
+
+if not os.path.isdir(local_folder):
+ print('Storage path not found!')
+ sys.exit(1)
+
+local_folder = local_folder + '/'
+
+files = []
+files.append({
+ 'local': 'tsetup.' + version_full + '.exe',
+ 'remote': 'tsetup.' + version_full + '.exe',
+ 'backup_folder': 'tsetup',
+ 'mime': 'application/octet-stream',
+ 'label': 'Windows: Installer',
+})
+files.append({
+ 'local': 'tportable.' + version_full + '.zip',
+ 'remote': 'tportable.' + version_full + '.zip',
+ 'backup_folder': 'tsetup',
+ 'mime': 'application/zip',
+ 'label': 'Windows: Portable',
+})
+files.append({
+ 'local': 'tsetup.' + version_full + '.dmg',
+ 'remote': 'tsetup.' + version_full + '.dmg',
+ 'backup_folder': 'tmac',
+ 'mime': 'application/octet-stream',
+ 'label': 'macOS and OS X 10.8+: Installer',
+})
+files.append({
+ 'local': 'tsetup32.' + version_full + '.dmg',
+ 'remote': 'tsetup32.' + version_full + '.dmg',
+ 'backup_folder': 'tmac32',
+ 'mime': 'application/octet-stream',
+ 'label': 'OS X 10.6 and 10.7: Installer',
+})
+files.append({
+ 'local': 'tsetup.' + version_full + '.tar.xz',
+ 'remote': 'tsetup.' + version_full + '.tar.xz',
+ 'backup_folder': 'tlinux',
+ 'mime': 'application/octet-stream',
+ 'label': 'Linux 64 bit: Binary',
+})
+files.append({
+ 'local': 'tsetup32.' + version_full + '.tar.xz',
+ 'remote': 'tsetup32.' + version_full + '.tar.xz',
+ 'backup_folder': 'tlinux32',
+ 'mime': 'application/octet-stream',
+ 'label': 'Linux 32 bit: Binary',
+})
+
+r = requests.get(url + 'repos/telegramdesktop/tdesktop/releases/tags/v' + version)
+if r.status_code == 404:
+ print('Release not found, creating.')
+ if commit == '':
+ print('Error: specify the commit.')
+ sys.exit(1)
+ if not os.path.isfile(changelog_file):
+ print('Error: Changelog file not found.')
+ sys.exit(1)
+ changelog = ''
+ started = 0
+ with open(changelog_file) as f:
+ for line in f:
+ if started == 1:
+ if re.match(r'^\d+\.\d+', line):
+ break;
+ if re.match(r'^\s+$', line):
+ continue
+ changelog += line
+ else:
+ if re.match(r'^\d+\.\d+', line):
+ if line[0:len(version) + 1] == version + ' ':
+ started = 1
+ elif line[0:len(version_major) + 1] == version_major + ' ':
+ if version_major + '.0' == version:
+ started = 1
+ if started != 1:
+ print('Error: Changelog not found.')
+ sys.exit(1)
+
+ changelog = changelog.strip()
+ print('Changelog: ');
+ print(changelog);
+
+ r = requests.post(url + 'repos/telegramdesktop/tdesktop/releases', headers={'Authorization': 'token ' + access_token}, data=json.dumps({
+ 'tag_name': 'v' + version,
+ 'target_commitish': commit,
+ 'name': 'v ' + version,
+ 'body': changelog,
+ 'prerelease': (dev == 1 or alpha == 1),
+ }))
+ checkResponseCode(r, 201)
+
+r = requests.get(url + 'repos/telegramdesktop/tdesktop/releases/tags/v' + version)
+checkResponseCode(r, 200);
+
+release_data = r.json()
+#pp.pprint(release_data)
+
+release_id = release_data['id']
+print('Release ID: ' + str(release_id))
+
+r = requests.get(url + 'repos/telegramdesktop/tdesktop/releases/' + str(release_id) + '/assets');
+checkResponseCode(r, 200);
+
+assets = release_data['assets']
+for asset in assets:
+ name = asset['name']
+ found = 0
+ for file in files:
+ if file['remote'] == name:
+ print('Already uploaded: ' + name)
+ file['already'] = 1
+ found = 1
+ break
+ if found == 0:
+ print('Warning: strange asset: ' + name)
+
+for file in files:
+ if 'already' in file:
+ continue
+ file_path = local_folder + file['backup_folder'] + '/' + file['local']
+ if not os.path.isfile(file_path):
+ print('Warning: file not found ' + file['local'])
+ continue
+
+ upload_url = expand(release_data['upload_url'], {'name': file['remote'], 'label': file['label']}) + '&access_token=' + access_token;
+
+ content = upload_in_chunks(file_path, 10)
+
+ print('Uploading: ' + file['remote'] + ' (' + str(round(len(content) / 10000) / 100.) + ' MB)')
+ r = requests.post(upload_url, headers={"Content-Type": file['mime']}, data=IterableToFileAdapter(content))
+
+ checkResponseCode(r, 201)
+
+ print('Success! Removing.')
+ return_code = call(["rm", file_path])
+ if return_code != 0:
+ print('Bad rm code: ' + str(return_code))
+ sys.exit(1)
+
+sys.exit()
diff --git a/Telegram/build/release.sh b/Telegram/build/release.sh
new file mode 100755
index 000000000..abbacfb90
--- /dev/null
+++ b/Telegram/build/release.sh
@@ -0,0 +1,44 @@
+set -e
+FullExecPath=$PWD
+pushd `dirname $0` > /dev/null
+FullScriptPath=`pwd`
+popd > /dev/null
+
+Param1="$1"
+Param2="$2"
+Param3="$3"
+Param4="$4"
+
+if [ ! -d "$FullScriptPath/../../../TelegramPrivate" ]; then
+ echo ""
+ echo "This script is for building the production version of Telegram Desktop."
+ echo ""
+ echo "For building custom versions please visit the build instructions page at:"
+ echo "https://github.com/telegramdesktop/tdesktop/#build-instructions"
+ exit
+fi
+
+Error () {
+ cd $FullExecPath
+ echo "$1"
+ exit 1
+}
+
+while IFS='' read -r line || [[ -n "$line" ]]; do
+ set $line
+ eval $1="$2"
+done < "$FullScriptPath/version"
+
+VersionForPacker="$AppVersion"
+if [ "$BetaVersion" != "0" ]; then
+ Error "No releases for closed beta versions"
+elif [ "$AlphaChannel" == "0" ]; then
+ AppVersionStrFull="$AppVersionStr"
+ AlphaBetaParam=''
+else
+ AppVersionStrFull="$AppVersionStr.alpha"
+ AlphaBetaParam='-alpha'
+fi
+
+cd "$FullScriptPath"
+python release.py $AppVersionStr $Param1 $Param2 $Param3 $Param4
diff --git a/Telegram/build/version b/Telegram/build/version
index e7f729f33..0f96e2aa6 100644
--- a/Telegram/build/version
+++ b/Telegram/build/version
@@ -1,6 +1,6 @@
-AppVersion 1000024
+AppVersion 1000025
AppVersionStrMajor 1.0
-AppVersionStrSmall 1.0.24
-AppVersionStr 1.0.24
+AppVersionStrSmall 1.0.25
+AppVersionStr 1.0.25
AlphaChannel 1
BetaVersion 0
diff --git a/changelog.txt b/changelog.txt
index 18d16e7fe..2bd5dd5d9 100644
--- a/changelog.txt
+++ b/changelog.txt
@@ -1,3 +1,7 @@
+1.0.25 alpha (21.03.17)
+
+- Edit your account phone number in Settings.
+
1.0.24 alpha (19.03.17)
- Added Last Seen and Group Invite privacy settings.