Repository navigation
Releases: mrcnserkan/crypto
Release list
v1.4.0
v1.4.0 — Major feature release
Same feature set as the planned "2.0" release, published on the v1 module path so install stays clean.
Install
go install github.com/mrcnserkan/crypto@v1.4.0
go install github.com/mrcnserkan/crypto@latestWhy v1.4 and not v2.0?
Go requires github.com/mrcnserkan/crypto/v2 in the import path when using a v2.x git tag. To keep github.com/mrcnserkan/crypto, we release as v1.4.0.
Do not use v2.0.0 / v2.0.1 tags — they are broken/deprecated.
Highlights
- Alert watch + background daemon
- Portfolio P&L (weighted average)
- Watchlist, export, config file, shell completion
- LTTB charts, API retry/rate limit
v1.3.0
Summary
Major chart overhaul for terminal trading visualization. Replaces the broken asciigraph-based renderer with a custom ASCII chart engine featuring proper axes, OHLC stats, and candlestick support.
New Features
Charts
- Line charts with aligned Y-axis price ticks and X-axis date labels
- Candlestick charts (
--candles) with bullish (█) / bearish (░) bodies and wicks - Period OHLC stats — Open, High, Low, Close, absolute and percentage change
- Custom date range —
--fromand--toflags (YYYY-MM-DD or YYYY-MM-DD HH:MM) - Chart sizing —
--widthand--heightflags (terminal character units) - Interval presets — 1d, 7d, 14d, 30d, 90d, 180d, 1y, max (unchanged)
CLI Flags
--from string Chart start date
--to string Chart end date
--width int Chart width (default 80)
--height int Chart height (default 20)
--candles Candlestick mode
--interval Time interval preset
--graph Enable chart view
Bug Fixes
- Fixed Y-axis showing thousands of raw price values alongside chart output
- Fixed missing X-axis date labels on line charts
- Fixed inverted Y-axis on candlestick charts
- Fixed X-axis line overwriting bottom candle bodies
Cleanup
- Removed
github.com/guptarohit/asciigraphdependency - New
utils/chart.gomodule with dedicated rendering and tests - README updated with v1.3.0 chart examples
Tests
go test ./... -count=1Chart unit tests cover date parsing, filtering, OHLC stats, axis rendering, and Y-axis orientation.
Installation
go install github.com/mrcnserkan/crypto@v1.3.0Examples
crypto bitcoin --graph
crypto bitcoin --graph --candles
crypto bitcoin --graph --interval 30d
crypto bitcoin --graph --from 2026-06-01 --to 2026-06-30
crypto bitcoin --graph --width 100 --height 24v1.2.4
Summary
Follow-up fixes from the second code review. Hardens portfolio math, currency handling, and large portfolio API requests.
Bug Fixes
Portfolio
- Remove float dust holdings after full sells using an epsilon threshold
- Persist normalized coin IDs to disk on
Load() - Treat dust-only portfolios as empty in list and clear flows
- Filter negligible balances from portfolio list output
Currency
- Reject unsupported
--currencyvalues with a clear error instead of showing0.00 - Apply consistent currency validation in coin detail and alert checks
API & Alerts
- Batch
GetMarketsByIDsrequests in chunks of 250 coin IDs - Run alert checks immediately on startup
- Stop the background checker when no alerts remain
UX & Security
- Validate
page/per-pagebefore rendering the market list header - Show an error when chart data is empty
- Create
~/.cryptowith0700directory permissions
Tests
15+ unit tests covering float dust, currency map validation, and chunked market requests.
go test ./... -count=1Installation
go install github.com/mrcnserkan/crypto@v1.2.4v1.2.3
Summary
All code review findings have been addressed, unit tests added, and the CoinGecko API integration has been hardened.
🐛 Bug Fixes
Alert System
alert removenow removes all alerts for a given coin- Triggered alerts remove only themselves (other alerts for the same coin are preserved)
- Alert price comparison respects the
--currencyflag - Negative and invalid price/condition inputs are rejected
Portfolio
- Coin IDs are normalized to lowercase (fixes case-sensitivity duplicates)
- Negative amount and price values are rejected
- Zero balances are removed from holdings after a full sell
- Transaction currency is stored; history view shows the correct symbol
⚡ Performance
- Portfolio list uses a single batch API call (
GetMarketsByIDs) - Removed duplicate API call when fetching coin details
🔒 Security
~/.crypto/portfolio.jsonandalerts.jsonare written with0600file permissions
🛠 Infrastructure
- Search queries are URL-encoded
- Added retry/backoff for CoinGecko 429 rate limit responses
page/per-pageflags validate input (range 1–250)- Alert checker has safe start/stop lifecycle; runs only when active alerts exist
✅ Tests
15 new unit tests added across models, service, and utils.
go test ./... -count=1📦 Installation
go install github.com/mrcnserkan/crypto@v1.2.3v1.2.2
Help system improvements and version flag addition.
🚀 New Features
Version Flag
- Added
--versionflag to display current version - Can be used with
-vshorthand - Example:
crypto --versionorcrypto -v
Help System Improvements
- Reorganized help messages for better readability
- Added clear section headers (USAGE, EXAMPLES, etc.)
- Added more detailed examples for each command
- Improved formatting with bullet points
- Better organization of command options
🎨 UI Improvements
- Consistent formatting across all help messages
- Better spacing and alignment
- Clear separation between sections
- Improved readability with emojis
📝 Documentation
- Updated README with latest features
- Fixed badge links
- Updated version information
v1.2.1
Portfolio management improvements and documentation updates.
🚀 New Features
Portfolio Management
-
Added
portfolio clearcommand to remove all coins and transactions -
Added
portfolio removecommand to remove specific coins with their transactions -
Both commands include confirmation prompts for safety
-
Improved error handling and user feedback
📝 Documentation
-
Added example outputs for all portfolio commands
-
Updated command descriptions and usage instructions
-
Improved help messages with detailed explanations
-
Added transaction history example output
🎨 UI Improvements
-
Better formatting for portfolio outputs
-
Colored success/error messages
-
Improved confirmation prompts
-
Consistent emoji usage across commands
🔧 Other Changes
-
Code cleanup and organization
-
Better error messages
-
Updated README with new features
v1.2.0
Major update with new features and improvements!
🚀 New Features
Portfolio Management
- Add buy/sell transactions with price history
- Track your portfolio value in real-time
- View detailed transaction history
- Support for multiple currencies
- Easy to use commands for managing your holdings
Price Alerts
- Set custom price alerts for any cryptocurrency
- Support for both "above" and "below" conditions
- Automatic notifications when price targets are hit
- Easy alert management with list and remove options
Interactive Charts
- Added line chart support for price visualization
- Added candlestick chart for detailed price analysis
- Customizable time intervals (1d, 7d, 14d, 30d, 90d, 180d, 1y, max)
- Price range and time range information
🛠️ Improvements
Code Structure
- Improved error handling and stability
- Better code organization with separate service packages
- Enhanced data