diff --git a/Telegram/PrepareWin.bat b/Telegram/PrepareWin.bat
index b343182fa..fcc56d33b 100644
--- a/Telegram/PrepareWin.bat
+++ b/Telegram/PrepareWin.bat
@@ -1,10 +1,10 @@
 @echo OFF
 
-set "AppVersion=7019"
-set "AppVersionStrSmall=0.7.19"
-set "AppVersionStr=0.7.19"
-set "AppVersionStrFull=0.7.19.0"
-set "DevChannel=1"
+set "AppVersion=7020"
+set "AppVersionStrSmall=0.7.20"
+set "AppVersionStr=0.7.20"
+set "AppVersionStrFull=0.7.20.0"
+set "DevChannel=0"
 
 if %DevChannel% neq 0 goto preparedev
 
diff --git a/Telegram/Resources/lang.strings b/Telegram/Resources/lang.strings
index cf3fd7d74..cf5e83d43 100644
--- a/Telegram/Resources/lang.strings
+++ b/Telegram/Resources/lang.strings
@@ -241,13 +241,13 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
 "lng_passcode_enter_old" = "Enter old passcode";
 "lng_passcode_enter_new" = "Enter new passcode";
 "lng_passcode_confirm_new" = "Re-enter new passcode";
-"lng_passcode_about" = "When you set up a passcode, a lock icon will appear in the corner. Tap it to lock the app.\n\nNote: if you forget the passcode, you'll need to relogin in Telegram Desktop.";
+"lng_passcode_about" = "When a passcode is set, a lock icon appears in the top menu. Click it to lock the app.\n\nNote: if you forget your passcode, you'll need to relogin in Telegram Desktop.";
 "lng_passcode_differ" = "Passcodes are different";
 "lng_passcode_wrong" = "Wrong passcode";
 "lng_passcode_is_same" = "Passcode was not changed";
 "lng_passcode_enter" = "Enter your Telegram Passcode";
 "lng_passcode_submit" = "Submit";
-"lng_passcode_logout" = "or you can {link_start}log out »{link_end}";
+"lng_passcode_logout" = "Log out";
 
 "lng_connection_type" = "Connection type:";
 "lng_connection_auto_connecting" = "Default (connecting..)";
@@ -481,8 +481,8 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
 
 "lng_new_version_wrap" = "Telegram Desktop was updated to version {version}\n\n{changes}\n\nFull version history is available here:\n{link}";
 "lng_new_version_minor" = "— Bug fixes and other minor improvements";
-"lng_new_version7016" = "— Some translations improvements\n— Linux: tray icon should work better in non-Unity environments";
-"lng_new_version7006_appstore" = "Telegram Desktop was updated to version {version}\n\n — Stickers support\n — Local caching for voice messages\n — Added new languages\n\nFull version history is available here:\n{link}";
+"lng_new_version7020" = "— Lock your app with a passcode";
+"lng_new_version7020_appstore" = "— Lock your app with a passcode\n— Change the chat background\n— New «open with» menu for files\n— Added Korean language";
 
 "lng_menu_insert_unicode" = "Insert Unicode control character";
 
diff --git a/Telegram/SourceFiles/application.cpp b/Telegram/SourceFiles/application.cpp
index af3d868f6..caf40a10c 100644
--- a/Telegram/SourceFiles/application.cpp
+++ b/Telegram/SourceFiles/application.cpp
@@ -655,8 +655,8 @@ void Application::checkMapVersion() {
 			QString versionFeatures;
 			if (DevChannel && Local::oldMapVersion() < 7019) {
 				versionFeatures = QString::fromUtf8("\xe2\x80\x94 Passcode lock option added");
-			} else if (!DevChannel && Local::oldMapVersion() < 7017) {
-				versionFeatures = lang(lng_new_version_minor).trimmed();
+			} else if (!DevChannel && Local::oldMapVersion() < 7020) {
+				versionFeatures = lang(lng_new_version7020).trimmed();
 			}
 			if (!versionFeatures.isEmpty()) {
 				versionFeatures = lng_new_version_wrap(lt_version, QString::fromStdWString(AppVersionStr), lt_changes, versionFeatures, lt_link, qsl("https://desktop.telegram.org/#changelog"));
diff --git a/Telegram/SourceFiles/config.h b/Telegram/SourceFiles/config.h
index c80c59d13..2023a9788 100644
--- a/Telegram/SourceFiles/config.h
+++ b/Telegram/SourceFiles/config.h
@@ -17,9 +17,9 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
 */
 #pragma once
 
-static const int32 AppVersion = 7019;
-static const wchar_t *AppVersionStr = L"0.7.19";
-static const bool DevChannel = true;
+static const int32 AppVersion = 7020;
+static const wchar_t *AppVersionStr = L"0.7.20";
+static const bool DevChannel = false;
 
 static const wchar_t *AppNameOld = L"Telegram Win (Unofficial)";
 static const wchar_t *AppName = L"Telegram Desktop";
diff --git a/Telegram/SourceFiles/passcodewidget.cpp b/Telegram/SourceFiles/passcodewidget.cpp
index 6c66ea743..7c639528c 100644
--- a/Telegram/SourceFiles/passcodewidget.cpp
+++ b/Telegram/SourceFiles/passcodewidget.cpp
@@ -26,19 +26,10 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
 #include "application.h"
 #include "gui/text.h"
 
-class LogOutLink : public ITextLink {
-public:
-
-	void onClick(Qt::MouseButton) const {
-		App::wnd()->onLogout();
-	}
-
-};
-
 PasscodeWidget::PasscodeWidget(QWidget *parent) : QWidget(parent),
 _passcode(this, st::passcodeInput),
 _submit(this, lang(lng_passcode_submit), st::passcodeSubmit),
-_logout(this, lng_passcode_logout(lt_link_start, textcmdStartLink(1), lt_link_end, textcmdStopLink())) {
+_logout(this, lang(lng_passcode_logout)) {
 	setGeometry(QRect(0, st::titleHeight, App::wnd()->width(), App::wnd()->height() - st::titleHeight));
 	connect(App::wnd(), SIGNAL(resized(const QSize &)), this, SLOT(onParentResize(const QSize &)));
 
@@ -48,11 +39,11 @@ _logout(this, lng_passcode_logout(lt_link_start, textcmdStartLink(1), lt_link_en
 	_errorTimer.setSingleShot(true);
 	connect(&_errorTimer, SIGNAL(timeout()), this, SLOT(onError()));
 
-	_logout.setLink(1, TextLinkPtr(new LogOutLink()));
-
 	connect(&_passcode, SIGNAL(changed()), this, SLOT(onChanged()));
 	connect(&_passcode, SIGNAL(accepted()), this, SLOT(onSubmit()));
 
+	connect(&_logout, SIGNAL(clicked()), App::wnd(), SLOT(onLogout()));
+
 	show();
 	_passcode.setFocus();
 }
diff --git a/Telegram/SourceFiles/passcodewidget.h b/Telegram/SourceFiles/passcodewidget.h
index f465dde52..9268ce4dd 100644
--- a/Telegram/SourceFiles/passcodewidget.h
+++ b/Telegram/SourceFiles/passcodewidget.h
@@ -55,7 +55,7 @@ private:
 
 	FlatInput _passcode;
 	FlatButton _submit;
-	FlatLabel _logout;
+	LinkButton _logout;
 	QString _error;
 	QTimer _errorTimer;
 
diff --git a/Telegram/Telegram.plist b/Telegram/Telegram.plist
index b419da83c..65c68a400 100644
--- a/Telegram/Telegram.plist
+++ b/Telegram/Telegram.plist
@@ -11,7 +11,7 @@
 	<key>CFBundlePackageType</key>
 	<string>APPL</string>
 	<key>CFBundleShortVersionString</key>
-	<string>0.7.19</string>
+	<string>0.7.20</string>
 	<key>CFBundleSignature</key>
 	<string>????</string>
 	<key>CFBundleURLTypes</key>
diff --git a/Telegram/Telegram.rc b/Telegram/Telegram.rc
index cea54adc6..97c6d98a6 100644
Binary files a/Telegram/Telegram.rc and b/Telegram/Telegram.rc differ
diff --git a/Telegram/Telegram.xcodeproj/project.pbxproj b/Telegram/Telegram.xcodeproj/project.pbxproj
index b54b45aae..318daf3d3 100644
--- a/Telegram/Telegram.xcodeproj/project.pbxproj
+++ b/Telegram/Telegram.xcodeproj/project.pbxproj
@@ -1657,7 +1657,7 @@
 			buildSettings = {
 				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
 				COPY_PHASE_STRIP = NO;
-				CURRENT_PROJECT_VERSION = 0.7.19;
+				CURRENT_PROJECT_VERSION = 0.7.20;
 				DEBUG_INFORMATION_FORMAT = dwarf;
 				GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
 				GCC_OPTIMIZATION_LEVEL = 0;
@@ -1675,7 +1675,7 @@
 			buildSettings = {
 				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
 				COPY_PHASE_STRIP = YES;
-				CURRENT_PROJECT_VERSION = 0.7.19;
+				CURRENT_PROJECT_VERSION = 0.7.20;
 				GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
 				GCC_OPTIMIZATION_LEVEL = fast;
 				GCC_PREFIX_HEADER = ./SourceFiles/stdafx.h;
@@ -1701,10 +1701,10 @@
 				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
 				CODE_SIGN_IDENTITY = "";
 				COPY_PHASE_STRIP = NO;
-				CURRENT_PROJECT_VERSION = 0.7.19;
+				CURRENT_PROJECT_VERSION = 0.7.20;
 				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
 				DYLIB_COMPATIBILITY_VERSION = 0.7;
-				DYLIB_CURRENT_VERSION = 0.7.19;
+				DYLIB_CURRENT_VERSION = 0.7.20;
 				ENABLE_STRICT_OBJC_MSGSEND = YES;
 				FRAMEWORK_SEARCH_PATHS = "";
 				GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
@@ -1842,10 +1842,10 @@
 				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
 				CODE_SIGN_IDENTITY = "";
 				COPY_PHASE_STRIP = NO;
-				CURRENT_PROJECT_VERSION = 0.7.19;
+				CURRENT_PROJECT_VERSION = 0.7.20;
 				DEBUG_INFORMATION_FORMAT = dwarf;
 				DYLIB_COMPATIBILITY_VERSION = 0.7;
-				DYLIB_CURRENT_VERSION = 0.7.19;
+				DYLIB_CURRENT_VERSION = 0.7.20;
 				ENABLE_STRICT_OBJC_MSGSEND = YES;
 				FRAMEWORK_SEARCH_PATHS = "";
 				GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
diff --git a/Telegram/Version.sh b/Telegram/Version.sh
index d02406862..0b49490ad 100755
--- a/Telegram/Version.sh
+++ b/Telegram/Version.sh
@@ -1,2 +1,2 @@
-echo 7019 0.7.19 1
+echo 7020 0.7.20 0
 # AppVersion AppVersionStr DevChannel