Releases: deephaven/deephaven-core
Releases · deephaven/deephaven-core
v0.37.0
⚠ Breaking Changes
SeekableChannelsProviderLoader.fromServiceLoader
has been removed,
replaced withSeekableChannelsProviderLoader.load
.DataInstructionsProviderLoader.fromServiceLoader
has been removed,
replaced withDataInstructionsProviderLoader.load
.SeekableChannelsProviderPlugin
methods have been changed, now use a
String
for the URI scheme instead of aURI
.DataInstructionsProviderPlugin.createInstructions
method has been
changed, now uses aString
for the URI scheme instead of aURI
.IcebergTableParquetLocationKey
has added a new
SeekableChannelsProvider
parameter. - (38a3aa8)- the
table()
method onMultiJoinTable
has been
changed to@property
, which means to access the underlying table of a
multi join result, the user can no longer call thetable()
method but
instead just use thetable
attribute on aMultiJoinTable
instance. - (057c0a6) - the default behavior is changed to converting the
object-type columns in the given data frame first before creating a DH
table from it. While this change would result in much more sensible
column types in DH, e.g. String vs. PyObject for object type column with
only strings, it however will break user code written to handle the
PyObject type columns in the result table. - (4b8e20f) - The length of a business day was being incorrectly
computed by 1 ns. To keep the business day length the same for existing
calendars, the close of a business period has been changed from
inclusive to exclusive. This default behavior can be overridden by using
<includeClose>true</includeClose>
when specifying time ranges. This
will include the closing time for the range and will result in a
business period that is 1 ns longer. Business calendars using the legacy
format must be upgraded to the current format to use
<includeClose>true</includeClose>
. - (e75b192)
Bug Fixes
- (cpp-client) Add comments, fix typos, correct parameter names (#6319) - (f62088d) - Corey Kosak
- (cpp-client) Correctly process Deephaven NULL convention for types with underlying int64 representation (#6137) - (e8e0c88) - Corey Kosak
- (cpp-client) Bump arrow version (fixes Windows build) (#6002) - (499ba56) - Corey Kosak
- (cpp-client) WinSock calls need to be prefaced by WSAStartup (#5986) - (28ac180) - Corey Kosak
- (cpp-client) Fix certain error messages (#5988) - (5fc0504) - Corey Kosak
- (cpp-client) Provide correct instructions for making a RelWithDebInfo build (#5975) - (3aa117d) - Corey Kosak
- (csharp/ExcelAddIn) adjust and clarify README.md (#6012) - (dfa2981) - Corey Kosak
- (go) Disable Example_runScript for now because it breaks nightlies (#6318) - (6ffb635) - Corey Kosak
- (py-client-test) Read PluginClients In Order; fix shared_ticket Ref (#6155) - (09a7849) - Nate Bauernfeind
- (py-test) Wait for Full Cycle Before Checking if SubTable Failed (#6167) - (e4c1ddc) - Nate Bauernfeind
- (test) Eliminate Race Between LivenessScope Closing and GC (#6197) - (16c55ac) - Nate Bauernfeind
- Better chunk cleanup on StreamToBlinkTableAdapter.destroy, and a few listener.destroy fixes (#6406) - (52af771) - Ryan Caudy
- Apply auto-locking in time_window() (#6411) - (238d538) - Jianfeng Mao
- Close Jetty h2 streams with RST_STREAM and no error code (#6401) - (6ada0cb) - Colin Alworth
- return type for IcebergCatalogAdapter::load_table in python (#6408) - (5396c3a) - Shivam Malhotra
- Ensure that rollup and tree snapshot tests succeed reliably (#6407) - (a4a5285) - Ryan Caudy
- Rename directory containing proto files (#6379) - (8df9655) - Colin Alworth
- Correct rollup and tree snapshot code to wait for missed structural dependencies (#6395) - (acdb6bf) - Ryan Caudy
- Expanding hierarchical rows should account for viewport position (#6398) - (ae5b8c6) - Colin Alworth
- Use the string representation of a Python UDF as its name when it doesn't have the name attribute (#6399) - (2b6bd3c) - Jianfeng Mao
- Use correct naming conventions for Parquet list (#6391) - (c5018cf) - Devin Smith
- Correctly handle signature-less functions for Py UDF calls (#6368) - (b0c417e) - Jianfeng Mao
- ensure Iceberg layouts own the SeekableChannelsProvider (#6371) - (38a3aa8) - Devin Smith
- Address a number of liveness-related issues (#6366) - (02127ae) - Ryan Caudy
- Update web version 0.98.0 (#6369) - (c417486) - github-actions[bot]
- Static aggregations when a data index uses different names for the key columns should remap names correctly (#6360) - (16d061b) - Ryan Caudy
- Deprecate and stop firing JS token refresh event (#6317) - (b8c993a) - Colin Alworth
- Alows clients to expect that query performance results have been logged before they receive a response (#6334) - (7657ff5) - Ryan Caudy
- Support reading partitioned parquet from S3 bucket root URI (#6316) - (6d0344c) - Shivam Malhotra
- WouldMatch does not properly memoize. (#6313) - (6992036) - Charles P. Wright
- update S3ParquetTestBase testReadWriteUsingProfile (#6310) - (56e3cdf) - Devin Smith
- Add numpy as a required dependency for py client (#6308) - (640ab8f) - Jianfeng Mao
- Ensure surefire-action-report for nightly only runs on main (#6274) - (306153a) - Devin Smith
- Wrap TicketRouter flightInfoFor and resolve calls with wrapAsFailedExport (#6215) - (0b7726a) - Devin Smith
- JS API shouldn't require reference to window object (#6193) - (680047b) - Colin Alworth
- For iceberg test failures with unclosed ResolvingFileIO instance (#6217) - (8f02178) - Shivam Malhotra
- Subscribing to an uncoalesced table must not make it seem coalesced (#6211) - (22c20cf) - Colin Alworth
- Don't try to expose TypedTicket through JS API (#6212) - (8e79f7a) - Colin Alworth
- JS API rollups with unique aggs must specify null sentinel (#6202) - (3692f7a) - Colin Alworth
- Capture QueryCompiler for plottin...
v0.34.4
What's Changed
- ci: Trigger actions on pull requests to rc/v* branches by @niloc132 in #6412
- fix: various numpy backports by @devinrsmith in #6416
- fix: Correct rollup and tree snapshot code to wait for missed structural dependencies by @niloc132 in #6410
- fix: JS API rollups with unique aggs must specify null sentinel (#6202) by @niloc132 in #6409
Full Changelog: v0.34.3...v0.34.4
v0.36.1
Bug Fixes
- Provide a warning when running autocomplete in a way that could segfault (#5980) - (4581ce5) - Colin Alworth
- correct pydocs for table_definition in parquet (#5982) - (39ac76f) - Devin Smith
- JS API should use GetConfigurationConstants for auth calls (#5977) - (6e0be7b) - Colin Alworth
- use correct syntax for code-block in python documentation (#5979) - (8c446a7) - Devin Smith
- Update web version 0.90.0 (#5976) - (0eb36cb) - Mike Bender
- Parallel Where should not NPE on a Big TableUpdate With Both Adds and Mods (#5972) - (604e434) - Nate Bauernfeind
Features
- Add static getter for TableDefinition in KafkaTools - (c9d6575) - robbcamera
- Expose FileIO (#5978) - (2ec6210) - Andrew
Full Changelog: v0.36.0...v0.36.1
v0.36.0
What's Changed
- C++ Client: support for interop, plus some interop test entry points by @kosak in #5685
- C++ client: clean up some tests by @kosak in #5687
- C++ Client: Small changes to support interop by @kosak in #5688
- Add javadoc and sources jar for shadow publishing by @devinrsmith in #5686
- Bump to 0.36.0-SNAPSHOT by @devinrsmith in #5689
- ci: Workflow to check PR for conventional commit format by @mofojed in #5528
- Bump docker/build-push-action from 5 to 6 by @dependabot in #5654
- build: Bump to gradle 8.8 by @devinrsmith in #5661
- chore: Add dependabot commit message prefix by @devinrsmith in #5691
- feat(cppclient): provide entry points for C API by @kosak in #5695
- test: Fix ArrayColumn Access WhereFilter Test by @nbauernfeind in #5696
- chore: Upgrade jedi to 0.19.1 by @mattrunyon in #5693
- fix: correctly produce Kafka JSON nulls for int fields by @devinrsmith in #5702
- fix(cppclient): Clarify a comment explaining why a test is disabled, … by @kosak in #5705
- feat(csharpclient): First pass at a C# client by @kosak in #5703
- fix(cppclient): Remove extension from dhclient and dhcore for cross-platform compatibility by @kosak in #5706
- build: Introduce gradle version catalog by @devinrsmith in #5683
- fix: Expose base, "underlying" table for Partitioned Table Enhancements by @AkshatJawne in #5645
- ci: add gradle to dependabot by @devinrsmith in #5715
- feat(web): Update web version 0.84.0 by @github-actions in #5698
- fix(cppclient): Update versions and change build type by @kosak in #5721
- fix: make TableListenerHandle a JObjectWrapper again by @jmao-denver in #5713
- build: Remove java classpath conventions by @devinrsmith in #5724
- fix: R CI docsite issue by @alexpeters1208 in #5729
- refactor: Remove unused java.awt checks in Require/Assert by @niloc132 in #5733
- refactor: Compare final boxed/primitive types with equality by @niloc132 in #5731
- build: Migrate remaining library dependencies to gradle version catalog by @devinrsmith in #5738
- chore: Add assignees to dependabot PRs by @devinrsmith in #5743
- chore(gradle): bump info.picocli:picocli from 4.6.1 to 4.7.6 by @dependabot in #5720
- chore(gradle): bump deephaven-csv from 0.12.0 to 0.14.0 by @dependabot in #5740
- chore(gradle): bump com.avast.gradle:gradle-docker-compose-plugin from 0.17.6 to 0.17.7 by @dependabot in #5744
- feat: Add auto-legalization for Iceberg Schema column names. by @lbooker42 in #5746
- feat: generator-based chunky Table data iteration by @jmao-denver in #5595
- refactor: Remove Math.nextUp call in QueryConstants by @niloc132 in #5747
- chore(gradle): bump com.h2database:h2 from 2.1.212 to 2.2.224 by @dependabot in #5719
- chore: Bump calcite to 1.37.0 by @devinrsmith in #5757
- build: Make it easier to manually run GWT tests from the IDE by @niloc132 in #5725
- refactor: Remove dead code in ByteBufferInputStream by @niloc132 in #5742
- fix(cpp-client): update vcpkg baseline to include fix for thrift 0.20.0 download hash by @jcferretti in #5755
- refactor!: Remove tracking of "culprit" from Require methods by @niloc132 in #5739
- fix: For NPE when sorting dictionary-encoded null string columns by @malhotrashivam in #5758
- refactor!: Remove gnu.trove from RowSet API by @niloc132 in #5730
- chore(gradle): bump javax.annotation:javax.annotation-api from 1.3.1 to 1.3.2 by @dependabot in #5762
- feat: Extract Codec & friends from Util into separate modules by @abaranec in #5727
- fix: Fix readback of parquet files with missing dictionary page offsets by @abaranec in #5765
- feat: Modified parquet decompression from buffered to streaming operation by @malhotrashivam in #5712
- fix(cpp-client): Make build instructions more explicit about server step. by @jcferretti in #5766
- chore: Add SECURITY.md by @devinrsmith in #5768
- feat(api)!: Support merged listening on multiple tables by @jmao-denver in #5672
- refactor: Migrate empty arrays from CollectionUtil to ArrayTypeUtils by @niloc132 in #5748
- fix: For failure in path to URI conversion on windows by @malhotrashivam in #5779
- test: Update JS API PartitionedTable test to stop using getKeyTable() by @niloc132 in #5775
- chore(gradle): bump testcontainers from 1.19.4 to 1.19.8 by @dependabot in #5771
- feat: Update web version 0.86.0 by @github-actions in #5790
- chore(gradle): bump jmh from 1.35 to 1.37 by @dependabot in #5763
- chore(gradle): bump jmock from 2.12.0 to 2.13.1 by @dependabot in #5745
- chore(gradle): bump org.postgresql:postgresql from 42.7.1 to 42.7.3 by @dependabot in #5718
- chore: bump docker base images by @devinrsmith in #5784
- refactor: move partition kernel to test source set by @devinrsmith in #5783
- chore: bump jmh to 1.37 by @devinrsmith in #5785
- chore(gradle): bump slf4j from 2.0.11 to 2.0.13 by @dependabot in #5793
- chore(gradle): bump groovy from 3.0.21 to 3.0.22 by @dependabot in #5794
- chore(gradle): bump testcontainers from 1.19.8 to 1.20.0 by @dependabot in #5787
- perf: Add ForkJoinPool.commonPool()-based OperationInitializer for nested parallel DataIndex building by @rcaudy in #5789
- fix(cpp-client): deephavenConfig.cmake provides transitive dependencies by @jcferretti in #5792
- feat: Add props for controlling WebGL settings by @mofojed in #5773
- fix: Update web version 0.86.1 by @mofojed in #5804
- refactor: Barrage stream reading into Chunks by @niloc132 in #5692
- fix: correct floating point ChunkHasher by @devinrsmith in #5778
- refactor: use ObjectComparisons.compare for fixupObjectComparisons by @devinrsmith in #5781
- fix: Check for null result in error handling by @jmao-denver in #5808
- feat: Added support to read parquet metadata files from S3 by @malhotrashivam in #5777
- refactor!: Rearrange TypeUtils and ArrayTypeUtils so they can be shared with JS API by @niloc132 in #5780
- refactor!: Remove or inline Assert/Require methods so the classes can be shared with JS API by @niloc132 in #5782
- perf: PercentileTypeHelpers, use explicit comparison operator by @devinrsmith in #5815
- perf: SortCheck, use explicit comparison operator by @devinrsmith in #5816
- perf: Blink / AddOnly SortedFirstOrLast, use explicit comparison operator by @devinrsmith in #5818
- perf: Remove unused naturalJoin key ...
v0.35.3
What's Changed
- fix: Make Java, Python wheel artifacts have same dependencies by @devinrsmith in #5915
Full Changelog: v0.35.2...v0.35.3
v0.35.2
v0.35.1
What's Changed
- ci: Publish jsapi-types patch release with v0.35 tag by @mofojed in #5800
- fix: correctly produce Kafka JSON nulls for int fields by @devinrsmith in #5796
- fix: For NPE when sorting dictionary-encoded null string columns by @malhotrashivam in #5798
- fix: For failure in path to URI conversion on windows by @malhotrashivam in #5799
- feat: Extract Codec & friends from Util into separate modules by @abaranec in #5801
- perf: Add ForkJoinPool.commonPool()-based OperationInitializer for nested parallel DataIndex building by @rcaudy in #5802
- feat: Update web version from 0.83.0 to 0.86.1 by @mofojed in #5805
- fix(cpp-client) Update C++ and R client by @jcferretti in #5807
- fix: make TableListenerHandle a JObjectWrapper again (#5713) by @jmao-denver in #5812
- feat: Add auto-legalization for Iceberg Schema column names by @lbooker42 in #5813
- fix: Fix readback of parquet files with missing dictionary page offse… by @abaranec in #5810
Full Changelog: v0.35.0...v0.35.1
v0.35.0
What's Changed
- Post release bump to 0.35.0-SNAPSHOT by @devinrsmith in #5424
- Update README_PyPi.md by @alexpeters1208 in #5428
- fix: Could not re-open application created variables by @mofojed in #5435
- Allow parallel TableLocation factory invocation in AbstractTableLocationProvider by @rcaudy in #5432
- Move Script Cache Clearing to Dagger by @nbauernfeind in #5436
- Update web version 0.75.0 by @github-actions in #5439
- Improve FileUtils.deleteRecursively diagnostics. by @cpwright in #5430
- Added S3 test tools to help with directory uploading by @devinrsmith in #5442
- Collect all pydeephaven-ticking wheels into single directory by @devinrsmith in #5444
- JS API should return nulls rather than undefined when reading table data by @niloc132 in #5437
- Fix SQL ArrayType / CustomType failure mode by @devinrsmith in #5445
- Update web version 0.75.1 by @github-actions in #5448
- Test for null result in DataIndexer.getOptimalPartialIndex by @rcaudy in #5449
- Update web version 0.76.0 by @github-actions in #5452
- Add logging when a ReplayTableBase has an error during refresh by @rcaudy in #5454
- Arrow Encoding for LocalDate and LocalTime by @nbauernfeind in #5446
- Fix inconsistencies in aggregations and query library functions. by @chipkent in #5368
- Make DataIndex accumulation and transformation parallelizable by @rcaudy in #5457
- Make Numeric.sum return null when there are no inputs or all null inputs by @chipkent in #5461
- Update web version 0.77.0 by @github-actions in #5463
- Fixed bug in cumsum and cumprod when there are multiple initial null values by @chipkent in #5464
- Widen returned types for
UpdateBy
floating point operations. by @lbooker42 in #5371 - Improved threading capabilities of S3+parquet by @malhotrashivam in #5451
- ClockFilter on an empty Table causes NPE on next update cycle by @cpwright in #5474
- Fix a numpy/seq incompatibility bug in 3.8 by @jmao-denver in #5466
- Provide Gradle toolchain resolver implementation by @niloc132 in #5475
- UPDATE: Fix formatting of a hyperlink in pydoc by @elijahpetty in #5356
- UPDATE: fix misspelling by @elijahpetty in #5354
- Bump base images by @devinrsmith in #5481
- Bump cla-assistant/github-action from 2.1.3.pre.beta to 2.4.0 by @dependabot in #5483
- Deprecate implicit String-to-UTF8-bytes ticket methods by @devinrsmith in #5405
- Fix Local Smoke Tests by Allowing ScriptSessionCacheInit's mkdir to Race in Parallel Tests by @nbauernfeind in #5465
- Added a soft reference based shared cache for S3 reads by @malhotrashivam in #5357
- Barrage Ingestion: Support TimeUnit Conversion on Instant and ZonedDateTime Columns by @nbauernfeind in #5488
- Publish deephaven-server-test jar by @devinrsmith in #5467
- Add a C++ client concurrent test/example by @jcferretti in #5490
- Cancel subscribeToLogs and messageStream RPCs when the Session closes by @devinrsmith in #5433
- Don't close long-lived RowSets in Downsampler BucketState by @niloc132 in #5478
- Implement DisplayWrapper#hashCode to fix SelectDistinct Behavior of Previewed Columns by @nbauernfeind in #5281
- Free performance data when ExportObject is released by @niloc132 in #5480
- Bugfix in URI conversion when working with directories by @malhotrashivam in #5493
- Update web version 0.78.0 by @github-actions in #5500
- Move away from ClientMiddleware and ClientAuthHandler in pydeephaven by @jcferretti in #5489
- Unit tests for S3 + parquet by @malhotrashivam in #5441
- Barrage Ingestion: Fix ClassCastExceptions on Empty Primitive Arrays by @nbauernfeind in #5503
- Small ring chunk source cleanup by @devinrsmith in #5502
- Fixed the parquet uint32 reading failure by @malhotrashivam in #5495
- Force PartitionAwareSourceTable to coalesce whenever a partition filter is applied via where by @rcaudy in #5485
- Migrate properties to netty-app from jetty-app and update proj status by @niloc132 in #5505
- 5414 reconnect subscriptions by @niloc132 in #5501
- FlightMessageRoundTripTest: Inner List Type Should not Have Deephaven Type Metadata by @nbauernfeind in #5504
- Generate grpc/pb with commonjs_strict by @niloc132 in #5336
- Use concurrent queue for InputTableService by @devinrsmith in #5492
- Factory for Vectors over entire columns from a Table by @rcaudy in #5506
- Add java-client support for primitive array types by @devinrsmith in #5494
- Updated guava dependency version from 32.0.1 to 33.2.0 by @malhotrashivam in #5511
- Add All-AI deployments by @jjbrosnan in #5367
- Added support for reading Parquet V2 pages by @malhotrashivam in #5508
- Add release note about patch release quick check by @devinrsmith in #5507
- Added fix for NPE when reading from S3 by @malhotrashivam in #5514
- Fix for excessive memory usage when reading parquet by @malhotrashivam in #5516
- Upgraded version for parquet-hadoop by @malhotrashivam in #5469
- Mitigate risks of SoftReference cache OOM by @devinrsmith in #5520
- Bump base server image, pick up jpy==0.17.0 by @devinrsmith in #5527
- Update web version 0.79.0 by @github-actions in #5531
- Remove branching in UDF wrappers via. code gen by @jmao-denver in #5487
- Update C++ dependencies, roughly matching ones used in python. by @jcferretti in #5472
- fix: PyPi README should indicate we require 3.8 or newer by @mofojed in #5544
- Barrage: Coalesce UncoalescedTables Prior to Subscribing/Fetching Data by @nbauernfeind in #5541
- Cache size of files fetched from S3 by @malhotrashivam in #5545
- Proposed superficial fixes around MutableInt/MutableLong usage by @niloc132 in #5450
- Temporary fix for broken US cran mirror for R packages by @niloc132 in #5549
- Ensure that ConsoleService.getHeapInfo is authenticated by @devinrsmith in #5536
- Fix publication details for shadowed jars by @niloc132 in #5548
- fix: Expose layoutHints in JS API for TreeTable by @mofojed in #5555
- Update web version 0.80.0 by @github-actions in #5556
- StorageService paths should be treated as opaque strings, part 1 by @niloc132 in #5532
- Generate ToChar/Short/ByteFunction interfaces and use in chunk apis by @niloc132 in #5559
- fix!:
wavg()
andwsum()
Numeric
functions returnnull
when provided a vector containing only `n...
v0.33.5
What's Changed
- Fix some issues in the test code found by np2.0.0 (#5621) by @mofojed in #5632
- ci: Trigger actions on pull requests to rc/v* branches (#5626) by @mofojed in #5630
- ci: Publish jsapi-types patch release with v0.33 tag by @mofojed in #5625
- fix: Update web version to 0.78.2 by @mofojed in #5624
- Remove latest symlink for docs-ci-v2 by @devinrsmith in #5641
Full Changelog: v0.33.4...v0.33.5