Releases: deephaven/deephaven-core
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.0or
docker-compose.yml:
version: "3"
services:
deephaven:
image: ghcr.io/deephaven/server:0.18.0
ports:
- "10000:10000"docker compose up -dMigration
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.0ghcr.io/deephaven/server-slim:0.18.0ghcr.io/deephaven/server-all-ai:0.18.0ghcr.io/deephaven/server-nltk:0.18.0ghcr.io/deephaven/server-pytorch:0.18.0ghcr.io/deephaven/server-sklearn:0.18.0ghcr.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
Figureconstructor 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.0For 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.0Please 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.0ghcr.io/deephaven/server-slim:0.17.0ghcr.io/deephaven/server-all-ai:0.17.0ghcr.io/deephaven/server-nltk:0.17.0ghcr.io/deephaven/server-pytorch:0.17.0ghcr.io/deephaven/server-sklearn:0.17.0ghcr.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
RowSetBuilderSequentialperformance when adding keys from a chunk by @lbooker42 in #2856 - Bump web version v0.17.0 by @mofojed in #2864
- Update
PartitionTableto useRowSetBuilderinstead 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
GroupByinitialization 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
vecandarraynames 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
arraytovecto 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
SortedRangesiterator 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
UpdateByoperations 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 verifyto 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
PartitionedTablepydocs 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
updateByfunctionality 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
v0.13.0
What's Changed
- BarragePerformanceLog metrics for snapshot requests by @nbauernfeind in #2345
- Merge by @kosak in #2361
- Static Select must flatten when using intermediate columns by @nbauernfeind in #2331
- PythonDeephavenSession#getVariables should unwrap PyObjects by @nbauernfeind in #2362
- Use CanonicalName for preview column description by @nbauernfeind in #2332
- Update JSON doc. by @jcferretti in #2369
- Update Arrow, gRPC, flatbuffers libs to more recent versions. by @jcferretti in #2366
- Add PropertiesUtil for easy loading properties from a file by @devinrsmith in #2372
- Use CachedSchemaRegistryClient instead of manual REST. by @devinrsmith in #2374
- Parquet cleanup to match DHE by @niloc132 in #2376
- Added tests for binary RSP operations to support root-causing DHE issue DH-12544 by @jcferretti in #2378
- Simplify the table listener interface by @jmao-denver in #2321
- Open Addressed Natural Join Hash Table by @cpwright in #2367
- Fix RspBitmapTimeDrivenTest.java to not take one hour by default. by @jcferretti in #2382
- Save UGP locks as module variables by @devinrsmith in #2383
- Add support for multiple worker threads in RspBitmapTimeDrivenTest. by @jcferretti in #2387
- Update web to v0.12.0 by @mofojed in #2388
- Wrap LivenessScope for advanced resource cleanup by @jmao-denver in #2384
- Disable jacoco, keeping our existing code behind a property. by @jcferretti in #2389
- Bump registry images, add helper script by @devinrsmith in #2391
- remove Internals/ by @devinrsmith in #2393
- rename buildSrc/ project name to 'buildSrc' by @devinrsmith in #2394
- Update help link in readme by @dsmmcken in #2395
- Support very large tables by @lbooker42 in #2287
- fix table str by @mofojed in #2354
- Rewrite JS/GWT to use row counts (vs. row batches) by @lbooker42 in #2406
- README note about running on M1 Macs by @chipkent in #2421
- Fix slack message key, append useful info about the branch by @niloc132 in #2424
- Exclude AddOnlyFirstOrLastChunkedOperator::addChunk by @devinrsmith in #2423
- JS API fix in filter by @mofojed in #2409
- Wrap QueryLibrary by @jmao-denver in #2413
- Update to deephaven-csv 0.5.0 by @devinrsmith in #2427
- Close snapshots from BarrageTableResolver by @devinrsmith in #2428
- Correct plots not being rendered in Web UI by @lbooker42 in #2429
- Implement PartitionedTable and necessary changes by @rcaudy in #2418
- Add gradle property for toolchain vendors by @devinrsmith in #2433
- Nightly builds should always use jacoco to work around cglib issue by @niloc132 in #2437
- fixed dependency versions for protobuf and grpcio by @jakemulf in #2442
- Fix python plotting autogeneration method resolution order and type conversion for strings by @chipkent in #2445
- Remove cast to int when getting size from Range by @mofojed in #2441
- Migrate away from custom junit, jmock by @niloc132 in #2440
- Update web version v0.13.0 by @mofojed in #2443
- JDBC implementation of ResultSet -> Table by @nbauernfeind in #2385
- Implement Open Addressing to support AsOfJoin (Review Only) by @lbooker42 in #2396
- pyclient docs improvements by @jakemulf in #1491
- Wrap the new PartitionedTable interface by @jmao-denver in #2446
- Array Expansion Kernel O(n^2) -> O(n) by @nbauernfeind in #2458
- Fix a bug in handling string key values by @jmao-denver in #2461
- Return self.j_partitioned_table by @jmao-denver in #2464
- Bump minimist from 1.2.5 to 1.2.6 in /proto by @dependabot in #2255
- Bug fixes and PartitionedTable constituent optimization work by @rcaudy in #2455
Full Changelog: v0.12.0...v0.13.0
v0.12.0
What's Changed
- Csv parser v3 wrapper by @hythloda in #2229
- Bump tensorflow-base by @devinrsmith in #2235
- Add AsOfMatchRule and add match rule param in aj by @jmao-denver in #2241
- Avoid a naturalJoin in the definition of PerformanceQueries.serverState. by @jcferretti in #2238
- Support
growingviewports for subscriptions by @lbooker42 in #2068 - Add tests for java 18 now that it is available by @niloc132 in #2204
- Simplify and relocate deephaven py server library by @niloc132 in #2196
- Add missing array dtypes used by DTW by @jmao-denver in #2248
- Add format_columns, format_column/row_where by @jmao-denver in #2247
- Fix gradle not telling us docker tasks are failing, and the actual failure by @niloc132 in #2251
- Bump docker images by @devinrsmith in #2252
- Fix an issue with column names in PerformanceQueries.java; add py integration test for it. by @jcferretti in #2253
- Add a missing inc ref to PyObject when unwrapping to python by @devinrsmith in #2212
- jpy debug refcount by @devinrsmith in #2254
- refactor index -> rowKey on ElementSource and subclasses by @nbauernfeind in #2259
- Make initializeWithSnapshot/makeDownsampledQueryTable static by @devinrsmith in #2256
- Add dependabot to the allowlist for CLA by @mofojed in #2257
- Bump version to 0.12.0 by @devinrsmith in #2264
- Handle the sequence type params correctly by @jmao-denver in #2242
- Relocate python sources into py/ by @niloc132 in #2249
- Fix setLayoutHints not setting table attribute by @mattrunyon in #2261
- Rename to get rid of wrong/inconsistent naming by @jmao-denver in #2266
- Permit null log streams, as the code is null safe by @niloc132 in #2268
- Only include server app resources in the app by @niloc132 in #2269
- Add wrappers for application mode by @jmao-denver in #2263
- Add time_window in the new experimental module by @jmao-denver in #2271
- Reduce Java Heap usage for the test by @jmao-denver in #2276
- Bump deephaven-csv to 0.4.0 by @devinrsmith in #2281
- Use NO_ROW_FORMAT_COLUMN instead of null by @mofojed in #2279
- Add a ring table by @devinrsmith in #2220
- Disable test_metrics_get_counters temporarily by @jmao-denver in #2285
- Fix flakiness in test_perfmon.py for test_metrics_get_counters. by @jcferretti in #2289
- Fix reference counting macros by @devinrsmith in #2291
- Add proper error handling for PyObject.getPointer() from jpy by @devinrsmith in #2292
- Create streaming variant of TimeTable; use synthetic column source for both by @nbauernfeind in #2228
- Revert "Revert "jpy vararg leak (#2105)" (#2111)" by @devinrsmith in #2294
- Call CallBooleanMethod instead of CallIntMethod by @devinrsmith in #2297
- Barrage Performance Metrics by @nbauernfeind in #2231
- Add the 'cols' param to Table.snapshot() method by @jmao-denver in #2298
- Fix naming inconsistency and default param values by @jmao-denver in #2295
- BarrageMessageProducer must always flip state by @nbauernfeind in #2307
- ring table for kafka by @devinrsmith in #2290
- Update kafka consume test by @devinrsmith in #2312
- Add support for arrays of primitive types and String for Kafka Avro. by @jcferretti in #2319
- Return full traceback by default in DHError by @jmao-denver in #2318
- update Debezium script for v2 python by @hythloda in #2299
- Add missing endl for KafkaIngester by @devinrsmith in #2328
- Deephaven2 Python layout hints by @mattrunyon in #2296
- Bump images by @devinrsmith in #2330
- Make agg factory funcs accept 'one or many' type arguments by @jmao-denver in #2334
- Defensively include Dockerfile by @niloc132 in #2270
- Undo default debug, remove unnecessary static. by @jcferretti in #2323
- Allow deephaven_legacy to not be installed by @niloc132 in #2267
- Bump base images, includes deephaven-plugin by @devinrsmith in #2338
- Wrap the Filter interface by @jmao-denver in #2336
- Update debezium perf scripts to py2. by @jcferretti in #2339
- JObjectWrapper should delegate to j_object by @devinrsmith in #2277
- Updated python manual tests/examples for the TableType append change. by @jcferretti in #2310
- Add docstrings for predefined DType instances by @jmao-denver in #2333
- Disable CLA check for forks other than main deephaven one. by @jcferretti in #2343
- Refactor ScriptSession injection by @niloc132 in #2337
- Add proper check for JsonNode.isMissingNode() by @devinrsmith in #2346
- AppMode: log error when failed to read application config by @nbauernfeind in #2344
- Add ISO8601 support for convertDateTime. by @devinrsmith in #2341
- JPy should release the GIL while in Java, with a special method to deliberately acquire it by @niloc132 in #2314
- Plugin for pandas dataframes and JS API/UI support by @niloc132 in #1942
- Support providing Avro schemas as a JSON schema definition from python. Fixes #2305. by @jcferretti in #2350
- Support string values for Kafka json ingestion of DateTime types by @devinrsmith in #2352
- Write websocket errors to JULI instead of stdout by @niloc132 in #2349
- Update web to v0.11.7 by @mofojed in #2358
- Primitives (engine-functions) library rewrite by @chipkent in #2288
Full Changelog: v0.11.0...v0.12.0