Skip to content

Commit

Permalink
[#1557] Release 1.1.6 (712)
Browse files Browse the repository at this point in the history
* [#1557] Release 1.1.6 (712)

- Closes #1557
- Changelogs update

* WhatsNew update

* Updated WHATS_NEW_EN.md

final update to the release notes

* Documentation update

* Currency conversion floating point hotfix

* Fix empty SDK error stacktrace

* Remove included build locale path

* Revert "Currency conversion floating point hotfix"

This reverts commit 7b808c5.

* Revert MIN_SDK_VERSION back to 27

As the bug was fixed inside the Rust side of the Zcash SDK

* Bump Zcash SDK to latest v2.2.2

- Which brings SQLite DB access fixes

* Changelog update

* Fix cloud testing setup

- Reverting previously changed Testlab values and updating the Emulator values to more recent

* Updated WHATS_NEW_EN.md

---------

Co-authored-by: Andrea Kobrlova <[email protected]>
Co-authored-by: Milan Cerovsky <[email protected]>
  • Loading branch information
3 people authored Sep 4, 2024
1 parent a9e8c10 commit 52d355a
Showing 7 changed files with 48 additions and 17 deletions.
20 changes: 18 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -6,9 +6,25 @@ and this application adheres to [Semantic Versioning](https://semver.org/spec/v2

## [Unreleased]

## [1.1.6 (712)] - 2024-09-04

### Added
- Balance now also displays USD value
- An option to enter USD amount in Send Transaction screen
- Zcash SDK 2.2.2 has been adopted. It brings several new important features:
- Currency exchange rates (currently just USD/ZEC) are now made available via the SDK.
The exchange rate computed as the median of values provided by at least three separate
cryptocurrency exchanges, and is fetched over Tor connections in order to avoid leaking
the wallet's IP address to the exchanges.
- Sending to ZIP 320 (TEX) addresses is now supported. When sending to a ZIP 320 address,
the wallet will first automatically de-shield the required funds to a fresh ephemeral
transparent address, and then will make a second fully-transparent transaction sending
the funds to the eventual recipient that is not linkable via on-chain information to any
other transaction in the user's wallet.
- As part of adding ZIP 320 support, the SDK now also provides full support for recovering
transparent transaction history. Prior to this release, only transactions belonging to the
wallet that contained either some shielded component OR a member of the current
transparent UTXO set were included in transaction history.
- Thus, the balances widget now optionally displays the USD value as well
- A new option to enter the USD amount in the Send screen has been added

## Changed
- Android NDK version has been bumped to 26.1.10909125
2 changes: 1 addition & 1 deletion app/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -284,7 +284,7 @@ fladle {
// Firebase Test Lab has min and max values that might differ from our project's
// These are determined by `gcloud firebase test android models list`
@Suppress("MagicNumber", "VariableNaming")
val FIREBASE_TEST_LAB_MIN_SDK = 30 // Minimum for Pixel2.arm device
val FIREBASE_TEST_LAB_MIN_SDK = 27 // Minimum for Pixel2.arm device

@Suppress("MagicNumber", "VariableNaming")
val FIREBASE_TEST_LAB_MAX_SDK = 33
Original file line number Diff line number Diff line change
@@ -30,7 +30,7 @@ class AndroidApiTest {
// change this unless you're absolutely sure we're ready to set a new API level.
assertEquals(
ApplicationProvider.getApplicationContext<Application>().applicationInfo.minSdkVersion,
Build.VERSION_CODES.R
Build.VERSION_CODES.O_MR1
)
}
}
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
// Emulator WTF has min and max values that might differ from our project's
// These are determined by `ew-cli --models`
// These are determined by `ew-cli --models`, or by visiting documentation: https://docs.emulator.wtf/emulators/

@Suppress("MagicNumber", "PropertyName", "VariableNaming")
val EMULATOR_WTF_MIN_SDK = 23
val EMULATOR_WTF_MIN_SDK = 27

@Suppress("MagicNumber", "PropertyName", "VariableNaming")
val EMULATOR_WTF_MAX_SDK = 33
val EMULATOR_WTF_MAX_SDK = 34

internal val className = this::class.simpleName

14 changes: 11 additions & 3 deletions docs/whatsNew/WHATS_NEW_EN.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Changelog
# Changelog
All notable changes to this application will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
@@ -9,9 +9,17 @@ directly impact users rather than highlighting other key architectural updates.*

## [Unreleased]

## [1.1.6 (712)] - 2024-09-04

### Added
- Balance now also displays USD value
- An option to enter USD amount in Send Transaction screen
- We added ZEC/USD currency conversion to Zashi without compromising your IP address.
- You can now view your balances and type in transaction amounts in both USD and ZEC.

### Changed
- We adopted the latest Zcash SDK version 2.2.0, which brings the ZIP 320 TEX addresses support, currency conversion feature that fetches ZEC/USD exchange rate over Tor, and support for restoring the full history from transparent-only wallets.

### Fixed
- We re-enabled app screenshot testing after we moved away from the AppCompat components.

## [1.1.5 (706)] - 2024-08-09

6 changes: 3 additions & 3 deletions gradle.properties
Original file line number Diff line number Diff line change
@@ -61,7 +61,7 @@ NDK_DEBUG_SYMBOL_LEVEL=symbol_table
# VERSION_CODE is effectively ignored. VERSION_NAME is suffixed with the version code.
# If not using automated Google Play deployment, then these serve as the actual version numbers.
ZCASH_VERSION_CODE=1
ZCASH_VERSION_NAME=1.1.5
ZCASH_VERSION_NAME=1.1.6

# Set these fields, as you need them (e.g. with values "Zcash X" and "co.electriccoin.zcash.x")
# to distinguish a different release build that can be installed alongside the official version
@@ -138,7 +138,7 @@ SDK_INCLUDED_BUILD_PATH=
BIP_39_INCLUDED_BUILD_PATH=

# Versions
ANDROID_MIN_SDK_VERSION=30
ANDROID_MIN_SDK_VERSION=27
ANDROID_TARGET_SDK_VERSION=34
ANDROID_COMPILE_SDK_VERSION=34

@@ -204,7 +204,7 @@ ZXING_VERSION=3.5.3
ZCASH_BIP39_VERSION=1.0.8

# WARNING: Ensure a non-snapshot version is used before releasing to production
ZCASH_SDK_VERSION=2.2.1
ZCASH_SDK_VERSION=2.2.2

# Toolchain is the Java version used to build the application, which is separate from the
# Java version used to run the application.
Original file line number Diff line number Diff line change
@@ -700,28 +700,35 @@ sealed class SynchronizerError {

abstract fun getStackTrace(limit: Int = STACKTRACE_LIMIT): String?

internal fun Throwable.stackTraceToLimitedString() =
if (stackTraceToString().isNotEmpty()) {
stackTraceToString().substring(0..stackTraceToString().length.coerceAtMost(STACKTRACE_LIMIT))
} else {
null
}

class Critical(val error: Throwable?) : SynchronizerError() {
override fun getCauseMessage(): String? = error?.message

override fun getStackTrace(limit: Int): String? = error?.stackTraceToString()?.substring(0..limit)
override fun getStackTrace(limit: Int): String? = error?.stackTraceToLimitedString()
}

class Processor(val error: Throwable?) : SynchronizerError() {
override fun getCauseMessage(): String? = error?.message

override fun getStackTrace(limit: Int): String? = error?.stackTraceToString()?.substring(0..limit)
override fun getStackTrace(limit: Int): String? = error?.stackTraceToLimitedString()
}

class Submission(val error: Throwable?) : SynchronizerError() {
override fun getCauseMessage(): String? = error?.message

override fun getStackTrace(limit: Int): String? = error?.stackTraceToString()?.substring(0..limit)
override fun getStackTrace(limit: Int): String? = error?.stackTraceToLimitedString()
}

class Setup(val error: Throwable?) : SynchronizerError() {
override fun getCauseMessage(): String? = error?.message

override fun getStackTrace(limit: Int): String? = error?.stackTraceToString()?.substring(0..limit)
override fun getStackTrace(limit: Int): String? = error?.stackTraceToLimitedString()
}

class Chain(val x: BlockHeight, val y: BlockHeight) : SynchronizerError() {

0 comments on commit 52d355a

Please sign in to comment.