Skip to content

Release v0.0.9

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 16 Jul 20:34
· 49 commits to main since this release

Release Notes for v0.0.9 - 0.0.9-test

Summary

This release completes the array and JSON feature sets for pgsqlite, adding full support for PostgreSQL-compatible array literals, operators, and functions, along with comprehensive JSON manipulation capabilities. The release also includes significant codebase improvements and test infrastructure enhancements.

New Features

  • ARRAY Literal Syntax: Support for ARRAY[1,2,3] syntax with automatic translation to JSON format
  • ALL Operator: Fixed and enhanced ALL operator with proper balanced parentheses parsing
  • unnest() WITH ORDINALITY: PostgreSQL-compatible implementation with 1-based indexing
  • JSON Row Conversion: Complete row_to_json() function for converting table rows to JSON objects
  • JSON Manipulation Functions:
    • jsonb_insert() - Insert values into JSON objects/arrays
    • jsonb_delete() - Delete values from JSON by path
    • jsonb_pretty() - Pretty-print JSON with formatting
  • JSON Table Functions: json_each_text() and jsonb_each_text() for text-based key-value expansion
  • JSON Aggregation: json_populate_record() and json_to_record() for record conversions

Improvements

  • Test Infrastructure: Reorganized SQL integration tests into categorized subdirectories for better maintainability
  • Array Performance: Zero performance impact from array enhancements - maintained ~280x SELECT overhead
  • Code Organization: Cleaned up root directory by removing temporary files
  • Test Coverage: Comprehensive CI/CD validation suite for all JSON and array functions

Bug Fixes

  • Fixed simple query detector to ensure array queries use the translation pipeline
  • Resolved array concatenation operator (||) detection for ARRAY[] syntax patterns
  • Fixed JSON path operator conflicts with SQL parser $ character handling
  • Corrected wire protocol conversion for JSON arrays to PostgreSQL format

Breaking Changes

None