Skip to content

v4.0.0

Latest

Choose a tag to compare

@eresende-nuodb eresende-nuodb released this 12 Sep 15:46

Summary

This release focuses on enhanced data type support, improved connection management, and better compliance with Python DB-API 2.0 standards.
The addition of context manager support and timezone-aware datetime handling improves the developer experience.

Migration Notes:

  • Review exception handling code due to DB-API 2.0 compliance changes
  • Test compatibility with date/time data types
  • Consider adopting context manager pattern for connection management

BREAKING CHANGES

  • Exception Hierarchy Update: Adjusted exception hierarchy to match DB-API 2.0 specification - existing exception handling code may need updates
  • Timezone-Aware DateTime: Full support for timezone-aware datetime objects with server/client sync

Features

  • Context Manager Support: Added context manager (with statement) support for database connections
  • Vector Data Types: Added support for VECTOR(<dim>,DOUBLE) data type ([DB-40533])
  • Enhanced Cryptography: Add support for SRP-over-AES (in addition to existing TLS and SRP-over-RC4 support)
  • Protocol Enhancements:
    • Full support for protocol.LAST_COMMIT_INFO
    • Support for prepared statements returning metadata
  • Connection Configuration: New Connection.connection_config() method to access connection details

Improvements

  • Data Type Support:
    • Added support for <null> type columns
    • Enhanced ScaledCount3 encoded values support
    • Missing SQL data types now supported
  • Session Management:
    • Improved partial-buffer send algorithm
    • Better handling of commit sequences
    • Unicode address support
  • Column Metadata: Use column labels instead of column names in descriptions
  • Socket Handling: Improved incomplete socket send() operations
  • Code Quality: Enhanced logging practices and cleaned up imports

Technical Updates

  • Testing Framework: Migrated test suite from unittest to pytest
  • CI/CD: Updated CircleCI configuration to use latest NuoDB Docker images
  • Dependencies: Updated cryptography module compatibility
  • Performance: Optimized session and connection handling algorithms