Skip to content

Commit a7249e7

Browse files
committed
Update 4.2.0 release notes
1 parent b8736f1 commit a7249e7

File tree

1 file changed

+251
-0
lines changed

1 file changed

+251
-0
lines changed
Lines changed: 251 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,251 @@
1+
# Avian Core 4.2.0 Release Notes
2+
3+
## Overview
4+
5+
Avian Core 4.2.0 "Longbottom Leaf" is a maintenance and modernization release focused on improving build infrastructure, dependency freshness, GUI responsiveness, and wallet performance ahead of new feature development.
6+
7+
**This is the final release of the 4.2.0 series, following three release candidates (RC1, RC2, RC3).**
8+
9+
---
10+
11+
## Significant Changes
12+
13+
### Build Infrastructure & Dependencies
14+
15+
- **Qt Framework Upgrade**: 5.7.0 → 5.12.11 (LTS)
16+
17+
- Improved stability and performance on modern systems
18+
- Better cross-platform compatibility
19+
- Enhanced security patches from upstream
20+
21+
- **Updated Dependencies**: All depends system packages updated to current, secure versions
22+
23+
- Ensures long-term stability and security
24+
25+
- **CI/CD Modernization**: GitHub Actions now builds binaries for:
26+
- Windows (x64)
27+
- Linux (x64)
28+
- macOS (x64)
29+
- aarch64 (ARM 64-bit)
30+
- arm32v7 (ARM 32-bit)
31+
32+
### Network & Protocol
33+
34+
- **Protocol Version Bump**
35+
36+
- Ensures compatibility with 4.1.x and newer nodes only
37+
- Pre-4.1 wallets will no longer connect, preventing sync slowdowns and network inconsistencies
38+
39+
- **getblocktemplate Update**: Improved compliance with BIP22 specification
40+
41+
- **Chain Parameters**: PoW hash calculation now uses chain-specific parameters correctly
42+
43+
### GUI Improvements
44+
45+
- **Enhanced Startup Experience**
46+
47+
- Splash screen now remains visible with real-time progress updates
48+
- Prevents UI blocking during wallet loading
49+
- Defers network initialization to speed up GUI construction
50+
- Displays RC version information on splash screen when applicable
51+
52+
- **UTXO Consolidation GUI Refactor**
53+
- Consolidation now runs on background thread using QtConcurrent::run()
54+
- Prevents UI freezing during long batch operations
55+
- Progress dialog fully responsive and cancelable
56+
- Uses QMetaObject::invokeMethod for thread-safe UI updates
57+
58+
### New RPC Commands
59+
60+
#### `getblockstats`
61+
62+
Returns comprehensive block-level statistics including:
63+
64+
- Transaction counts, sizes, and weights
65+
- Fee information (min, max, average, percentiles)
66+
- Input/output counts
67+
- Segwit transaction statistics
68+
- Developer fee tracking
69+
- **New**: `powtype` field indicating the block's PoW algorithm (x16rt, minotaurx, or x16r for genesis)
70+
71+
Usage:
72+
73+
```
74+
getblockstats <hash_or_height> [stats]
75+
```
76+
77+
#### `listwatchonly`
78+
79+
Lists all imported watch-only addresses with their labels and metadata.
80+
81+
Usage:
82+
83+
```
84+
listwatchonly
85+
```
86+
87+
#### `removewatchonly`
88+
89+
Removes a watch-only address from wallet storage and address book.
90+
91+
Usage:
92+
93+
```
94+
removewatchonly <address>
95+
```
96+
97+
#### `getnodeaddresses`
98+
99+
Lists known peer node addresses for network diagnostics.
100+
101+
Usage:
102+
103+
```
104+
getnodeaddresses [count]
105+
```
106+
107+
#### `getindexinfo`
108+
109+
Displays the status of active blockchain indexes.
110+
111+
Usage:
112+
113+
```
114+
getindexinfo
115+
```
116+
117+
### Wallet & UTXO Management
118+
119+
#### New UTXO Consolidation System
120+
121+
Consolidates small UTXOs into larger ones to reduce future transaction costs and improve wallet performance.
122+
123+
**RPC Command**: `consolidateutxos`
124+
125+
```
126+
consolidateutxos <address> [min_utxos] [max_batches] [min_amount] [max_amount]
127+
```
128+
129+
Parameters:
130+
131+
- `address`: Destination address for consolidated outputs
132+
- `min_utxos`: Minimum UTXOs required before consolidation (default: 2000)
133+
- `max_batches`: Maximum number of batches to process (default: unlimited)
134+
- `min_amount`: Minimum UTXO amount to include (default: 0.01 AVN)
135+
- `max_amount`: Maximum UTXO amount to include (default: 25 AVN)
136+
137+
**GUI Integration**: New "Consolidate UTXO Transactions" dialog with:
138+
139+
- Configurable limits (min/max inputs, batch size, amount ranges)
140+
- Real-time UTXO display and selection
141+
- Progress tracking and cancellation support
142+
- Thread-safe background processing
143+
144+
**Improvements in RC3**:
145+
146+
- Improved batch counting and progress accuracy
147+
- Pre-calculates totalUTXOFiltered before consolidation loop
148+
- Applies min/max filters consistently during counting
149+
- Accurately accounts for maxBatches limit
150+
- Displays precise progress (e.g., "1 of 1" when maxBatches=1)
151+
152+
#### New Watch-Only Address Management
153+
154+
- `listwatchonly`: Display all imported watch-only addresses with labels
155+
- `removewatchonly`: Completely remove watch-only addresses from wallet storage and address book
156+
- Automatic GUI sync via NotifyAddressBookChanged signal
157+
- No wallet unlock required for watch-only operations
158+
159+
### Developer & Maintenance
160+
161+
- **NetworkUpgrade Struct**: Added for better handling of network upgrade logic
162+
- **Mainnet Checkpoint Data**: Updated to the latest block
163+
- **Help System**: Added powhashcache details to help messages
164+
165+
---
166+
167+
## Bug Fixes & Performance Improvements
168+
169+
- Fixed null pointer dereference in `getblockstats` for genesis block
170+
- Improved wallet RPC command filtering and accuracy
171+
- Performance optimizations in GUI startup sequence
172+
- Better error handling in batch UTXO operations
173+
- Fixed progress estimation for UTXO consolidation
174+
175+
---
176+
177+
## Testing Recommendations
178+
179+
### For Windows Users
180+
181+
- Test wallet startup time and responsiveness
182+
- Verify UTXO consolidation with test wallets containing many small outputs
183+
- Check splash screen progress updates during initial sync
184+
185+
### For Linux / macOS Users
186+
187+
- Verify cross-platform Qt 5.12.11 compatibility
188+
- Test RPC commands (especially new ones: getblockstats, listwatchonly, removewatchonly)
189+
- Confirm network syncing with mixed 4.1.x and 4.2.0 nodes
190+
191+
### For ARM Users (aarch64 / arm32v7)
192+
193+
- Verify binary builds and execution on ARM hardware
194+
- Test wallet functionality and RPC operations
195+
- Confirm network connectivity and syncing
196+
197+
### For RPC Users
198+
199+
- Test `getblockstats` with various block heights and filters
200+
- Verify `listwatchonly` and `removewatchonly` operations
201+
- Test `getnodeaddresses` and `getindexinfo`
202+
- Confirm UTXO consolidation batch processing
203+
204+
---
205+
206+
## Upgrading
207+
208+
### From 4.1.x
209+
210+
- Backup your wallet before upgrading
211+
- The protocol version bump means pre-4.1 nodes will disconnect from your node
212+
- You can deploy 4.2.0; it will automatically only connect to 4.1.0+ peers
213+
- UTXO consolidation is optional and accessed via GUI or RPC
214+
215+
### From Older Versions
216+
217+
- Direct upgrade from any prior version is supported
218+
- If you are upgrading from a version much older than 4.1.0, ensure you are on the correct chain (mainnet vs testnet)
219+
- If experiencing sync issues after upgrade, verify your peers and network connectivity
220+
- Use `-reindex` flag if you encounter blockchain validation errors
221+
222+
---
223+
224+
## Known Issues
225+
226+
None known at this time. Please report any issues via GitHub Issues.
227+
228+
---
229+
230+
## Credits
231+
232+
The Avian Core development team thanks all contributors, testers, and the community for their feedback throughout the RC process.
233+
234+
---
235+
236+
## Version Information
237+
238+
- **Version**: 4.2.0
239+
- **Release Date**: [TBD]
240+
- **Previous Release**: 4.1.0
241+
- **Network**: Mainnet
242+
243+
---
244+
245+
## Changelog Summary
246+
247+
- 1 new major feature (UTXO Consolidation System)
248+
- 5 new RPC commands (getblockstats, listwatchonly, removewatchonly, getnodeaddresses, getindexinfo)
249+
- 1 major dependency upgrade (Qt 5.12.11 LTS)
250+
- 30+ bug fixes and improvements
251+
- Full CI/CD modernization (5 platform builds)

0 commit comments

Comments
 (0)