Releases: deephaven/deephaven-core
v0.21.1
v0.21.0
What's Changed
- Port DH-11649: Improve Memory Usage of Sparse Static Table update()s by @nbauernfeind in #3316
- Port DH-11625: Improve Would Match Filtering by @nbauernfeind in #3318
- WritableSourceColumn's SinkFillers Have State and Should not be Singletons by @nbauernfeind in #3317
- Bump to 0.21.0 by @devinrsmith in #3321
- Port DH-12807: WindowCheck Should not Allocate Queue Based on Table Size by @nbauernfeind in #3320
- Port DH-11933: Constant Formulas Should use SingleValueColumnSources by @nbauernfeind in #3326
- Add support for seek row through JS API by @mofojed in #3086
- RowKey-Agnostic ColumnSource Optimizations by @nbauernfeind in #3329
- Fix test code for Python 3.10 by @jmao-denver in #3331
- Update proto-generated files for cpp-client by @niloc132 in #3333
- Support generating cpp proto files automatically, with compare checks by @niloc132 in #3339
- Session expiration should be known to clients by @niloc132 in #3338
- Fix infinite loop caused by integer overflow in ParquetTools.writeTable() by @rbasralian in #3332
- Update web version to v0.26.1 by @mofojed in #3343
- Add link to ticket for AggWAvg rollup() support by @devinrsmith in #3351
- Port DH-11656: More efficiently null sparse array sources by @nbauernfeind in #3352
- Update C++ client to support Python ticking client by @kosak in #3342
- Update server-base and server-slim-base to production-like images by @devinrsmith in #3336
- Re-write debug functionality around UGP lock to eliminate cascading failures and better detect improper shared lock use by @rcaudy in #3354
- Add some extra clues to PartitionedTableTest and LivenessManager.manage to try to find our occasional bug by @rcaudy in #3355
- Fix array copy function for booleans by @mofojed in #3357
- Python ticking client - initial implementation by @kosak in #3344
- HierarchicalTableImpl: Change key table extraction and linkage to ignore directives for children of later-encountered ancestors by @rcaudy in #3365
- Simplify js api build by @niloc132 in #3349
- Update start script to support extending the classpath by @rbasralian in #3308
- Disable vectorization on arg count mismatch by @jmao-denver in #3372
- JS API authentication via Flight v2 by @niloc132 in #3371
- TreeTable.promoteOrphans: Drop sentinel column by @rcaudy in #3373
- Update web version to v0.27.0 by @mofojed in #3375
- Add a python code owners. by @chipkent in #3374
- Add chart series support for point shapes and sizes by @mofojed in #3246
- JS API must send full validity buffers when there are non-null items by @niloc132 in #3381
- Add developer quickstart guide for starting a local server by @devinrsmith in #3382
- Relational data ingestion via ADBC/ODBC by @jmao-denver in #3279
- FullOuterJoin Fix Missing Match Columns From Right by @nbauernfeind in #3386
- JS API support for expand all by @emilyhuxng in #3360
- Always set offset of null string in barrage/flight payloads by @niloc132 in #3390
- Wrap OuterJoinTools in Python by @jmao-denver in #3370
- Add java client example for ConsoleService#SubscribeToLogs by @devinrsmith in #3387
- Update web version to v0.28.0 by @mofojed in #3397
- Add
RollingSum
operator toupdateBy()
by @lbooker42 in #2903 - Remove the extra python base images by @devinrsmith in #3335
- Correct JS API handling of int64 and boolean columns by @niloc132 in #3401
- Move subscribeToLogs sending off-thread by @devinrsmith in #3379
- Fix HierarchicalTableImpl bug when replacing an inputed linkage directive with a real one by @rcaudy in #3404
- Wrap rolling sum updateBy operation by @jmao-denver in #3399
- Fixes SubscribeToLogs example to work with authenticated channel by @devinrsmith in #3400
- Use Classgraph to Import Unknown Packages Not Yet Loaded by @nbauernfeind in #3395
- Update web version to v0.29.0 by @mofojed in #3405
- Python debugging support by @niloc132 in #3075
New Contributors
- @emilyhuxng made their first contribution in #3360
Full Changelog: v0.20.0...v0.21.0
v0.20.1
This is a patch release with a few fixes and improvements to authentication.
- 4826774 - TreeTable.promoteOrphans: Drop sentinel column (#3373)
- 8dd1978 - Disable vectorization on arg count mismatch (#3372)
- 1644128 - Update web version to v0.27.0 (#3375)
- 7a25c45 - Update web version to v0.26.1 (#3343)
- a0ce96f - JS API authentication via Flight v2 (#3371)
- 71f3bd7 - Simplify js api build (#3349)
Full Changelog: v0.20.0...v0.20.1
v0.20.0
What's Changed
- Post release bump to 0.20.0 by @devinrsmith in #3158
- Bumps commons-text to 1.10.0 by @devinrsmith in #3160
- Fix ServiceAuthWiring logging of full method name by @devinrsmith in #3165
- Always set the vectorizable attr of PyCallableWrapper when checking vectorizability by @jmao-denver in #3166
- Take buildTableCreationResponse out of safelyExecutes by @devinrsmith in #3161
- Safely close autocomplete streams on the server to avoid logspam by @niloc132 in #3169
- Associate java autocomplete data with the session, rather than stream by @niloc132 in #3173
- Cut table size in half for parquet tests to decrease heap usage by @niloc132 in #3171
- Correct handling for checkInitiateOperation propagation to parallel jobs, fixing parallel partitioned transform by @rcaudy in #3179
- SelectColumnLayer to only allow cross-column parallelization if its SelectColumn is stateless by @rcaudy in #3181
- Fix jedi SAFE mode by @devinrsmith in #3176
- Fix incorrect Table casts of PartitionTables in PartitionedTableService by @nbauernfeind in #3183
- Bump jetty to 11.0.13 by @devinrsmith in #3184
- Bump commons-compress to 1.22 by @devinrsmith in #3185
- Remove httpClient configuration by @devinrsmith in #3188
- Bump woodstox-core to 6.4.0 by @devinrsmith in #3190
- Bump uuid-creator to 5.2.0 by @devinrsmith in #3191
- Bump confluent platform to 7.3.0 by @devinrsmith in #3193
- Bump sslcontext to 7.4.8 by @devinrsmith in #3194
- Bump slf4j to 2.0.6 and logback to 1.4.5 by @devinrsmith in #3189
- Bump t-digest to 3.3 by @devinrsmith in #3192
- Bump commons-lang3 to 3.12.0 by @devinrsmith in #3186
- Bump groovy to 3.0.13 by @devinrsmith in #3196
- Bump deephaven-csv to 0.9.0 by @devinrsmith in #3201
- Shut down LogBuffer listeners when the client stream has closed by @niloc132 in #3170
- Add additional RMSE logic to testTDigestMulti by @devinrsmith in #3205
- Fix LivenessScope for SelectColumnLayer.doApplyUpdate, in order to ensure correct reference counting for parallel update in transform use cases by @rcaudy in #3210
- Modify OA
doRehash()
functions to properly debitrehashCredits
by @lbooker42 in #3211 - Bump base images by @devinrsmith in #3218
- Update Web version to v0.23.0 by @mofojed in #3215
- Add gRPC Aggregation coverage by @devinrsmith in #3101
- Port DH-11271: Rearchitect Static Cross Join to Deal with Rehash More Efficiently by @nbauernfeind in #3222
- Mark ComboAggregate as deprecated by @devinrsmith in #3224
- Port DH-11736: Be more Parsimonious with Chunks during Cross Join by @nbauernfeind in #3226
- Barrage: Extract Parsing Utilities for IPC Style Parsing by @nbauernfeind in #3225
- Port DH-11635: Correct notification queue race in dependency satisfaction by @nbauernfeind in #3234
- Support rollups and trees in the engine and gRPC server, and make table attributes immutable by @rcaudy in #3243
- Update web version to v0.24.0 by @mofojed in #3250
- Audit All
@apiNote
and Remove Duplicate Usages in Single Javadoc by @nbauernfeind in #3256 - Barrage: Encode Packed Booleans Instead of Reinterpretted Bytes by @nbauernfeind in #3213
- Fix TableViewportSubscription race condition by @mofojed in #3252
- Bump to spotless 6.12.0 by @devinrsmith in #3245
- Fix default_groovy.env by @devinrsmith in #3219
- Refactor dagger mains for better extensibility by @devinrsmith in #3159
- Ensure the stamp key is nulled out if the trigger table is empty by @devinrsmith in #3265
- Port DH-12049: Improve and Refactor TestColumnSources and TestDataGeneration by @nbauernfeind in #3269
- Wrap the rollup and tree Table operations by @jmao-denver in #3259
- Update web v0.25.0 by @mofojed in #3274
- Fix typos to 'unreferenceable' by @devinrsmith in #3280
- Specialize our safelyExecute calls to avoid logs by @niloc132 in #3278
- Address issues for PartitionedTable.transform and PartitionedTable.partitionedTransform with static inputs and refreshing result constituents by @rcaudy in #3281
- Add arrow module in Py API by @jmao-denver in #3216
- Iteration and fixes from testing rollups and trees by @rcaudy in #3284
- Corrected generated JS bindings for aggregation protobufs by @niloc132 in #3287
- Add a new enum for hierarchical tables in DHC by @niloc132 in #3286
- gRPC JS and GWT bindings for Hierarchical Table and UpdateBy by @niloc132 in #3288
- Create snapshotWhen as replacement for snapshot by @devinrsmith in #3092
- Add validation for rollup filters and rollup/tree sort restrictions to HierarchicalTableServiceGrpcImpl by @rcaudy in #3289
- Update to the most recent gradle unixStartScript.txt by @devinrsmith in #3040
- Provide default directory for js plugins by @devinrsmith in #3070
- Add JAVA_OPTS and START_OPTS environment variable parsing for gradle by @devinrsmith in #3220
- Add input_table() by @jmao-denver in #3292
- Improve error message for empty ColumnAggregation(s) by @devinrsmith in #3242
- Upgrade to com.avast.gradle:gradle-docker-compose-plugin:0.16.11 by @devinrsmith in #3283
- Rollup: fix off-by-one error preventing expansion of constituent level when row key is 0 by @rcaudy in #3295
- Port DH-11944: Add support for leftOuterJoin by @nbauernfeind in #3294
- Port DH-11506 Regression Test by @nbauernfeind in #3297
- Two rollup/tree fixes by @rcaudy in #3301
- Fix potential NPE while writing StringSets to Parquet by @rbasralian in #3298
- SessionService#release - Quietly and Gracefully handle OutOfOrder/Premature Releases/Cancels by @nbauernfeind in #3299
- When DoExchange is closed by the client, don't respond with an error by @niloc132 in #3304
- Update web version to v0.26.0 by @mofojed in #3307
- Update authorization codegen by @niloc132 in #3306
- Remove unused gRPC method for Pandas DataFrames by @niloc132 in #3156
- Port DH-8170: OuterJoinTools including bugfix DH-12658 by @nbauernfeind in #3309
- Port DH-11558: QueryTable#selectOrUpdate do not Redirect Flat Tables by @nbauernfeind in #3313
- JS API for Hierarchical Tables by @niloc132 in #3290
- Port DH-11580: Fix Incorrect JoinListener Descriptions by @nbauernfeind in #3312
- Remove pyarrow<10 restriction. by @devinrsmith in #3319
**Full C...
v0.19.1
Release notes
This is a patch release that fixes some bugs from v0.19.0.
Fixes
- Fix ServiceAuthWiring logging of full method name (#3165)
- Always set the vectorizable attr of PyCW (#3166)
- Safely close autocomplete streams on the server to avoid logspam (#3169)
- Associate java autocomplete data with the session, rather than stream (#3173)
- Correct handling for checkInitiateOperation propagation to parallel jobs, fixing parallel partitioned transform (#3179)
- SelectColumnLayer to parallelization fixes (#3181)
- Fix jedi SAFE mode (#3176)
- Fix incorrect Table casts of PartitionTables in PartitionedTableService (#3183)
Full Changelog: v0.19.0...v0.19.1
v0.19.0
Release notes
Note: v0.19.1 has been released and fixes a few bugs from the release.
What's Changed
- Post release bump from 0.18.0 to 0.19.0 by @devinrsmith in #3066
- Update docker registry images by @devinrsmith in #3068
- Call pkgutil.walk_packages with prefix set to 'deephaven' in _recursive_import by @jmao-denver in #3072
- JS API stream tables should only adjust sizes if they have a viewport by @niloc132 in #3076
- Bump base images to jpy 0.13.0 by @devinrsmith in #3069
- Adds support for Python 3.11 by @devinrsmith in #3083
- Provide io.deephaven.appmode.ApplicationState.Factory via a Set by @devinrsmith in #3037
- Set the defaults for start_jvm in code by @devinrsmith in #3065
- Corrected AsOfJoin
rehashInternalFull()
to update hashSlots correctly by @lbooker42 in #3093 - Bump grpc and boring ssl by @devinrsmith in #3094
- Bump immutables to 2.9.2 by @devinrsmith in #3095
- Update README by @jjbrosnan in #3053
- Wrap the input tables by @jmao-denver in #3084
- Generalize Python func vectorization by @jmao-denver in #2929
- Plumb whereIn/whereNotIn through gRPC by @devinrsmith in #3090
- Use the PyCallableWrapper in formula code generation by @jmao-denver in #3104
- Bump protoc base, regen proto by @devinrsmith in #3102
- Bump protobuf-java version by @devinrsmith in #3107
- Bump jackson to 2.14.1 by @devinrsmith in #3108
- PyObject const arg needs to be filled with the actual value by @jmao-denver in #3109
- Fixed a small issue in a comment. by @jcferretti in #3112
- Be more specific in py/client2/README.md. by @jcferretti in #3062
- Bump to gradle 7.6 by @devinrsmith in #3113
- Closes #3116: Add null check for rowSet by @abaranec in #3117
- Fix writing files when shorter than previous files by @mofojed in #3118
- Add the convenience function garbage_collect() by @jmao-denver in #3099
- Add a GitHub action to check for release notes labels. by @chipkent in #3124
- Wrap the Table slice op by @jmao-denver in #3110
- Closes #3105: Extract Test helpers into publishable packages by @abaranec in #3111
- Be explicit about GC application by @devinrsmith in #3091
- Add a reference to the descriptor when creating a contains filter by @mofojed in #3129
- Support column swaps in RedefinableTable by @nbauernfeind in #3120
- Remove OHLC charttype, XY will be used instead. by @niloc132 in #2988
- DeferredViewTable's filter ordering logic needs to respect view side effects by @nbauernfeind in #3122
- Add dh-defaults.vmoptions file by @devinrsmith in #3057
- Bump base images to pick up jedi dependency by @devinrsmith in #3132
- Update Web version to v0.22.2 by @mofojed in #3136
- Improve DebugAwareFunctionalLock by @devinrsmith in #3098
- Improve BigInteger handling in Parquet files (Closes #3125) by @abaranec in #3126
- Jedi Autocomplete by @JamesXNelson in #3114
- Move completer to deephaven_internal by @devinrsmith in #3138
- Add configuration to disable autocomplete by @devinrsmith in #3139
- Add dependency on autocomplete feature for PyPi deephaven-server by @devinrsmith in #3140
- TableReplayer fix by @jjbrosnan in #3143
- Cleanup DateTimeFormatters code-style by @devinrsmith in #3145
- Improve Jetty/gRPC shutdown by @niloc132 in #3123
- Correct a merge conflict from #3123 by @niloc132 in #3150
- Improve performance for ConstituentDependency, tighter double-notification testing, MergeListener paranoia by @rcaudy in #3142
- All project types should declare maven repositories by @niloc132 in #3152
- Don't write an all-null column with a dictionary by @niloc132 in #3141
- Authorization: generated interfaces and verified by interceptors by @nbauernfeind in #3079
- Add extra safety checks to ensure the configuration types are known by @devinrsmith in #3154
- Close the inner context of a RegionedContextHolder if it was set by @abaranec in #3155
Full Changelog: v0.18.0...v0.19.0
v0.18.0
Release Notes
As noted in the previous release notes for v0.17.0, the Netty images would no long be produced going forward. As such, this v0.18.0 release is our first release that is exclusively Jetty-based.
Quickstart
docker run --rm -p 10000:10000 ghcr.io/deephaven/server:0.18.0
or
docker-compose.yml
:
version: "3"
services:
deephaven:
image: ghcr.io/deephaven/server:0.18.0
ports:
- "10000:10000"
docker compose up -d
Migration
The default location for notebooks and layouts has changed. Users with existing notebooks or layouts are advised to move these folders from /data
into /data/storage
, or set the configuration property -Dstorage.path=/data
to retain the old location:
docker-compose.yml
:
version: "3"
services:
deephaven:
image: ghcr.io/deephaven/server:0.18.0
environment:
- START_OPTS="-Dstorage.path=/data"
ports:
- "10000:10000"
Docker images
ghcr.io/deephaven/server:0.18.0
ghcr.io/deephaven/server-slim:0.18.0
ghcr.io/deephaven/server-all-ai:0.18.0
ghcr.io/deephaven/server-nltk:0.18.0
ghcr.io/deephaven/server-pytorch:0.18.0
ghcr.io/deephaven/server-sklearn:0.18.0
ghcr.io/deephaven/server-tensorflow:0.18.0
These images are amd64 and arm64 compatible, and were tagged with latest
.
What's Changed
- Post release bump from 0.17.0 to 0.18.0 by @devinrsmith in #2944
- Bump commons-io by @devinrsmith in #2952
- Bump commons-compress to 1.21 by @devinrsmith in #2946
- Bump woodstox dependency by @devinrsmith in #2951
- Bump jdom2 by @devinrsmith in #2954
- Bump base images by @devinrsmith in #2957
- Remove extra file by @devinrsmith in #2959
- Fix server jetty by @devinrsmith in #2960
- Upload error logs on pydoc failure by @devinrsmith in #2961
- Plumb ungroup through TableOperations. by @devinrsmith in #2936
- Bump guava by @devinrsmith in #2950
- Bump grpc version by @devinrsmith in #2953
- Bump jetty to 11.0.12 by @devinrsmith in #2956
- Update to latest groovy 3.0.x, adding support for Java 19 by @niloc132 in #2967
- Bump dagger to 2.44 by @devinrsmith in #2968
- Update web code studio to v0.19.1 by @mofojed in #2973
- Update slf4j and logback dependencies by @devinrsmith in #2969
- Parse date times correctly when importing CSV by @mofojed in #2824
- Devroot cleanup by @devinrsmith in #2974
- Bump kafka clients and avro by @devinrsmith in #2970
- Auto create docs issues from closed PRs by @mattrunyon in #2971
- Update CPP client by @kosak in #2981
- QueryCompiler: Use SHA-256 hash instead of String#hashCode on class body by @nbauernfeind in #2962
- Barrage: apply redirection mapping is broken into disjoint groups by @nbauernfeind in #2942
- Refine Authentication apis, clarify deprecation and migration by @niloc132 in #2865
- Better handling for session expiry by @niloc132 in #2986
- Upgrade to Jetty images by @jjbrosnan in #2945
- Bump base images, includes deephaven-plugin bump to 0.3.0 by @devinrsmith in #2990
- Update from set-output to environment files for output by @devinrsmith in #2991
- Support automatically using all processors for UGP/OpInitThreadPool by @rbasralian in #2905
- Bump boringssl tcnative by @devinrsmith in #3010
- Add code to cpp-client/build.gradle to run tests in docker. by @jcferretti in #3006
- Update Redpanda version in example files (includes newer version of their CLI) by @rbasralian in #2887
- Update C++ client documentation by @kosak in #3014
- Update caching for web assets by @mofojed in #3016
- Rename
listenForUpdates()
toaddUpdateListener()
by @rbasralian in #2989 - Update check-ci-results path to include all build/test-results by @devinrsmith in #3017
- Add /engine/function to codeowners. by @chipkent in #3025
- Query library ifelse support for vector conditions and scalar true and false conditions and percentile bug fix by @chipkent in #3023
- Make ugp auto locking mode the default by @jmao-denver in #3028
- Bump deephaven-csv to 0.8.0 by @devinrsmith in #3030
- C++ client: minor documentation changes by @kosak in #3033
- Remove -netty and related image publishing by @devinrsmith in #3027
- Disable autocomplete for python sessions by @niloc132 in #3032
- Use one websocket per browser client by @niloc132 in #2606
- Remove explicit JVM flags around GC by @devinrsmith in #3009
- Disable weak etags provided by Jetty by @niloc132 in #3038
- Update Clock interface, remove TimeProvider by @devinrsmith in #2998
- Add column and row to ChartDescriptor by @mofojed in #3043
- Clean up non-compliant code in the query library by @lbooker42 in #3039
- ConfigService gRPC and JS API by @niloc132 in #2979
- Wrap Jetty's Resource type to force an invalid last-modified header by @niloc132 in #3045
- Update Web to v0.21.0 by @mofojed in #3049
- Closes #3046: Change some class visibility and augment RegionContextHolder by @abaranec in #3047
- Allow rows/cols to be passed in to python
Figure
constructor by @mofojed in #3042 - Add a bit more detail to C++ python wrapping spike in py/client2. by @jcferretti in #3051
- Simplify Configuration by @devinrsmith in #3035
- Fix getOrSet when environment variables are set by @devinrsmith in #3058
- Web version bump to v0.21.1 by @mofojed in #3060
- Add DEEPHAVEN_QUIET environment variable flag by @devinrsmith in #3061
- Add js-plugins pre-built support by @devinrsmith in #3056
- Multiplexed websocket instances should remove handlers when finished by @niloc132 in #3064
New Contributors
- @rbasralian made their first contribution in #2905
Full Changelog: v0.17.0...v0.18.0
v0.17.0
Jetty transition
This release marks our transition from Netty to Jetty.
The image ghcr.io/deephaven/server:0.17.0
(and related images) are now Jetty based. This greatly simplifies the amount of orchestration necessary to get Deephaven up and running in a containerized environment, and enhances the feature set that the server itself can provide.
For example, a minimal setup via docker is now as easy as:
docker run --rm -p 10000:10000 ghcr.io/deephaven/server:0.17.0
For setups that involve docker-compose.yml, a minimal example looks like:
version: "3"
services:
server:
image: ghcr.io/deephaven/server:0.17.0
ports:
- "10000:10000"
Notice there is no need for the web
, grpc-proxy
, nor envoy
services in this setup.
The notebook storage is provided by default via the /data/notebooks
directory. To mount a local /data
volume to serve as storage, you can add a volume mount via docker:
docker run --rm -p 10000:10000 -v /path/to/your/data:/data ghcr.io/deephaven/server:0.17.0
Please reach out via Deephaven Community Slack if you have any questions about this release or about the transition process.
Docker images
ghcr.io/deephaven/server:0.17.0
ghcr.io/deephaven/server-slim:0.17.0
ghcr.io/deephaven/server-all-ai:0.17.0
ghcr.io/deephaven/server-nltk:0.17.0
ghcr.io/deephaven/server-pytorch:0.17.0
ghcr.io/deephaven/server-sklearn:0.17.0
ghcr.io/deephaven/server-tensorflow:0.17.0
These images are amd64 and arm64 compatible.
For those that need time to transition, we are still providing the Netty based images with the -netty
suffix. For example ghcr.io/deephaven/server-netty:0.17.0
. We expect this will be the last release for Netty-based images.
What's Changed
- Write Encoding stats with data. by @abaranec in #2555
- Post release bump from 0.16.0 to 0.17.0 by @devinrsmith in #2802
- Bump docker base images by @devinrsmith in #2804
- Bump node and python images by @devinrsmith in #2807
- Update py/embedded-server setup for PyPi by @jjbrosnan in #2739
- Allow multiple concurrent DynamicTableRow writers by @nbauernfeind in #2805
- When an ExportObject runner throws StatusRuntimeException forward to client by @nbauernfeind in #2794
- ConstructSnapshot's SharedContext needs to be reset per rowset by @nbauernfeind in #2809
- Refactor CompilerTools into QueryCompiler by @nbauernfeind in #2808
- Arrow Flight Auth 1 and 2 by @nbauernfeind in #2713
- Make DeephavenSessionTestBase use NoLanguageDeephavenSession by @nbauernfeind in #2811
- Use ugp ex-lock to control ticking table ticking by @jmao-denver in #2819
- Updated C++ client code, tests, and examples. by @kosak in #2818
- C++ client examples used in our demo videos by @kosak in #2821
- Fix improper initial magic number placement in Parquet writing, thereby also "fixing" dictionary offset 0 issue by @rcaudy in #2820
- C++ client: fix documentation cross-references, fill in some more docs. by @kosak in #2823
- Remove Python specific checks for parallel evaluation of formulas by @jmao-denver in #2813
- Write a unit test to verify that @FinalDefault is respected by @nbauernfeind in #2825
- Bump to slf4j 2.0.0 and logback 1.4.0 by @devinrsmith in #2826
- Bump jetty to 11.0.11 by @devinrsmith in #2827
- Use double hashing for HashMapBase by @devinrsmith in #2810
- Remove deprecated uses of java.security by @nbauernfeind in #2830
- Merge py integration tests into the main suite by @jmao-denver in #2834
- Support numpy.bool_ to Java Boolean in array() by @jmao-denver in #2839
- Correctly base64 encode binary gRPC trailers to websocket frames by @niloc132 in #2842
- Fixed C++ build instructions and some missing headers by @SuperTails in #2726
- If a TeeStream is gc'd, don't close underlying streams by @niloc132 in #2837
- Package proto files in the top level of the jar based on them by @niloc132 in #2844
- TicketResolver: return failed export object instead of throwing by @nbauernfeind in #2845
- Add version in deephaven_server by @jmao-denver in #2861
- Improve
RowSetBuilderSequential
performance when adding keys from a chunk by @lbooker42 in #2856 - Bump web version v0.17.0 by @mofojed in #2864
- Update
PartitionTable
to useRowSetBuilder
instead ofRowSet.insert()
by @lbooker42 in #2852 - Fix the table used for state manager sizing in ticking left + static right NJ when building from right by @rcaudy in #2877
- Netty enable SO_REUSEADDR to fix bind to port 8080 races by @nbauernfeind in #2879
- Add a vectorized ternary if to the query library. by @chipkent in #2876
- Remove dependency on python-dev-base, follow up to #2583 by @devinrsmith in #2878
- Bump images, add helper script by @devinrsmith in #2880
- Issue #2870: make gradleVersion consistent with checked in wrapper by @JamesXNelson in #2871
- Remove java execution logic during table.py module init by @devinrsmith in #2872
- SessionState should tryManage as dependencies may no longer be live by @nbauernfeind in #2884
- Add query language functions to get data structure sizes. by @chipkent in #2885
- Subscribe to all columns for stream tables by @nbauernfeind in #2882
- Fix test_auto_locking_partitioned_table by @devinrsmith in #2892
- Make io.deephaven.app.GcApplication#enabled public by @devinrsmith in #2891
- Fix improper call to "manage" for static snapshot tables in Table.snapshot implementation by @rcaudy in #2894
- Fix preview columns failing on
boolean[]
columns by @nbauernfeind in #2895 - Wrap ExecutionContext in Python by @jmao-denver in #2867
- Fix eager formula initialization not seeing new columns by @nbauernfeind in #2896
- Wrap consumeToPartitionedTable in Python by @jmao-denver in #2904
- Address integer overflow in static NJ and AJ; clean up wider-than-necessary type usage and eliminate legacy chunked hashers in NJ and AJ by @rcaudy in #2906
- Use builders for
GroupBy
initialization and updates by @lbooker42 in #2886 - Bump node and protoc base images by @devinrsmith in #2915
- Try to Pool / re use compressors where possible. Fixes #2788 by @abaranec in #2792
- Interchange the
vec
andarray
names in the query library by @chipkent in #2917 - Remove unused commons- dependencies by @devinrsmith in #2922
- Bump to jpy 0.12.0 by @devinrsmith in #2918
- Wrap the partitionedAggBy convenience mtd in py by @jmao-denver in #2907
- Fix modified row set for QueryTable.snapshot when rows have been added, and correct row set cleanup when not notifying. Also port some DHE fixes. by @rcaudy in #2921
- Convert
array
tovec
to fix failing tests by @chipkent in #2924 - Bring latest C++ client up to main by @kosak in #2928
- Ensure python session execution context is used for python tests by @devinrsmith in #2926
- Fix QueryScope uri resolution from python by @devinrsmith in #2927...
v0.16.1
v0.16.1 patch release:
- b5af826 - Fix improper initial magic number placement in Parquet writing, thereby also "fixing" dictionary offset 0 issue (#2820)
- 7ed6f4d - ConstructSnapshot's SharedContext needs to be reset per rowset (#2809)
- 97876a3 - Allow multiple concurrent DynamicTableRow writers (#2805)
- 8de443f - Update py/embedded-server setup for PyPi (#2739)
Full Changelog: v0.16.0...v0.16.1
v0.16.0
What's Changed
- Bump protoc and python base images by @devinrsmith in #2707
- Upgrade gradle by @devinrsmith in #2672
- Fixed a race condition in one of the examples by @SuperTails in #2706
- Move the "flatbuffers" library to a "private" namespace by @kosak in #2708
- Bump to next version 0.16.0 by @devinrsmith in #2710
- Bump base images by @devinrsmith in #2709
- Update web version to v0.15.4 by @mofojed in #2711
- Eliminate a race that could cause BaseArrayBackedMutableTable.waitForSequence to hang when there are concurrent updates by @rcaudy in #2722
- Preserve empty and key initializer table support for aggregations by @rcaudy in #2719
- Remove explicit field syncing from Python client by @SuperTails in #2716
- Bump protoc-base by @devinrsmith in #2729
- isNormal was replaced with isFinite by @kosak in #2728
- Make jpy related jars java 8 compatible. by @devinrsmith in #2736
- Update web version 0.15.5 by @mofojed in #2745
- Don't submit parallel initialization jobs from the parallel initialization thread pool. Don't allow FORCE_PARALLEL_SELECT_AND_UPDATE to break the query engine. by @rcaudy in #2747
- Make Python local and global scopes available for query formulas by @jmao-denver in #2422
- ExecutionContext: record state of globals before deferring work by @nbauernfeind in #2539
- Support reading Kafka JSON composite fields as string. Fixes #2751 by @jcferretti in #2752
- Optimize snapshots for large tables by @lbooker42 in #2365
- Bump node and python registry images by @devinrsmith in #2750
- Support reading composite Kafka JSON fields as a JsonNode. Fixes #2754. by @jcferretti in #2755
- Improve
SortedRanges
iterator performance through caching by @lbooker42 in #2748 - fix deephaven learn issue with query param scoping by @nbauernfeind in #2757
- Change Bootstrap.log to System.out instead of System.err by @mofojed in #2743
- Use Sample for getHeapInfo by @devinrsmith in #2759
- Update web to v0.15.6 by @mofojed in #2762
- Add server configuration for mTLS authentication by @devinrsmith in #2548
- UpdateBy gRPC by @devinrsmith in #2635
- Fail incoming grpc connections that don't use http2 by @niloc132 in #2725
- Fix DeephavenFlightSessionTest.updateBy; account for split streams by @devinrsmith in #2767
- Server side application support by @devinrsmith in #2758
- Correctly check for main module when blding scope by @jmao-denver in #2770
- BaseArrayBackedMutableTable#run never reset processedSequence to -1 by @nbauernfeind in #2775
- Fix DoPutObserver memory leaks by @nbauernfeind in #2780
- Add getObject to IdeConnection instead of just IdeSession by @mofojed in #2773
- Fix ExecutionContext and PartitionTable bugs caught by enabling parallel updates by @nbauernfeind in #2756
- Address capacity reservation issue for streaming last-by operators with cached redirections by @rcaudy in #2791
- Provide a servlet filter to automatically translate grpc-web clients calls to grpc by @niloc132 in #2717
- force reference count to zero when table listener failure occurs by @nbauernfeind in #2789
- Add explicit configuration for websockets, http1, and a proxy hint. by @devinrsmith in #2731
- Rewire python<->java logging to be generally friendlier to python by @niloc132 in #2763
- change Table#getMeta to use Class#getCanonicalName for data type by @nbauernfeind in #2796
- Web version bump to v0.16.0, embeddable iframe for charts by @mofojed in #2798
- Reinterpret the ColumnSource prior to creating empty stream generators by @nbauernfeind in #2799
- Gc Application by @devinrsmith in #2795
Full Changelog: v0.15.2...v0.16.0