Skip to content

Releases: spaquet/listopia

v0.8.0

19 Mar 04:10
f3def3d

Choose a tag to compare

Beta: connectors / integrations

Proposed integrations:

  • Google Calendar
  • Microsoft Outlook Calendar
  • Google Drive
  • Slack
    These connectors and associated process are in beta

v0.7.0

18 Mar 05:21
d4c5609

Choose a tag to compare

A significant release focused on documentation consolidation, test suite stabilization, UI improvements, and critical dependency upgrades for better performance and security.

✨ Features

Chat System Documentation

Complete overhaul of chat system documentation for clarity and accuracy:

  • CHAT_FLOW.md: End-to-end message flow, state machine, and 6 detailed scenarios with debugging guide
  • CHAT_REQUEST_TYPES.md: Decision tree for routing different request types (simple/complex lists, nested lists, commands, navigation, resource creation)
  • CHAT_MODEL_SELECTION.md: Model selection rationale, performance metrics, and cost-latency tradeoffs
  • Unified documentation hub in docs/README.md with architecture overview and quick-start guides by developer role

Improved UI Layout

  • List Card Badges: Reorganized personal/professional, status, and public badges into a single unified row below the title
    • Eliminates overlap between public badge and progress bar
    • Cleaner, more organized visual hierarchy

🚀 Improvements

Test Suite Stabilization

  • Added pundit-matchers gem for authorization testing
  • Fixed enum tests with .with_prefix for proper scoping
  • Improved factory definitions and test data consistency
  • Updated CI workflow for better test reliability

Documentation Quality

  • Consolidated redundant documentation into focused, maintainable guides
  • Removed outdated implementation plans and planning documents
  • Accurate documentation reflecting current LLM models (gpt-4.1-nano, gpt-5)
  • Added Ruby LSP integration documentation for Claude Code users

📦 Dependencies Updated

  • ruby_llm: 1.13.0 → 1.14.0
    • Improved LLM integration with extended thinking support
    • Migration included for thought_signature column type change (string → text)
  • pagy: 43.3.2 → 43.4.0 (pagination)
  • loofah: 2.24.0 → 2.25.1 (security/sanitization)
  • net-ssh: 7.2.3 → 7.3.1 (SSH connectivity)
  • GitHub Actions: upload-artifact action 4 → 6

🔧 Technical Details

Files Modified

  • Core: app/controllers/, app/helpers/, app/services/
  • Documentation: CLAUDE.md, README.md, docs/
  • Configuration: .env.example, Gemfile, Dockerfile
  • CI/CD: .github/workflows/ci.yml

Database Migration

RubyLLM 1.14.0 includes a schema migration for the thought_signature column. Run:

rails db:migrate

v0.6.6

01 Jan 04:59
592c00d

Choose a tag to compare

v0.6.6 - Search & RAG Enhancement

Features

  • User Search: Added comprehensive user search functionality with real-time filtering
  • Spotlight Search Modal: Implemented Spotlight-style search modal with instant results
  • Search Infrastructure: Enhanced search capabilities for improved discoverability

Improvements

  • Updated gems: bcrypt, rouge, and noticed for security and stability
  • Fixed PostgreSQL vector extension support in GitHub Actions CI
  • Improved Highlight.js stylesheet loading in frontend build

Technical

  • Optimized database queries for search performance
  • Enhanced GitHub Actions CI with pgvector/pgvector:pg17 Docker image

Dependencies Updated

  • bcrypt 3.1.20 → 3.1.21
  • rouge 4.6.1 → 4.7.0
  • noticed 2.9.3 → 3.0.0

v0.6.5

07 Dec 21:53
c64a983

Choose a tag to compare

Release Notes - v0.6.5

Overview

This release introduces an all-items kanban view for workload assessment, improves real-time collaboration features, and enhances the notification system with better readability and admin layout support.

New Features

All-Items Kanban View

A new dashboard kanban view provides a unified view of all items across your active lists, organized by status (To Do, In Progress, Done). This allows you to quickly assess your overall workload and understand if your current activities are too much.

  • Access: Dashboard → Kanban button in the lists index
  • Functionality:
    • View items from all active lists in one place
    • Drag and drop items between status columns
    • Mark items as complete directly from the view
    • See item details including priority, assignee, due date, and list association

Real-Time Header Updates

List headers now update in real-time when items are modified, providing instant feedback across all active viewers. When an item is marked complete or moved between columns, the completion statistics refresh immediately.

Improvements

Enhanced Notification System

  • Better Button Readability: Action buttons in error notifications now have high contrast with 90% opacity white background and dark text
  • Admin Layout Support: Error handler functionality now works across both main application and admin sections
  • Consistent Error Handling: All admin pages now properly display and manage error notifications

List View Enhancements

  • Updated list icon from square to horizontal lines for better visual clarity
  • Improved header rendering to prevent UI inconsistencies

Bug Fixes

Kanban Drag-and-Drop

  • Fixed items becoming non-draggable after marking them complete
  • Fixed cards disappearing when dragged between status columns in the all-items kanban view
  • Improved Stimulus controller initialization with document-level event listeners and multiple dispatch strategies

List Statistics

  • Fixed completion count, in-progress count, and completion percentage not updating when items were moved between columns
  • Ensured list object data is refreshed after item updates

Header Updates

  • Fixed action buttons disappearing when header was refreshed via broadcast
  • Added proper context variables (current_user) to broadcast responses

Technical Details

Files Modified

  • app/controllers/dashboard_controller.rb - Added items_kanban action
  • app/views/dashboard/items_kanban.html.erb - New all-items kanban view template
  • app/views/lists/index.html.erb - Added button to access items kanban
  • app/views/lists/_header.html.erb - Updated icon, improved broadcast handling
  • app/views/lists/kanban.html.erb - Wrapped header in updateable div, added subscription
  • app/views/list_items/update.turbo_stream.erb - Restructured to handle both kanban architectures
  • app/views/list_items/toggle_completion.turbo_stream.erb - Added real-time stats updates and item re-initialization
  • app/javascript/controllers/kanban_controller.js - Enhanced drag-and-drop with improved event handling
  • app/javascript/controllers/error_handler_controller.js - Improved button styling
  • app/views/layouts/admin.html.erb - Added error handler support
  • config/routes.rb - Added items_kanban route

Architecture Notes

The solution intelligently handles two different kanban architectures:

  1. List-specific kanban: Uses BoardColumn objects with UUIDs, updates board_column_id
  2. Items kanban (all-items view): Uses status-based columns with parameterized names, updates status field

The kanban controller detects which type of drag-and-drop occurred and routes the response appropriately through Turbo Streams.

Testing Recommendations

  • Test drag and drop functionality in both list-specific and all-items kanban views
  • Verify mark complete button works from both kanban views
  • Check that header statistics update in real-time when items are moved
  • Confirm error notifications display properly in admin sections

Known Limitations

  • Drag and drop requires JavaScript enabled
  • Real-time updates require ActionCable connection
  • Large lists may experience performance impacts with many items

Upgrade Notes

No database migrations required. This is a pure feature and UI enhancement release. Existing lists and items are not affected.

Contributors

  • Claude Haiku 4.5

v0.6.4

07 Dec 02:53
6980fdf

Choose a tag to compare

v0.6.4 - Kanban Board Enhancements & Stability Improvements

Overview

Version 0.6.4 stabilizes and enhances the Kanban board feature, with critical bug fixes for drag-and-drop interactions, link clickability, status synchronization, and security improvements.

✨ Features

Improved Kanban Drag-and-Drop

  • Fixed repeated drag-and-drop on moved cards with proper event listener lifecycle management
  • Enhanced click handling to allow links and buttons on kanban cards to work correctly
  • Improved visual feedback during drag operations with conditional mousedown/mouseup handlers
  • Added support for Mark Complete button on both pending and in_progress items

Status Synchronization

  • Enhanced automatic status syncing to work on both column changes AND new item creation
  • Created rake listopia:sync_item_status task for data integrity checks across all lists
  • Status and board column assignment now stay consistently synchronized

Security & Best Practices

  • Added visit_url route to handle external URL redirects through the application
  • Implemented URL validation with protocol whitelisting (http/https only)
  • Environment-aware validation (https-only in production, http/https in dev/test)
  • Resolved Brakeman security warnings for URL handling

🐛 Bug Fixes

  • Fixed drag-and-drop event listeners not attaching to newly appended cards after Turbo updates
  • Fixed links and buttons on kanban cards not responding to clicks
  • Fixed "Mark Complete" button only showing for pending items (now shows for in_progress too)
  • Fixed data integrity issues where item status didn't match board column assignment
  • Fixed pointer events CSS preventing interactions with card action buttons
  • Fixed missing completed_at timestamp handling during status transitions

🔧 Technical Improvements

  • Proper cleanup and re-initialization of drag-and-drop handlers using WeakMap
  • RequestAnimationFrame queuing to wait for Turbo DOM updates before re-initializing
  • Private helper method for URL validation in controllers
  • Improved Turbo Stream response detection for kanban vs. list view updates

📝 Changes Since v0.6.3

Controllers

  • Added visit_url action with comprehensive URL validation
  • Enhanced list_items_controller with proper redirect handling

Models

  • Enhanced ListItem status sync callback with new_record check
  • Improved status-to-column mapping logic

Views

  • Improved modal layouts for show/edit views
  • Better link handling on kanban cards with pointer-events CSS
  • Enhanced kanban card UI with action buttons

Routes

  • Added visit_url member route for list items

Database

  • Completed_at column support for proper completion tracking

Utilities

  • Created rake listopia:sync_item_status task for data integrity verification

🚀 Installation

No additional setup required. Simply deploy and run any pending migrations.

Optional: Verify Data Integrity

If you want to ensure all items have correct status/column synchronization:

bundle exec rake listopia:sync_item_status

##📦 What's Included

  • Kanban board stabilization and bug fixes
  • Security improvements for URL handling
  • Data integrity tools and validations
  • Enhanced drag-and-drop interactions
  • Improved UI/UX for kanban view

v0.6.3

15 Nov 22:46
5ef7e73

Choose a tag to compare

Version 0.6.3 - Collaboration Feature Release

🎉 Major Features

Collaboration System

Users can now collaborate on Lists and ListItems with fine-grained permissions:

  • Share Lists: Invite team members to view and edit entire lists
  • Share Tasks: Delegate specific list items to other users
  • Role-Based Delegation: Managers can grant permission for collaborators to invite others
  • User/Email Invitations: Works with both registered and unregistered users

How It Works

  1. Invite Users: Share a list or task with email addresses
  2. Manage Permissions: Grant read-only or edit access
  3. Real-Time Collaboration: Updates broadcast instantly to all collaborators
  4. AI Commands: Use natural language like "Share my grocery list with alice@example.com"

Security & Audit

  • 7-day invitation expiration tokens
  • Email verification for new users
  • Complete audit trail of all collaboration changes
  • Role-based access control prevents unauthorized actions

🔧 Technical Details

New Components:

  • CollaborationsController - Manage invitations and permissions
  • InvitationService & CollaborationAcceptanceService - Business logic
  • MCP collaboration tools - AI integration
  • Comprehensive mailer templates - Email notifications

Updated:

  • List and ListItem models with collaboration associations
  • Pundit policies with role-based checks
  • Turbo Streams for real-time updates
  • Email notification system

Database:

  • New collaborators table for active collaborators
  • Enhanced invitations table with role support
  • UUID-based primary keys consistent with existing schema

🚀 Getting Started

Share a List

  1. Open any list
  2. Click "Share Collaborators"
  3. Enter email addresses and select permissions
  4. Invited users receive email with secure invitation link

Re-invite Users

  • Users with revoked/declined invitations can be re-invited
  • Resend invitations at any time

Via AI Chat

Try these commands:

  • "Share my grocery list with alice@example.com"
  • "Who has access to my project?"
  • "Remove bob from my todo list"

📋 Full Changelog

See full list of commits: [feature/collaboration commits]

✅ What's Tested

  • Model validations and associations
  • Authorization via Pundit policies
  • Complete invitation workflows
  • Email delivery and notifications
  • AI collaboration via chat
  • Real-time updates

🔗 Documentation

See docs/COLLABORATION.md for detailed architecture and usage guide.

v0.6.2

07 Nov 00:44
fb647fb

Choose a tag to compare

  • Add tests to key models
  • Add tests to CI
  • Upgrade a few gems
  • Fix user creation issues.