• ANNOUNCE: oratcl v9.1 released

    From bagnon@miguel@bagnon.com to comp.lang.tcl on Mon Apr 13 20:39:21 2026
    From Newsgroup: comp.lang.tcl

    Hello everyone,

    I am pleased to announce the release of oratcl v9.1.

    oratcl 9.1 is a hardening and concurrency release, tested against Tcl
    9.1a2. The public command API is fully backward-compatible with 9.0.

    Highlights:

    - Persistent thread pool for async execution (replaces per-call thread spawning)
    - Shared per-connection operation gate serializing all ODPI-C/OCI calls
    across the owner, adopted wrappers, and async workers
    - Refcounted cross-interpreter connection adoption with behavioral
    policy sync and pool lifetime management
    - Snapshot-based orafetch architecture — callbacks via -command can
    safely issue other database operations without deadlock
    - failovercallback now settable/clearable at any time via oraconfig
    - Per-statement prefetchrows override
    - All commands also registered under ::oratcl::* namespace
    - Comprehensive integer overflow protection on all narrowing conversions
    - Five new regression/stress test files covering fetch reentrancy, interp-scoped async cancellation, pool lifetime, adoption policy, and sustained multi-interp load
    - oratcl_SafeInit now correctly rejects loading into safe interpreters

    Compatibility:

    This package supports only Tcl 9.0+. For previous versions you may want
    to use

    - https://sourceforge.net/projects/oratcl

    Project Homepage:

    https://github.com/bagnongithub/oratcl

    Documentation:

    https://bagnongithub.github.io/oratcl

    License:

    MIT License

    Feedback/Bug Reports:

    Feedback is welcome on the issue tracker https://github.com/bagnongithub/oratcl/issues

    Best regards,

    Miguel Bañón
    --- Synchronet 3.21f-Linux NewsLink 1.2