Skip to content

Releases: AlexMercedCoder/Pangolin

v0.5.1

30 Dec 15:11

Choose a tag to compare

Release Notes v0.5.1

Summary

This release focuses on stability and documentation accuracy. It resolves a critical initialization error in the SQLite backend and aligns the CLI/API documentation with the strict case-sensitivity of the RBAC system.

🐛 Bug Fixes

  • SQLite Backend: Fixed a "duplicate column name: created_at" error that prevented the active_tokens table from being created during initialization. The pangolin_store/sql/sqlite_schema.sql file was corrected to remove the redundant column definition.

📝 Documentation

  • RBAC & User Roles: Corrected all references to user roles in the CLI and API documentation.
    • Fixed: Examples incorrectly referencing TenantAdmin or TenantUser (PascalCase).
    • Clarified: API payloads MUST use tenant-admin and tenant-user (kebab-case).
    • Files Updated: docs/cli/admin-users.md, docs/cli/admin-service-users.md, docs/features/rbac.md, docs/api/authentication.md.

🛠 Infrastructure

  • pangolin_api: Version bumped to 0.5.1.
  • Docker: Rebuilt and pushed alexmerced/pangolin-api:0.5.1 (and latest) for linux/amd64.
  • Release Workflow: Triggered release v0.5.1 via GitHub Actions to generate multi-platform binaries.

📦 Upgrading

  • Docker: docker pull alexmerced/pangolin-api:0.5.1
  • SQLite: No manual migration is required for existing databases. The fix ensures new SQLite databases initialize correctly.

Release 0.5.0

29 Dec 20:42

Choose a tag to compare

Release v0.5.0 - Service Users, Pagination & RBAC Hardening

This release introduces comprehensive support for Service Users, API Key Authentication, and rigorous RBAC Enforcement, alongside major scalability improvements (Pagination, Indexing).

🚀 Key Features

🤖 Service User Management

Full lifecycle management for machine-to-machine integration.

  • Service Users: Create, list, delete, and rotate keys for service accounts.
  • X-API-Key Auth: Authenticate using standard API keys via the X-API-Key header.
  • Granular Permissions: Assign specific permissions (e.g., create_warehouse) to Service Users via custom roles.
  • Cross-Platform Support:
    • API: New endpoints for service user management.
    • CLI: pangolin-admin service-users commands.
    • UI: Dedicated pane at /admin/service-users (Manage users, One-time key display).
    • SDK: pypangolin v0.5.0 support.

📄 Universal Pagination

Scalability upgrade for listing massive catalogs.

  • Implemented limit and offset pagination across:
    • API: /api/v1/catalogs, /api/v1/warehouses, etc.
    • CLI: --limit and --offset flags.
    • UI: Server-side pagination for DataTables.
    • SDK: Paginated iterators in Python client.

🛡️ RBAC Hardening

  • Principal Decoupling: Backend now strictly distinguishes between Root and Tenant contexts.
  • Permission Enforcement: Verified enforcement of granular permissions for sensitive operations (Warehouse/Catalog/User modification).
  • Service User Constraints: Service Users are scoped strictly to their Tenant.

⚡ UI Enhancements

  • Login Convenience: New /login/{uuid} route for auto-filling Tenant IDs.
  • Performance: Optimized list rendering for large datasets.
  • Fixes: Resolved critical crashes in Service User lists and auth persistency.

🐛 Bug Fixes

  • Relational Joins: Fixed incorrect internal joins that blocked Service Users from listing permissions.
  • CORS Identity: Fixed middleware state to correctly resolve identities across tenant boundaries.
  • CLI Handoff: Fixed context switching bugs in multi-tenant CLI sessions.

📦 Docker Images

  • alexmerced/pangolin-api:0.5.0
  • alexmerced/pangolin-cli:0.5.0
  • alexmerced/pangolin-ui:0.5.0

🐍 Python SDK

  • pip install pypangolin==0.5.0

Release v0.4.0

28 Dec 18:36

Choose a tag to compare

Release v0.4.0 - Performance & Cloud Integration

This release focused on Performance Optimization, Cloud Security Integration, and stabilizing the new modular backend architecture.

🚀 Key Features

☁️ AWS STS & Pre-signed URLs

  • Pre-signed URL Support: Secure, direct-to-storage access for presign_get operations, enabling high-performance data retrieval without proxying through the API.
  • AWS STS Integration: Native support for AWS Security Token Service (STS) assume-role workflows.

⚡ Optimizations

  • Pagination Foundation: Laid the groundwork for universal pagination (fully realized in v0.5.0).
  • Listing performance: Optimized list_assets and list_catalogs queries.

🛠️ Backend Hardening

  • Relational Schema Fixes: Addressed regressions in Postgres and SQLite schema definitions.
  • Join Logic: Fixed internal join logic for permissions and token validation.

📦 Docker Images

  • alexmerced/pangolin-api:0.4.0
  • alexmerced/pangolin-cli:0.4.0
  • alexmerced/pangolin-ui:0.4.0

Release v0.3.1

27 Dec 14:04

Choose a tag to compare

Fixed a minor api issue that was preventing listing of assets in the UI data explorer

v0.3.0

27 Dec 04:46

Choose a tag to compare

Release v0.3.0 - Parity & Modularization

This release marked a major milestone in achieving Feature Parity across all interfaces (API, CLI, UI, SDK) and completing the Modular Backend Refactor.

🚀 Key Features

🏗️ Backend Refactor

  • Modular Architecture: Completely refactored pangolin_store into modular, easier-to-maintain components (Memory, SQLite, Postgres, Mongo).
  • Branching Support: Full support for Branching/Git-like operations across all storage backends.

🐍 Python SDK (PyPangolin)

  • 100% API Coverage: The Python client reached full feature parity with the API.
  • Generic Assets: Robust support for managing arbitrary file formats, table formats, and database references.

🤝 Interface Parity

  • Unified Experience: Capabilities aligned across:
    • API: Locked v0.3.0 spec.
    • CLI: Admin and User tools fully functional.
    • UI: Visual management for all core resources.

🤖 Service Users (Beta)

  • Initial support for Service Users and X-API-Key authentication (solidified in subsequent releases).

📦 Docker Images

  • alexmerced/pangolin-api:0.3.0
  • alexmerced/pangolin-cli:0.3.0
  • alexmerced/pangolin-ui:0.3.0