Skip to content

Releases: mrcnserkan/crypto

v1.4.0

Choose a tag to compare

@mrcnserkan mrcnserkan released this 30 Jun 22:26

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@latest

Why 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

Choose a tag to compare

@mrcnserkan mrcnserkan released this 30 Jun 18:22
3e83ee4

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 — --from and --to flags (YYYY-MM-DD or YYYY-MM-DD HH:MM)
  • Chart sizing — --width and --height flags (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/asciigraph dependency
  • New utils/chart.go module with dedicated rendering and tests
  • README updated with v1.3.0 chart examples

Tests

go test ./... -count=1

Chart unit tests cover date parsing, filtering, OHLC stats, axis rendering, and Y-axis orientation.

Installation

go install github.com/mrcnserkan/crypto@v1.3.0

Examples

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 24

v1.2.4

Choose a tag to compare

@cursor cursor released this 29 Jun 18:51

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 --currency values with a clear error instead of showing 0.00
  • Apply consistent currency validation in coin detail and alert checks

API & Alerts

  • Batch GetMarketsByIDs requests 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-page before rendering the market list header
  • Show an error when chart data is empty
  • Create ~/.crypto with 0700 directory permissions

Tests

15+ unit tests covering float dust, currency map validation, and chunked market requests.

go test ./... -count=1

Installation

go install github.com/mrcnserkan/crypto@v1.2.4

v1.2.3

Choose a tag to compare

@cursor cursor released this 29 Jun 18:41
ef1cd90

Summary

All code review findings have been addressed, unit tests added, and the CoinGecko API integration has been hardened.

🐛 Bug Fixes

Alert System

  • alert remove now 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 --currency flag
  • 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.json and alerts.json are written with 0600 file permissions

🛠 Infrastructure

  • Search queries are URL-encoded
  • Added retry/backoff for CoinGecko 429 rate limit responses
  • page / per-page flags 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.3

v1.2.2

Choose a tag to compare

@mrcnserkan mrcnserkan released this 22 Dec 20:19

Help system improvements and version flag addition.

🚀 New Features

Version Flag

  • Added --version flag to display current version
  • Can be used with -v shorthand
  • Example: crypto --version or crypto -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

Choose a tag to compare

@mrcnserkan mrcnserkan released this 22 Dec 20:06

Portfolio management improvements and documentation updates.

🚀 New Features

Portfolio Management

  • Added portfolio clear command to remove all coins and transactions

  • Added portfolio remove command 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

Choose a tag to compare

@mrcnserkan mrcnserkan released this 22 Dec 19:51

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