xbbg 1.2.2
Fixed
-
Bloomberg request error handling and datetime semantics (#328, #329, #330): Reference-data wide/semi-long requests and historical-data requests now surface all-security
securityErrorresponses asBlpError::RequestFailureinstead of returning successful empty batches. The Python terminal wrapper now handlespyarrow.RecordBatchreturns viapyarrow.Table.from_batches()rather than assuming a non-existentto_table()method. Bloomberg datetime parsing now rejects malformedTdatetime strings and SDK-invalid timezone offsets, and timestamp conversion honors Bloomberg'sOFFSETpart when converting to UTC epoch values. -
Python and JavaScript binding edge cases:
xbbg.set_sdk_path()now immediately prepares native SDK loading and retains Windows DLL search handles, explicit but unimplemented Python dataframe backends now raiseNotImplementedErrorinstead of falling through to Narwhals/native output, turnover helpers reject malformed explicit dates before applying defaults, NAPI Arrow zero-copy length metadata is checked before narrowing to JavaScript-visibleu32, and JS zero-copy Arrow construction validates buffer lengths before creating typed views. -
active_futures/activeFuturesgeneric futures mapping (#327): The shared Rust recipe now uses Bloomberg's historicalFUT_CUR_GEN_TICKERmapping as the primary source for past/current dates, normalizing returned roots such asUXK6to the input asset suffix (UXK6 Index) across Python and JavaScript bindings. Future dates or missing mappings fall back to the existing generated-candidate maturity/volume logic. The recipe also accepts typed Arrowvaluecolumns (Float64VOLUME,Date32LAST_TRADEABLE_DT) instead of requiring Utf8, fixing the monthly/default-frequency failure forUX1 Index.
Full Changelog: v1.2.1...v1.2.2