All notable changes to the CloudPail project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Graceful Shutdown: Fixed an issue where terminating the application with
Ctrl+C(Keyboard Interrupt) would crash the application and display a raw Python traceback. - Exit Flow: Implemented a global exception handler in the main entry point to catch interruptions, ensuring the application cleans up resources and prints a user-friendly "Operation cancelled" message before exiting.
- Documentation:
- Added dynamic PyPI version badge to
README.mdfor real-time release tracking. - Refined installation instructions to ensure command-line compatibility (removed incorrect Markdown link syntax).
- Added dynamic PyPI version badge to
- Stability: Fixed a critical bug where the application would crash if started without an internet connection.
- Offline Mode: Added a persistent "Offline Mode / Connection Failed" warning indicator in the main menu when the session fails to initialize.
- Dynamic Versioning: Implemented automatic version detection for the CLI banner using
importlib.metadata, ensuring the display always matches the installed package version. - Code Quality: Refactored internal comments to strictly professional standards and cleaned up unused imports.
- Documentation: Major update to
README.mdto include specific installation commands for TestPyPI, detailed configuration steps, and a new "Contributing" section.
- Project History: Added
CHANGELOG.mdto track version updates and architectural decisions. - Assets: Added an
assets/directory to store project media and branding resources.
- CLI Visuals: Upgraded the startup splash screen from raw text to a custom ANSI block-art typographic design, aligning with the "Matcha" theme.
- Documentation: Enhanced
README.mdwith improved visual branding.
- Network Resilience: Implemented
EndpointConnectionErrorhandling to gracefully manage internet disconnections during active sessions. - Startup Checks: Added automatic connectivity checks (
sts.get_caller_identity) upon profile initialization.
- UI Polish: Refactored
main.pybanner alignment and padding for better visual centering. - Code Refactoring: Improved whitespace consistency and readability across the core logic.
- Modern Packaging: Introduced
pyproject.tomlfor standardized build configuration. - Licensing: Added
LICENSEfile (MIT).
- Documentation: Complete rewrite of
README.mdto remove casual language/emojis and focus on technical architectural details. - UI Refinement: Replaced emojis in terminal output with professional status symbols (
✖,⚠,✔).
- Legacy Config: Removed
setup.pyin favor ofpyproject.toml.
- Initial release of CloudPail.
- Core features: Bucket management, Object operations, and Profile switching.