Releases: deephaven/deephaven-core
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
v0.15.1
v0.15.0
What's Changed
- Bump to 0.15.0 by @devinrsmith in #2619
- Fix DeephavenApiServer.run() javadoc regarding blocking. by @jcferretti in #2621
- Treemaps by @devinrsmith in #2560
- Remove unnecessary null checks in js api for figures by @niloc132 in #2620
- Bump node by @devinrsmith in #2630
- Bump node and protoc-base images by @devinrsmith in #2634
- UpdateBy config changes in support of gRPC by @devinrsmith in #2633
- Add support for single string arg for DTW by @jmao-denver in #2645
- Skip JpyConfig if python is already initialized by @devinrsmith in #2640
- Wrap PartitionedTableProxy in Python by @jmao-denver in #2632
- Update redpanda docker repo by @mofojed in #2651
- Bump base images and python requirements by @devinrsmith in #2656
- Create java client tests for view, update, updateView, select, where, and aggBy by @devinrsmith in #2652
- Add port to the Embedded server instance by @mofojed in #2657
- Improve usability and docs for UpdateBy by @lbooker42 in #2659
- Keep copyright at top of file when replicating by @nbauernfeind in #2664
- Add wavgBy, wsumBy, absSumBy in both Table and PartitionedTableProxy by @jmao-denver in #2663
- Don't expect nested protobuf objects to be null by @niloc132 in #2665
- Generate py from protos and correctly mangle python modules by @niloc132 in #2667
- Classpaths for junit (classic) by @devinrsmith in #2670
- Simplify ColumnExpressionValidator by @devinrsmith in #2650
- Upgrade CI to ubuntu-22.04 by @devinrsmith in #2669
- Bring latest C++ client work up to the main branch. by @kosak in #2674
- 2673 Datetime col to numpy array not writeable error by @jmao-denver in #2675
- Extract DH testing server to a gradle extension for reuse by @niloc132 in #2677
- Update web to 0.15.1 by @mofojed in #2676
- Renamed Java updateBy objects by @lbooker42 in #2680
- Go Client API by @SuperTails in #2497
- Port DHE fix for DH-12895 (RowSetSequentialBuilder.appendRowSequence bug) to DHE. by @jcferretti in #2682
- Wrap updateBy operation by @jmao-denver in #2653
- Bump slim base image by @devinrsmith in #2684
- Prune dead web classes by @niloc132 in #2666
- Use better Dockerfile layer ordering to maximize cacheability by @devinrsmith in #2683
- Bump protoc-base image, which now includes go proto binaries by @devinrsmith in #2688
- Implemented Open Addressing hashing in
UpdateBy
operations by @lbooker42 in #2638 - Removed unneeded overrides for updateBy() from SimpleSourceTable and … by @lbooker42 in #2691
- Have a more generous timeout for test cases by @jmao-denver in #2686
- groupByColumns to ColumnName by @devinrsmith in #2662
- Use autolocking ctx manager instead of decorator by @jmao-denver in #2689
- Fix issue with merge of static and refreshing tables by @rcaudy in #2694
- Ensure that the server has been properly initialized before import by @devinrsmith in #2644
- Update Figure Generator to allow nullable parameters by @mofojed in #2687
- Fix broken Go client documentation by @SuperTails in #2696
- Clean up the treemap API by @mofojed in #2678
- Add
go mod verify
to go test by @devinrsmith in #2697 - Add note and slightly simplify TableAdapterImpl by @devinrsmith in #2698
- Fix broken link in Go client docs by @SuperTails in #2700
- LazyUpdateTable by @devinrsmith in #2699
- Web version updated to 0.15.2 by @mofojed in #2704
- Add heap size API to community by @mofojed in #2648
- Add LayoutHint column grouping API by @mattrunyon in #2348
Full Changelog: v0.14.0...v0.15.0
v0.14.0
What's Changed
- Bump version to 0.13.0 by @devinrsmith in #2472
- Reinterpret to primitive in SelectColumnLayer and when propagating groupings by @nbauernfeind in #2470
- Bump docker base images by @devinrsmith in #2465
- Python library for embedded server by @niloc132 in #2353
- Add SSLConfig and use in java-client-session by @devinrsmith in #2417
- Bump to 0.14.0 by @devinrsmith in #2473
- Refactor Parquet compression handling to avoid native libraries by @niloc132 in #2397
- Fix closing totals table when aggregations are applied by @mofojed in #2466
- Fix a JPY byte conv issue on arm64 by @jmao-denver in #2478
- Ensure pb int64 is handled as a js string instead of float by @niloc132 in #2482
- PartitionedTable should not use raw generics, fix javadoc by @niloc132 in #2481
- Allow plotby to correctly serialize map-with-default data by @niloc132 in #2483
- DhFormulaColumn allow rowSet column name by @nbauernfeind in #2480
- Make the hotspot-impl module JAVA_PUBLIC. by @jcferretti in #2479
- Add OutOfBand test category for BarrageMessageRoundTripTest by @nbauernfeind in #2488
- Flight#DoPut allow repeated flight descriptor by @nbauernfeind in #2489
- ConditionFilter prefix method parameter names by @nbauernfeind in #2491
- Python server sync - Fixes #1480 by @SuperTails in #2456
- Disable intrinsic for Thread::currentThread by @devinrsmith in #2493
- Retire SmartKey from everywhere but rollups and trees (to be addressed separately) by @rcaudy in #2501
- Remove deephaven-legacy and related code - 1st attempt, no reorg by @jmao-denver in #2503
- Remove leftover legacy doc/code by @jmao-denver in #2505
- Add SSL Configuration for Netty, Jetty, and Embedded by @devinrsmith in #2494
- Missing licenses by @niloc132 in #2499
- Port MovingAverage as-is from legacy to v2 by @jmao-denver in #2502
- Fix a missing task issue in Generator.gradle and remove the semicolon left by mistake by @jmao-denver in #2514
- Fix deadlock-race between closing the session and removing an onCloseCallback by @nbauernfeind in #2511
- Clean up and improve logging for the next time we hit the reverse bug by @rcaudy in #2524
- Defer PageCache creation, start at smaller initial size and grow intead by @abaranec in #2519
- autocomplete: fix recurision resolving variables that reference each other by @nbauernfeind in #2531
- Update license headers by @niloc132 in #2508
- Add publication check for PRs by @devinrsmith in #2541
- Remove server dependency on shared classes, dependencies from web by @niloc132 in #2540
- Add mapping Pandas's nullable numeric types by @jmao-denver in #2518
- Remove jgit, a currently unused dependency by @niloc132 in #2536
- Tensorboard support by @anastasia-si in #2532
- Session export release should only fail from terminal states by @nbauernfeind in #2544
- Add myself as codeowner for docker directory by @devinrsmith in #2545
- Bump images to pick up tensorboard dependencies. by @devinrsmith in #2546
- Session export release; ignore races related to releasing by @nbauernfeind in #2547
- jsapi: fix non deterministic behavior on table order for figures by @nbauernfeind in #2550
- Update
PartitionedTable
pydocs by @chipkent in #2534 - jsapi: fix null check for optional color param by @nbauernfeind in #2521
- Better stream table support over Barrage and jsapi by @nbauernfeind in #2475
- Fix io.deephaven.kafka.publish.PublishToKafka.PublicationGuard by @rcaudy in #2568
- Switch to Parquet-specific snappy codec, and limit input stream size by @niloc132 in #2562
- Bump node/python base images to latest by @devinrsmith in #2571
- Add PartitionedTable transform() and partitioned_transform() methods by @jmao-denver in #2557
- Don't try and map protobuf DayOfWeek.UNRECOGNIZED by @devinrsmith in #2573
- Follow-up fix for tables loading non-deterministically by @niloc132 in #2567
- Cleanup python deephaven package dependencies by @devinrsmith in #2538
- Add an example for simple_spec in our Kafka manual tests. by @jcferretti in #2588
- Wrap bound variables created by clients in corresponding Python wrappers by @jmao-denver in #2582
- Bump deephaven-csv to 0.7.0 by @devinrsmith in #2587
- Add gradle debug flag for netty and jetty servers by @devinrsmith in #2589
- Update web to v0.14.0 by @mofojed in #2585
- Depend on public jpy by @devinrsmith in #2583
- Fix incorrect delegation stack overflow recursion in PartitionAwareSourceTable.selectDistinct by @rcaudy in #2594
- Bump images no dill wrapt by @devinrsmith in #2595
- Fix ColumnHeader.checkName() so it throws on failure. by @kosak in #2599
- Prevent parquet from closing zstd streams on finalization by @niloc132 in #2586
- Issue #2570 - Special variables in query language use type from queryscope variables by @kosak in #2598
- Bump python image by @devinrsmith in #2602
- Expose UGP locking for use in py server by @jmao-denver in #2600
- Fix filter precision for float/double columns by @mofojed in #2605
- Add
updateBy
functionality to Deephaven Community by @lbooker42 in #2516 - Fix for #2559 by @SuperTails in #2604
- Implement gRPC and JS API for PartitionedTable by @niloc132 in #2485
- Web version v0.14.1 by @mofojed in #2613
- Wrap partitioned table factory and add Partition aggregation by @jmao-denver in #2610
- Add UpdateByTable QST by @devinrsmith in #2609
- Allow table/partitionedtable arrays to grow as needed in JS Figure by @niloc132 in #2617
- Add PartitionedTable keys() helper method by @jmao-denver in #2615
- Package and publish applications / wheels by @devinrsmith in #2603
New Contributors
- @SuperTails made their first contribution in #2456
- @abaranec made their first contribution in #2519
- @anastasia-si made their first contribution in #2532
Full Changelog: v0.13.0...v0.14.0