# Grin + Grin Wallet 3.0.0 Released

**URL:** <https://forum.grin.mw/t/grin-grin-wallet-3-0-0-released/6853>\
**Category:** Announcements\
**Created:** [January 3, 2020, 10:50am UTC](https://forum.grin.mw/t/grin-grin-wallet-3-0-0-released/6853 "2020-01-03T10:50:02Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Yeastplume](https://avatars.discourse-cdn.com/v4/letter/y/71c47a/32.png) [@Yeastplume](https://forum.grin.mw/u/Yeastplume)\
**Post date:** [January 3, 2020, 10:50am UTC](https://forum.grin.mw/t/grin-grin-wallet-3-0-0-released/6853/1 "2020-01-03T10:50:02Z")

</div>

Grin and Grin wallet 3.0.0 have been released and are ready for use in advance of the upcoming hard fork in mid-January.

The hard-fork is scheduled on block 524,160, around Jan 15, 2020. Everyone is urged to upgrade to 3.0.0 as soon as possible, as the 2.x series will stop working at this time.

This release contains many new features, improvements and enhancements, all of which are detailed below. Big thanks goes out to everyone who has contributed their time and efforts to getting us to this point!

**Binaries**

[Grin 3.0.0 Binaries](https://github.com/mimblewimble/grin/releases/tag/v3.0.0)  
[Grin Wallet 3.0.0 Binaries](https://github.com/mimblewimble/grin-wallet/releases/tag/v3.0.0)

**Release Planning**

[Planning notes for the 3.0.0 release](https://github.com/mimblewimble/grin-pm/issues/204)

**Major changes and enhancements**

**Node** :

- ASIC-Resistant PoW is changed to [Cuckaroom29](https://forum.grin.mw/t/next-pow-cuckaroom-unveiled-at-grincon1) post-hard fork (Reference solvers are included in the [grin-miner project](https://github.com/mimblewimble/grin-miner))
- TUI logs screen
- Node API V2
- fast sync validation now shows progress during kernel and rangeproof validation
- Enable fast sync (consensus changes)
- Fix for tcp stream nonblocking flag
- No more checking (old) orphans during txhashset write (fast sync)
- Ability to stop txhashset mid download (fast sync)

**Further Details**

Details for all node changes for the 3.0.0 release can be found here:

> **[mimblewimble/grin](https://github.com/mimblewimble/grin/milestone/15?closed=1)**
>
> Minimal implementation of the Mimblewimble protocol. - mimblewimble/grin

**Wallet**

- Detailed notes on all walllet changes for both users and upstream developers can be found here. Note that 3.0.0 wallets are able to transact with 2.x.x wallets with caveats around new feaures as outlined in the notes.

> <https://github.com/mimblewimble/grin-wallet/issues/262>
>
> Outlining changes for 3.0.0, keeping this updated as I go for now
> Inter-Wallet Compatibility
> 
> For now, v3.0.0 wallets can exchange transactions with v2.x.x...

**Futher Details**

Details on all wallet changes for the 3.0.0 release can be found here:

> **[mimblewimble/grin-wallet](https://github.com/mimblewimble/grin-wallet/milestone/5?closed=1)**
>
> Grin Wallet. Contribute to mimblewimble/grin-wallet development by creating an account on GitHub.

---

<div class="post-metadata">

**Author:** ![ghatazu](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.grin.mw/ghatazu/32/2233_2.png) [@ghatazu](https://forum.grin.mw/u/ghatazu)\
**Post date:** [January 4, 2020, 12:15am UTC](https://forum.grin.mw/t/grin-grin-wallet-3-0-0-released/6853/2 "2020-01-04T00:15:42Z")

</div>

```
Options added to allow for separation of the finalize and post operations, to allow for offline transaction finalization.

```

This is a great feature and I tried it today on an air-gapped machine (sent from wallet1 to wallet2, extracted the finalize file via QR code). Worked!

However, it was a little surprising, that

```
grin-wallet finalize -i dat.response -d dat.finalized

```

tried to post, and if it fails (which it probably will for a file-out function intended for offline use), the output file is not created, because the error about the missing online connectivity halts the execution before the finalizing file is created.

It’s more or less mandatory to type the command as

```
    grin-wallet finalize -n -i dat.response -d dat.finalized

```

It makes not so much sense in my eyes, the no-post behavior should be default when -d is used.

But otherwise, great feature!
