• v1.2.0 84dda8cf0a

    mchus released this 2026-02-09 11:44:23 +03:00 | 87 commits to main since this release

    v1.2.0 — Export Improvements & Sync Stability Released: 2026-02-09

    🎯 Key Changes

    Features

    CSV Export Enhancements

    • Streaming CSV with Excel compatibility — Export large datasets efficiently with proper Excel BOM encoding
    • Smart filename handling — Project name automatically included in exported CSV filename format: YYYY-MM-DD (PROJECT-NAME).csv
    • Content-Disposition header support — Browser respects suggested filename from server for better UX

    Projects API

    • New /api/projects/all endpoint — Get unlimited project list without pagination (complements existing paginated endpoint)

    🐛 Bug Fixes

    Database Synchronization

    • Fixed sync blockage with limited database users — Application now checks if migration registry tables exist before attempting to create them, eliminating permission errors for read-limited DB users
    • Graceful permission handling — No longer requires CREATE TABLE privileges if tables already exist
    • Applies same robustness to user sync status table creation and management

    📚 Documentation

    • Complete database user permissions guide — Added comprehensive table-by-table permissions documentation
    • Clarifies which tables require SELECT only vs SELECT, INSERT, UPDATE
    • Explains that sync infrastructure tables must be created by DB admin (not by app)

    📋 Detailed Changes

    Type Description
    Feature Export: implement streaming CSV with Excel compatibility
    Feature Export: update CSV filename format to YYYY-MM-DD (PROJECT-NAME) BOM
    Feature Export: use filename from Content-Disposition header in browser
    Feature Export: add project name to CSV filename format
    Feature Projects: add /all endpoint for unlimited project list
    Fix Sync: handle database permission issues in sync migration verification
    Docs Document complete database user permissions for sync support

    🔧 Database Permissions

    To enable sync for users with limited DB privileges, ensure these tables exist (created by administrator):

    • qt_client_local_migrations — SELECT only
    • qt_client_schema_state — SELECT, INSERT, UPDATE
    • qt_pricelist_sync_status — SELECT, INSERT, UPDATE

    See README.md for complete permission setup.

    🚀 Installation & Upgrade

    # No database migrations required for this release
    # Simply deploy the new binary
    
    go run ./cmd/qfs
    
    📊 Statistics
    
    - 7 commits merged
    - 5 export & API features added
    - 1 critical sync stability fix
    - Full backward compatibility maintained
    
    🙏 Notes
    
    - This release improves offline-first reliability by reducing external dependencies
    - CSV exports now use standard Excel-compatible BOM encoding
    - Better UX for project-specific configuration exports
    - Users with read-limited database accounts can now sync successfully
    
    ---
    Installation: See README.md for setup instructions.
    
    Downloads