Skip to content

Bump dependency versions and Rust edition #98

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jul 28, 2025

Conversation

kilian-hu
Copy link
Contributor

@kilian-hu kilian-hu commented Jul 28, 2025

  • Dependency Updates
    • pyo3: 0.19.0 -> 0.25.1
    • pyo3-build-config: 0.19.0 -> 0.25.1
    • tokio: 1.29.1 -> 1.47.0
    • tracing-subscriber: 0.3.18 -> 0.3.19
  • Rust Edition 2021 -> 2024
  • PyO3 upgrade related code changes:
    • Migrated from GIL Refs to Bound API
      • Replaced all GIL reference types with Bound smart pointers:
        • &PyAny -> Bound<'_, PyAny>
        • &PyList -> Bound<'_, PyList>
        • &PyTuple -> Bound<'_, PyTuple>
        • &PyModule -> &Bound<'_, PyModule>
    • Updated Type Definitions
      • Modified ListOrTuple enum to use Bound types and added #[derive(Clone)]
      • Updated ListOrTupleIterator to return Bound<'py, PyAny> items
    • API Method Updates
      • Constructor methods: PyTuple::new_bound -> PyTuple::new, PyList::new_bound -> PyList::new
      • Type access: py.get_type_bound -> py.get_type
      • Added error handling for fallible constructors with ? operator
    • Trait Implementation Changes
      • FromPyObject: Migrated from extract to extract_bound method
      • Conversion methods: Replaced into_py() and to_object() with into_pyobject().unwrap().into()
    • Thread Safety
      • Added unsafe impl Sync for both Connection and Cursor structs (required for PyO3 0.23+)
    • Function Signatures
      • Added explicit #[pyo3(signature = ...)] attributes for functions with trailing Option<T> parameters:
        • execute and executemany: #[pyo3(signature = (sql, parameters=None))]
        • fetchmany: #[pyo3(signature = (size=None))]
        • __exit__: #[pyo3(signature = (exc_type=None, _exc_val=None, _exc_tb=None))]
    • Module Initialization
      • Updated pymodule function signature to accept &Bound<'_, PyModule> instead of &PyModule

- Dependency Updates
  - pyo3: 0.19.0 -> 0.25.1
  - pyo3-build-config: 0.19.0 -> 0.25.1
  - tokio: 1.29.1 -> 1.47.0
  - tracing-subscriber: 0.3.18 -> 0.3.19
- Rust Edition 2021 -> 2024
- Migrated from GIL Refs to Bound API
  - Replaced all GIL reference types with Bound smart pointers:
    - &PyAny -> Bound<'_, PyAny>
    - &PyList -> Bound<'_, PyList>
    - &PyTuple -> Bound<'_, PyTuple>
    - &PyModule -> &Bound<'_, PyModule>
- Updated Type Definitions
  - Modified ListOrTuple enum to use Bound types and added #[derive(Clone)]
  - Updated ListOrTupleIterator to return Bound<'py, PyAny> items
- API Method Updates
  - Constructor methods: PyTuple::new_bound -> PyTuple::new, PyList::new_bound -> PyList::new
  - Type access: py.get_type_bound -> py.get_type
  - Added error handling for fallible constructors with ? operator
- Trait Implementation Changes
  - FromPyObject: Migrated from extract to extract_bound method
  - Conversion methods: Replaced into_py() and to_object() with into_pyobject().unwrap().into()
- Thread Safety
  - Added unsafe impl Sync for both Connection and Cursor structs (required for PyO3 0.23+)
- Function Signatures
  - Added explicit #[pyo3(signature = ...)] attributes for functions with trailing Option<T> parameters:
    - execute and executemany: #[pyo3(signature = (sql, parameters=None))]
    - fetchmany: #[pyo3(signature = (size=None))]
    - __exit__: #[pyo3(signature = (exc_type=None, _exc_val=None, _exc_tb=None))]
- Module Initialization
  - Updated pymodule function signature to accept &Bound<'_, PyModule> instead of &PyModule
@penberg penberg changed the title Bump dependency versions and rust edition Bump dependency versions and Rust edition Jul 28, 2025
@penberg penberg merged commit 3afb9bf into tursodatabase:main Jul 28, 2025
6 checks passed
@penberg
Copy link
Contributor

penberg commented Jul 28, 2025

Thanks @kilian-hu!

@kilian-hu kilian-hu deleted the bump-deps branch July 28, 2025 17:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants