Skip to content

Releases: ctsdownloads/tosk-task-manager

v2.3.1

15 Apr 08:13
8c26acd

Choose a tag to compare

Release Notes for v2.3.1 – 4-15-25

UI Rendering in Curses:

Fixed an issue in the selectable_menu function where attempts to print menu options or error messages beyond the terminal’s boundaries caused a curses error. The patch now adds boundary checks for row positions and uses addnstr() (with calculated display lengths) to ensure text fits within the available screen width. This prevents "addwstr() returned ERR" errors when the terminal window is too narrow.

v2.3

14 Apr 19:28
a290f1b

Choose a tag to compare

Changelog Update

v2.3 – 4-14-25

New Features & Improvements

Robust Error Handling in UI

  • Modified curses UI functions to wrap addnstr calls in try/except blocks. This prevents crashes when strings overflow the terminal boundaries or when the window dimensions are too small. Users will now have a more stable experience when viewing or editing task lists, especially on environments with limited terminal sizes.

Improved GitHub API Interaction

  • Enhanced URL safety in GitHub backup and import functions by adding proper URL encoding (using urllib.parse.quote) for repository file paths. This change ensures that any special characters or spaces in paths do not trigger Python errors during API calls.

Enhanced Stability Post-Import

  • Fixed an issue where importing tasks from GitHub could lead to terminal rendering errors when subsequently viewing the task list. The updated error handling ensures that the UI recovers gracefully after the data import process.

Refined Build Process on GitHub Actions

  • Updated the GitHub Actions workflow to build the binary using a controlled Ubuntu environment with PyInstaller. This provides a more consistent release build that replicates the stable behavior seen in the original binary releases.

  • The workflow includes steps to check out the repository, set up Python and its dependencies, build the binary with the correct data-inclusions, create a Git tag, and upload the binary as a new release.

Bug Fixes

####Curses Error Fix

  • Resolved the curses.error from `addnstr() returned ERR issue which was encountered locally after importing tasks from GitHub. This fix prevents unexpected crashes and improves overall UI resilience.

General UI Enhancements

  • Minor adjustments to the task list display logic to ensure proper text alignment and truncation, reducing the likelihood of content overflow errors.

v2.2

11 Apr 22:47
e31a023

Choose a tag to compare

Changelog Update

v2.2 – 4-11-25

  • Configuration Management

    • Added persistent, encrypted configuration support.
      • The application now stores required values (GitHub Token, Encryption Passphrase, GitHub Owner, GitHub Repository) in a file (config.json) encrypted using AES‑GCM.
      • On first run, users are prompted for these values and for a master configuration password to encrypt the config file.
      • On subsequent runs, users only need to enter the master configuration password to load the configuration.
  • Encryption and Decryption

    • Integrated AES‑GCM‑based encryption for both file contents (tasks backups) and configuration data.
    • Updated encryption/decryption functions to handle both backup files and the configuration file.
  • GitHub Backup & Import

    • Implemented GitHub backup functionality:
      • When backing up tasks (e.g., tasks.json and optionally tasks_export.csv), files are encrypted (if an encryption passphrase is provided), base64‑encoded, and uploaded to the specified GitHub repository under the /backups/ directory.
    • Added GitHub import functionality:
      • On import, the application downloads the encrypted backup file from GitHub, decodes and decrypts it locally using the provided passphrase so that tasks are available as plain‑text JSON.
  • Help Section Update

    • Completely refreshed the help screen to include up‑to‑date instructions for all application functions:
      • General Controls: Navigation with arrow keys or j/k/h/l; Enter to select; q or ESC to exit.
      • Main Menu Options: Descriptions for “View Tasks,” “Manage Tasks,” “Help,” and “Exit.”
      • Manage Tasks Submenu: Detailed explanations for all task management functions including adding, editing, deleting tasks; CSV import/export; calendar-based due date selection; plaintext import; GitHub backup and import.
      • Calendar Controls: Instructions for selecting month, day, and year.
      • Configuration & Security: Description of how configuration values are handled, encrypted, and stored, plus GitHub communication over HTTPS.
      • GitHub Backup & Import: Specific details on how backups are encrypted before upload and decrypted on import.
  • User Interface Improvements

    • Consolidated and deduplicated all curses‑UI helper functions (menu selection, popups, calendar grids, etc.) ensuring that functions such as selectable_menu are defined only once and are in scope.
    • Updated the help screen and other UI elements to reflect the latest set of features and improvements.

v2.1

11 Apr 10:29
b79ab56

Choose a tag to compare

Release Notes for v2.1

Changes

  • Removed History Feature: Simplified the application by removing the history tracking functionality
  • Improved overall performance and reduced memory usage
  • Streamlined user experience with a more focused interface

Binary Information

  • Built with PyInstaller for Linux x86_64
  • Includes all necessary dependencies
  • Compatible with previous data formats

This release focuses on simplification by removing the history feature, resulting in a more lightweight and focused application.

v2.0

11 Apr 09:53
e6ceed3

Choose a tag to compare

Release Notes

Bug Fixes & Improvements

  • Fixed workflow configuration for GitHub Actions release process
  • Resolved permission issues for automated binary publishing
  • Streamlined build and release pipeline
  • Ironed out various deployment wrinkles

Binary Information

  • Built with PyInstaller for Linux x86_64
  • Includes all necessary dependencies
  • Ready for production use

Thank you for your patience while we were ironing out some deployment issues. This release provides a stable binary that should work smoothly on Linux systems.

TOsk v1.0.0 – First Public Release

11 Apr 07:53
f01b784

Choose a tag to compare

🚀 TOsk v1.0.0 – Initial Public Release

Welcome to the first public release of TOsk, a fullscreen terminal task planner built with Python and curses.

This release includes:
🎯 Key Features

📋 Task Grid: View, edit, and manage tasks in a sortable fullscreen grid

✅ Toggle Completion: Mark tasks done with the spacebar

📅 Due Date Picker: Add deadlines via intuitive date picker UI

🎯 Priority + Duration Fields: Set how important and long tasks are

🧾 Task Logging: Changes and completions are saved in a log

📝 Plaintext Import: Load tasks from .txt using:

Task sentence::duration::priority::YYYY-MM-DD

📂 CSV Export/Import: For backup and spreadsheet work

🖼 Splash Screen: Terminal image splash using viu

🎨 Color Themes: Clean, color-coded layout

🧪 No Dependencies Needed: One binary, no install required

📦 What's Included

tosk-linux-x86_64: A self-contained binary built with PyInstaller

    Works out of the box on most Linux systems

    Includes viu and tosk.jpg splash screen internally

💡 Tip

Don’t like splash screens? You can disable it by editing main.py. Instructions are in the README under “How to Disable the Splash Screen.”