Bump version to 1.1.0 across version.py, README, manifest.json and CHANGELOG. Update user guide with troubleshooting section covering the SSL certificate reset workflow
23 KiB
Changelog
All notable changes to Pallectrum will be documented in this file.
Pallectrum is a lightweight wallet client for the Palladium blockchain. It is based on Electrum Bitcoin Wallet, adapted to support Palladium's network and consensus rules. Palladium is a Bitcoin fork with custom parameters and features.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
Added
- Placeholder for future changes
[1.1.0] - 2026-02-19
Overview
This release adds ARM64/aarch64 platform support, native Palladium URI scheme integration, a unified network reset feature for both desktop and Android interfaces, and several bug fixes and documentation improvements.
Added
- ARM64/aarch64 support: AppImage builds now include a dedicated ARM64 variant for Linux on aarch64 hardware.
- ARM64 QML support: Android/QML interface now works on ARM64 devices with pinned PyQt6 dependencies (
PyQt6>=6.7.0,<6.8.0) to ensure compatibility where PyQt6 ≥ 6.9 is unavailable. - Palladium URI scheme: Donation flow and payment handling now use the
palladium:URI scheme instead ofbitcoin:. - Reset SSL certificates: New action in both Qt (Server tab) and QML (Server Settings) to delete locally cached TLS certificates and force re-fetch on reconnect. Useful when a server renews its self-signed certificate.
- Reset known servers: New action alongside SSL reset to clear the list of recently used servers, available in both Qt and QML interfaces.
- Troubleshooting section in user guide: Added documentation explaining SSL certificate caching, why self-signed certificates require manual reset, and step-by-step instructions for both Android and desktop.
Fixed
- WIF deserialization bug: Fixed incorrect private key deserialization for Palladium network parameters.
- Docker build warning: Resolved undefined
TARGETARCHvariable warning in multi-platform Docker builds. - Whitepaper link: Updated Help → White Paper URL to the correct repository (
palladium-coin/whitepaper). - Browser opening on Linux:
webopen()now usesxdg-openinstead of Python'swebbrowsermodule, preventing text-based browsers (e.g.w3m) from being selected instead of the desktop browser.
Changed
- README: Updated "Running from Source" section with clear numbered steps, separate x86_64 and ARM64 dependency instructions, and improved QML optional section.
[1.0.1] - 2026-01-10
Changed
- Rebrand icons: Updated all application icons with new Pallectrum logo.
[1.0.0] - 2025-12-10
Overview
First Stable Release! This milestone release marks Pallectrum as production-ready for the Palladium blockchain. After extensive testing and refinement through beta versions (0.9.x), Pallectrum 1.0.0 provides a stable, user-friendly wallet experience with complete rebranding, improved UI/UX, and high-quality visual assets.
Highlights
- Complete rebranding from Electrum to Pallectrum across all interfaces
- Improved UI/UX for both desktop and mobile platforms
- High-quality icon set refresh with better visual consistency
- Robust build system for Windows, Linux, and Android
- Production-ready stability and performance
Fixed
UI Improvements
1. Fix(QML): Resolve text overlap in transaction input display
- Issue: Transaction input information (short_id and value) overlapped on small screens or with long identifiers in Android QML interface
- Solution: Split transaction input display into two separate rows
- First row: displays input index (#) and short_id with text eliding (Text.ElideRight)
- Second row: displays value amount and unit with left margin indent
- Impact: All transaction input information remains visible and readable without UI elements overlapping, especially important for coinbase inputs and transactions with long identifiers
2. Fix: Update seed dialog window title from Electrum to Pallectrum
- Changed window title from "Electrum - Seed" to "Pallectrum - Seed" in Wallet > Seed dialog
- Completes branding consistency across desktop Qt interface
Branding & References
3. Fix(constants): Update bug report references to Pallectrum
- Changed bug report URLs from
spesmilo/electrumtopalladium-coin/pallectrum - Updated "Electrum" to "Pallectrum" in Help > Report Bug dialog text
- Ensures users report issues to the correct repository
Build System
4. Fix(build): Update shortcuts to reference Pallectrum executable
- Fixed Windows desktop and start-menu shortcuts to use correct executable path
- Updated Windows registry entries for proper application launching
- Ensures shortcuts work correctly after installation
Changed
Visual Assets Refresh
5. Complete icon set rebuild with improved quality
- Rebuilt all icon resolutions from 1024px master source for optimal clarity
- Improved scaling quality using NoAura/LoHalo interpolation algorithms
- Enhanced Windows .ico file quality with better anti-aliasing
- Cleaned duplicate assets and aligned icon files across all platforms
- Result: Better visual quality on all screen resolutions (desktop, mobile, high-DPI displays)
Download
Release binaries available at: https://github.com/palladium-coin/pallectrum/releases/tag/v1.0.0
- Windows Portable:
pallectrum-1.0.0-portable.exe(recommended for USB drives) - Windows Installer:
pallectrum-1.0.0-setup.exe(standard installation) - Linux AppImage:
pallectrum-1.0.0-x86_64.AppImage(all distributions) - Android APK:
pallectrum-1.0.0.apk
Checksums
SHA256 checksums will be provided in the release notes.
[0.9.1] - 2025-12-09
Overview
This release fixes critical build system issues for Linux AppImage reproducibility. Linux builds are new to Pallectrum and were not available in previous versions.
Fixed
1. Fix: Type2-runtime path resolution for reproducible AppImage builds
Issue resolved: Building with ELECBUILD_COMMIT failed with "Unable to load provided runtime file" errors.
Root Cause:
- Reproducible builds create a fresh git clone for deterministic output
- Type2-runtime binary built in original project directory was inaccessible to fresh clone
- Runtime cache location changed between contexts
Implemented changes:
a) Runtime cache persistence (contrib/build-linux/appimage/make_type2_runtime.sh)
- Changed cache to fixed
$PROJECT_ROOTlocation (persists across fresh clones) - Added validation: file exists AND non-zero size
- Automatic cleanup and rebuild if runtime is corrupted
b) Runtime transfer for fresh clones (contrib/build-linux/appimage/build.sh)
- Copies pre-built runtime from original project to fresh clone when
ELECBUILD_COMMITis set - Creates directory structure and includes error handling
Modified files:
contrib/build-linux/appimage/build.sh(+9 lines)contrib/build-linux/appimage/make_type2_runtime.sh(+35, -5 lines)
Impact:
- Reproducible builds now work without runtime errors
- Better resilience to cache corruption
- Faster builds through runtime reuse (~5-10 minutes saved)
2. Fix: AppImage filename version handling for deterministic builds
Issue resolved: Filenames were non-deterministic, making it difficult to distinguish official releases from development builds.
Root Cause:
- Version determined too early (before Python installation)
- Used
git describewhich varies by repository state
Implemented changes (contrib/build-linux/appimage/make_appimage.sh):
- Moved version detection to after environment setup
- Changed from
git describetoprint_electrum_version.py(readselectrum/version.py) - Conditional filename generation:
- Reproducible/clean:
pallectrum-v0.9.1-x86_64.AppImage - Development:
pallectrum-v0.9.1-<count>-g<hash>-dirty-x86_64.AppImage
- Reproducible/clean:
Modified files:
contrib/build-linux/appimage/make_appimage.sh(+16, -3 lines)
Impact:
- Deterministic filenames for reproducible builds
- Development builds clearly marked as non-official
- Better traceability for debugging
Technical Details
- Docker-based reproducible builds with fresh clone isolation
- Runtime cached after first build (saves 5-10 minutes on subsequent builds)
- Total changes: 3 files, 63 insertions, 8 deletions
Testing
- Reproducible build with
ELECBUILD_COMMIT=HEADworks without errors - Development builds produce
-dirtyfilename - Runtime caching works across multiple builds
- AppImage executes correctly on Ubuntu 20.04+
Upgrade Notes
For end users: No action required. This is a build system fix only.
For maintainers: Reproducible builds with ELECBUILD_COMMIT now work reliably.
[0.9.0] - 2025-12-07
Overview
This release introduces critical bug fixes for the Android QML app and updates to terminology and documentation to reflect Pallectrum instead of Electrum.
Critical Bug Fixes (Android QML)
1. Fix: Real-time balance updates
Issue resolved: The Android app balance was not updating in real-time when transactions received confirmations or when coinbase rewards became mature (120 blocks). Users had to close and restart the app to see the correct balance.
Root Cause:
- Missing
balanceChangedsignal emission when a transaction changed height (received blockchain confirmations) - Missing handler for
blockchain_updatedevent that notifies new blocks and coinbase maturation
Implemented changes:
a) Fix for transaction confirmations
- File:
electrum/gui/qml/qewallet.py:211 - Added
self.balanceChanged.emit()inon_event_adb_tx_height_changed
b) Fix for coinbase maturity
- File:
electrum/gui/qml/qewallet.py:245-250 - Added new handler
on_event_blockchain_updated() - Emits
balanceChangedwhen new blocks arrive
c) Debug logging
- File:
electrum/gui/qml/components/controls/BalanceSummary.qml:178 - Added console.log to track balance updates
Impact:
- Balance updates automatically when transactions receive confirmations
- Mining rewards (coinbase) appear automatically after 120 confirmations
- No longer necessary to restart the app to see correct balance
- Better user experience for miners
2. Fix: Typo correction in BalanceDetails.qml
Issue resolved: "Lightning swap" button was causing QML runtime errors.
Root Cause: Typo in QEAmount property - used .satInt instead of .satsInt
Modified file: electrum/gui/qml/components/BalanceDetails.qml:217
Terminology and Documentation Updates
3. Payment request text updates
- Replaced "Bitcoin/Electrum" references with "Palladium/Pallectrum"
- File: ReceiveTab - Request expiration section
- Changes:
- "bitcoin addresses" → "Palladium addresses"
- "electrum wallets" → "Pallectrum wallet"
- "Bitcoin address" → "Palladium address"
4. Preferences → Units update
- Thousands separator checkbox: "bitcoin" → "Palladium"
5. Official website link updates
- Links now point to Pallectrum GitHub repository instead of electrum.org
6. Whitepaper link updates
- "Bitcoin whitepaper" references updated to reflect Palladium
- Links to project documentation on GitHub
7. Windows builds documentation
- Added README.md with description of two Windows versions:
pallectrum-x.x.x-portable.exe- Recommended for USB drivespallectrum-x.x.x-setup.exe- Standalone installer
8. Help menu cleanup
- Removed "Check for updates" menu item that referenced Electrum update servers
- File:
electrum/gui/qt/main_window.py(lines 844, 897-898) - Reason: Update checker pointed to
https://electrum.org/versionwhich is not appropriate for Pallectrum
Technical Details
Balance update architecture:
- Pattern: Event-driven reactive updates
- Thread-safe via
@qt_event_listenerdecorator - Zero overhead (signal emission is O(1))
- No polling - completely event-driven
Performance:
- CPU: O(1) per signal emit
- Memory: No increase
- Battery: No impact (rare events, ~1 every 10 minutes)
- Network: No additional traffic
Event frequency:
adb_tx_height_changed: Only when wallet TX receives confirmationsblockchain_updated: ~1 time every 10 minutes (new block)
Upgrade
For existing users:
- No data migration required
- Existing wallets 100% compatible
- No reconfiguration needed
What will change:
- Balance updates automatically (no more restarts)
- Terminology updated to Palladium/Pallectrum
Testing
Tests performed:
- New TX received → Balance updated
- TX receives confirmations → Balance from unconfirmed to confirmed
- Coinbase matures (120 confirmations) → Reward appears automatically
- Lightning swap button → Works correctly
- No redundant updates
[0.2.0] - 2025-12-04
Technical Cleanup and Optimization
Removed - Bitcoin Chain and Related References
- Complete removal of Bitcoin chain infrastructure
- Removed Bitcoin testnet4, signet, mutinynet, and simnet network definitions
- Deleted
chains/mainnet/directory (servers, checkpoints, fallback nodes) - Removed Bitcoin-specific trampoline Lightning nodes configuration
- Removed Bitcoin-specific block explorers (testnet4, signet)
- Cleaned up Ledger hardware wallet plugin (removed signet chain mapping)
- Updated crash reporter whitelist (removed testnet4, signet genesis hashes)
- Test suite cleanup
- Updated all test files to use Palladium as default network instead of BitcoinMainnet
- Modified 5 test files (tests/init.py, test_blockchain.py, test_bitcoin.py, test_psbt.py, test_network.py)
- Removed BitcoinMainnet references from test loops and teardown methods
- Code optimization
- Removed superfluous modules, functions, and files inherited from Electrum
- Minor code fixes and optimizations throughout the codebase
- Light refactoring to simplify and streamline the codebase
Changed - UI/UX Improvements
- Visual assets update
- Updated wallet images, icons, and graphical resources
- Improved overall visual consistency and branding
- User interface enhancements
- Improved layout, text clarity, and UI element positioning
- Better visual hierarchy and component spacing
- Enhanced user experience across all platforms
Added - Documentation and Testnet Support
- User documentation
- Added comprehensive user guide:
user-guide.md - Improved in-app help and documentation
- Added comprehensive user guide:
- Official testnet integration
- Configured Palladium testnet parameters (ports, magic bytes, genesis hash)
- Added dedicated Electrum testnet server
- Testnet infrastructure ready for development and testing
Development Notes
- Continued development support by Claude 4.5 Sonnet (Anthropic AI)
- Focus on code quality, maintainability, and user experience
[0.1.0] - 2025-11-24
Initial Fork Release
This is the initial fork of Electrum for the Palladium blockchain project.
Fork Information:
- Forked from: Electrum v4.6.2
- Base commit:
d15598bcf034e21718e2cc1152c3ae965c5449df - Original project: Electrum Bitcoin Wallet
- Fork date: November 24, 2025
- Fork maintainer: Davide Grilli
Added
Palladium Blockchain Integration
- Palladium network parameters
- Genesis block configuration
- Network magic bytes
- Default network ports (mainnet: 2333, testnet: 12333)
- Block time: 2 minutes (120 seconds)
- BIP44 coin type: 746
- Palladium address format support
- Bech32 address format (default)
- Address validation for Palladium network
- P2PKH, P2WPKH, P2SH-P2WPKH address types
- Palladium Electrum server infrastructure
- Default server list for Palladium network:
- 173.212.224.67:50002 (SSL) / 50001 (TCP)
- 144.91.120.225:50002 (SSL) / 50001 (TCP)
- 66.94.115.80:50002 (SSL) / 50001 (TCP)
- 89.117.149.130:50002 (SSL) / 50001 (TCP)
- Server discovery protocol adaptation
- SSL/TCP protocol support (version 1.4.2)
- Default server list for Palladium network:
- Consensus algorithm integration
- LWMA (Lightweight Moving Average) difficulty adjustment from block 29000
- Checkpoint-based validation system (161 checkpoints covering blocks 0-324,575)
- Block reward schedule for Palladium
- Coinbase maturity: 120 blocks
BIP Standards Implementation
- BIP21 URI scheme:
palladium:(instead ofbitcoin:)- Payment URI parsing and generation
- QR code integration with palladium scheme
- Amount and message parameter support
- BIP44 derivation path: m/44'/746'/0' (Palladium coin type)
- Default address type: Bech32 (p2wpkh) for WIF imports
User Interface & Branding
- Complete rebranding from Electrum to Pallectrum
- Application name and window titles
- Tray icon and notifications
- About dialog and version information (0.1.0)
- Documentation and help texts
- Terms of Use dialog
- Currency unit changes
- Base units: PLM, mPLM, bits, sat (instead of BTC, mBTC)
- Default unit: mPLM (5 decimal places)
- All GUI labels and input validators updated
- Chart and graph labels (BTC → PLM)
- Amount formatting and display
- Block explorer integration
- Default explorer: https://explorer.palladium-coin.com/
- Transaction, address, and block lookups
- Network name display
- Shows "Palladium Mainnet" / "Palladium Testnet"
- Updated in all GUI components (Qt, QML, text)
Build System
- Docker-based reproducible builds
- Windows (Wine): Updated for Pallectrum branding
- Linux AppImage: Updated for Pallectrum branding
- Android APK: Updated for Pallectrum branding
- All build paths changed from
electrumtopallectrum - Docker image names updated (e.g.,
pallectrum-wine-builder-img)
- Binary naming
- Windows:
pallectrum-VERSION-setup.exe - Linux:
pallectrum-VERSION-x86_64.AppImage - Android:
pallectrum-VERSION.apk
- Windows:
- Code signing
- NSIS installer signed as "Pallectrum"
- Certificate setup for Windows binaries
Documentation
- README.md: Complete rewrite for Pallectrum
- Getting Started guide
- Installation instructions
- Building from source
- Palladium-specific features documentation
- Credits to original Electrum project
- README-ELECTRUM.md: Original Electrum v4.6.2 documentation preserved
- AUTHORS: Added Davide Grilli as Pallectrum maintainer
- CHANGELOG.md: This file, tracking all fork changes
Changed
Core Functionality
- Network connection logic adapted for Palladium blockchain
- Transaction validation rules for Palladium consensus
- Fee estimation adapted to Palladium network conditions
- Wallet data directory:
- Windows:
C:\Users\<username>\AppData\Roaming\Pallectrum - Linux/macOS:
~/.pallectrum - Android:
<internal storage>/Pallectrum
- Windows:
GUI Updates
- Android (QML) GUI
- Fixed all hardcoded "BTC" and "Bitcoin" references
- Updated wallet wizard and preferences
- Fixed QR code scanning (removed hardcoded BTC unit)
- Updated derivation paths (coin type 0 → 746)
- Network connection dialogs show Palladium
- Qt (Desktop) GUI
- Application name in all dialogs
- Notification messages
- Export/import dialogs
- Hardware wallet integration screens
- Settings and preferences panels
- Text GUI
- Command-line help text
- Daemon mode messages
- Error messages and prompts
Build Configuration
- setup.py: Package name, description, author updated
- buildozer_qml.spec: Android package domain
org.palladium.pallectrum - electrum.desktop: Linux desktop entry for Pallectrum
- electrum.nsi: Windows installer for Pallectrum
- All contrib build scripts: Updated paths and names
Fixed
Critical Fixes
- Android QML GUI crashes
- Fixed QR code scanning crash (hardcoded "BTC" reference)
- Fixed wallet creation with incorrect derivation paths
- Fixed BIP21 URI parsing for palladium scheme
- Address generation
- WIF import now defaults to bech32 (p2wpkh)
- Correct derivation paths for Palladium (BIP44 coin type 746)
- Checkpoint validation
- LWMA difficulty algorithm incompatibility resolved
- Checkpoint-based validation ensures chain security
- Skips PoW validation for checkpointed blocks
UI/UX Fixes
- Balance display: Correct formatting with PLM units
- Amount input: Regex validators accept PLM notation
- QR codes: Generate correct palladium: URIs
- Network status: Shows "Palladium" instead of "Bitcoin"
- Update check: Disabled automatic update prompts on startup
- Terms of Use wizard: Fixed presplash image layout with proper sizing and edge-to-edge display
- Watch-only wallet warning: Replaced "Bitcoin" with "Palladium"
Security
- Checkpoint-based validation provides security for blocks with LWMA difficulty
- 161 checkpoints covering blocks 0 through 324,575
- Will merge relevant security fixes from Electrum upstream as needed
Removed
- Bitcoin-specific features incompatible with Palladium
- References to bitcoin.org and electrum.org in user-facing text
- Automatic update checking (to avoid confusion with Electrum updates)
Development Notes
- Development supported by Claude 4.5 Sonnet (Anthropic AI) for code analysis, debugging, and documentation assistance
Upstream Synchronization
This fork is based on Electrum and may periodically merge upstream changes for:
- Security fixes: Critical vulnerabilities will be merged immediately
- Bug fixes: Important bug fixes affecting wallet functionality
- Performance improvements: Optimizations that benefit Pallectrum users
Note: Breaking changes or Bitcoin-specific features from upstream will be evaluated case-by-case for compatibility with Palladium blockchain.
Upstream repository: https://github.com/spesmilo/electrum Upstream releases: https://github.com/spesmilo/electrum/releases
Upstream Merge History
| Pallectrum Version | Based on Electrum | Upstream Commit | Merge Date | Notes |
|---|---|---|---|---|
| 0.1.0 | 4.6.2 | d15598b | 2025-11-24 | Initial fork |
Contributing
Contributions to Pallectrum are welcome! For contributing guidelines, please refer to the main README.
For understanding upstream Electrum changes:
Links
- Pallectrum Repository: https://github.com/palladium-coin/pallectrum
- Palladium Explorer: https://explorer.palladium-coin.com/
- Issue Tracker: https://github.com/palladium-coin/pallectrum/issues
Upstream Project Links
- Electrum Website: https://electrum.org/
- Electrum GitHub: https://github.com/spesmilo/electrum
- Electrum Documentation: https://electrum.readthedocs.io/
Version Comparison Links
Last Updated: 2025-11-24 Maintained by: Davide Grilli