Changelog ========= All notable changes to nepse-client will be documented in this file. The format is based on `Keep a Changelog `_, and this project adheres to `Semantic Versioning `_. [Unreleased] ------------ Planned features for future releases: * WebSocket support for real-time data streaming * Advanced caching layer with TTL support * CLI tool for command-line queries * Data export utilities (CSV, Excel, JSON) * Django/Flask integration packages * Interactive Jupyter notebook examples * Prometheus metrics export * Request rate limiting with automatic backoff [1.0.0] - 2024-01-15 -------------------- Initial release of nepse-client with complete NEPSE API coverage. Added ~~~~~ * **Core Functionality** * Synchronous client (NepseClient) for blocking operations * Asynchronous client (AsyncNepseClient) for concurrent operations * Automatic token management with refresh logic * Dummy ID management for POST request payloads * **API Coverage** * Market status and summary endpoints * Company information and details * Historical price and volume data * Floor sheet (trading) data with pagination * Market depth data * Top performers (gainers, losers, turnover) * News and announcements * Holiday lists * Debenture and bond information * NEPSE indices and sub-indices * **Error Handling** * Comprehensive exception hierarchy * Automatic retry logic with exponential backoff * Network error handling * Rate limiting detection * TLS verification controls * **Developer Experience** * Full type hints for all public APIs * Context manager support (``with`` and ``async with``) * Progress bars for long-running operations * Configurable logging * Custom timeout settings * **Documentation** * Complete Sphinx documentation * API reference with examples * Quickstart guide * Installation instructions * Usage examples (basic, async, advanced) * **Testing** * Comprehensive test suite with pytest * Unit tests for all modules * Integration tests * Test coverage >80% * **CI/CD** * GitHub Actions workflows for testing * Automated PyPI publishing * Documentation auto-deployment * Pre-commit hooks configuration * **Code Quality** * Black code formatting * isort import sorting * flake8 linting * mypy type checking * bandit security scanning [0.9.0] - 2024-01-10 [BETA] ---------------------------- Beta release for testing and feedback. Added ~~~~~ * Basic synchronous client implementation * Core API endpoints * Token management * Basic error handling * Initial documentation Changed ~~~~~~~ * Improved API response parsing * Enhanced error messages * Better logging Fixed ~~~~~ * Token refresh issues * Date parsing errors * TLS verification bugs [0.5.0] - 2024-01-05 [ALPHA] ----------------------------- Alpha release for early adopters. Added ~~~~~ * Proof of concept implementation * Basic market data endpoints * Simple authentication flow Known Issues ~~~~~~~~~~~~ * Limited error handling * No async support * Incomplete documentation Migration Guides ---------------- Migrating to 1.0.0 from 0.x ~~~~~~~~~~~~~~~~~~~~~~~~~~~ Version 1.0.0 introduces breaking changes. Follow this guide to migrate: **1. Import Changes** .. code-block:: python # Old (0.x) from nepse_client import Nepse # New (1.0.0) from nepse_client import NepseClient **2. Client Initialization** .. code-block:: python # Old (0.x) client = Nepse() # New (1.0.0) client = NepseClient() **3. Exception Handling** .. code-block:: python # Old (0.x) from nepse_client.errors import NepseException # New (1.0.0) from nepse_client import NepseError **4. Async Support** .. code-block:: python # New in 1.0.0 from nepse_client import AsyncNepseClient async def main(): async with AsyncNepseClient() as client: data = await client.getMarketStatus() Deprecation Warnings -------------------- The following features are deprecated and will be removed in future versions: None currently. Version History --------------- .. list-table:: :header-rows: 1 :widths: 15 15 15 55 * - Version - Date - Status - Notes * - 1.0.0 - 2024-01-15 - Stable - Initial stable release * - 0.9.0 - 2024-01-10 - Beta - Beta testing * - 0.5.0 - 2024-01-05 - Alpha - Early preview Support Policy -------------- **Stable Releases** (1.x.x) * Security updates: 2 years * Bug fixes: 1 year * Feature updates: 6 months **Beta Releases** (0.9.x) * Limited support * Migration path provided **Alpha Releases** (0.x.x) * No support guarantee * Breaking changes expected Contributing ------------ We welcome contributions! Please see our `Contributing Guide `_ for details. To report bugs or suggest features: * `GitHub Issues `_ * `GitHub Discussions `_ Release Process --------------- Our release process: 1. **Development** - Features developed in feature branches 2. **Testing** - Comprehensive testing on develop branch 3. **Beta Release** - Released as 0.9.x for testing 4. **Stable Release** - Tagged as 1.x.x after validation 5. **Documentation** - Auto-deployed to Read the Docs 6. **PyPI** - Auto-published via GitHub Actions Semantic Versioning ~~~~~~~~~~~~~~~~~~~ We follow `Semantic Versioning `_: * **MAJOR** (1.x.x) - Breaking changes * **MINOR** (x.1.x) - New features, backwards compatible * **PATCH** (x.x.1) - Bug fixes, backwards compatible Links ----- * `Full Changelog on GitHub `_ * `Release Notes `_ * `Migration Guides `_