Skip to main content

Release notes for Deephaven version 0.32.0

· 3 min read

Deephaven Community Core version 0.32.0 is the first release of 2024! We bring in the new year with a new calendar API, bug fixes, and quality-of-life improvements. Let's dive into what's new.

Calendar API

Deephaven's calendar API has been significantly revamped:

  • The built-in calendar query library has been completely reworked. It is now consistent with the rest of the time library and is based on Java time types.
  • The Python API has been trimmed down. The smaller API makes it easier to keep table operations fast by avoiding accidental Python/Java boundary crossings.

Stay tuned for a blog that explores the new calendar API and its benefits in greater detail.

Themes

Are you accustomed to using a lighter UI theme when doing your work? Do you want to make your own custom theme for Deephaven? Now you can! With 0.32, you can switch between the default dark theme and a new light theme. If neither of those suits your fancy, you can create your own.

img

Python API

Support for Python 3.12

Python's latest full release, 3.12, is now fully supported by Deephaven. We try to stay up-to-date with these releases as they come, so we're keeping a close eye on the Python 3.13 release timeline.

More rigorous type checking

Type hints in functions are more rigorously enforced as of Deephaven Community Core v0.32.0 and forward. This change helps ensure query correctness.

note

This is a breaking change.

Before 0.32, users could use type hints in functions that didn't match the data type they received. The following code will now raise an error because the values in the X column don't align with what's specified in the type hint.

from deephaven import empty_table
from deephaven.constants import NULL_INT
import numpy as np

t = empty_table(5).update(["X = (i % 3 == 0) ? NULL_INT : i"])

def do_something(x: np.int32) -> np.int32:
return x + 1

t2 = t.update(["Y = do_something(X)"])

img

Bug fixes and quality-of-life improvements

This release is no different from others - it includes bug fixes and minor improvements that improve the Deephaven experience. One in particular is noteworthy for Python users.

Support for annotations

Before 0.32.0, Python UDFs written in Deephaven queries couldn't leverage future.annotations, and would throw an error. Users can now import and use the package - it's a useful tool for delayed evaluation.

Reach out

Our Slack community continues to grow! Join us there for updates and help with your queries.