Apache Spark 4.0.0 是 4.x 系列的首个版本,标志着一个重要的里程碑,它凝聚了充满活力的开源社区的集体努力。此版本是卓越协作的证明,解决了 5100 多个问题,并获得了 390 多名个人的贡献。
Spark Connect 持续快速发展,带来了显著改进
spark.api.mode 配置,可轻松为您的应用程序启用/禁用 Spark Connect。Spark SQL 显著增强了强大的新功能,旨在提升 SQL 工作负载的表达能力和多功能性,例如 VARIANT 数据类型支持、SQL 用户定义函数、会话变量、管道语法和字符串排序规则。
PySpark 持续致力于功能广度和整体开发者体验,带来了原生绘图 API、新的 Python 数据源 API、Python UDTF 支持以及 PySpark UDF 的统一性能分析,同时还有许多其他增强功能。
结构化流(Structured Streaming)通过关键新增功能不断发展,提供了更大的控制力和更便捷的调试,特别是引入了用于更灵活状态管理的 Arbitrary State API v2 和用于更轻松调试的状态数据源。
要下载 Apache Spark 4.0.0,请访问下载页面。有关详细更改,您可以查阅 JIRA。我们还在下方整理了一份按主要模块分组的高级更改列表。
VARIANT 数据类型ShuffleCleanupMode 清理 shuffle 依赖TaskInfo.accumulables() 生命周期减少 Driver 堆内存使用spark.shuffle.service.removeShufflespark.metrics.appStatusSource.enabledspark.stage.ignoreDecommissionFetchFailurespark.checkpoint.dir 配置spark.ui.jettyStopTimeout 以设置 Jetty 服务器停止超时TransportContext 中spark.shuffle.service.db.backend 默认值更改为 ROCKSDBStatsdSink 支持基于正则表达式的 MetricFilterfinalizeShuffleMerge 处理分离到专用线程池LiveStageMetrics.accumIdsToMetricType 的内存使用SQL MERGE 语法以启用模式演进MapType 支持 GROUP BYGROUP BYINSERT 添加写入选项parse_json 中存在重复键GROUP BY calendar_interval_typeWHERE 子句支持星号从句WITH OPTIONS 语法支持动态表选项EXECUTE IMMEDIATESQL 支持DataFrameWriterV2 支持 MergeIntoto_char 将 binary 转换为 hex, base64, utf-8 格式的 stringto_char/to_varchar 将 datetime 转换为 stringMODE() WITHIN GROUP (ORDER BY col)TIMESTAMPDIFF 添加别名 TIMEDIFFto_csv 支持将数组/映射/二进制作为美观字符串array_insert() 对负索引使用 1-basedDynamicPruning 支持广播多个过滤键SizeBasedWindowFunction 插入窗口组限制节点WITH 表达式UnwrapCastInBinaryComparison 支持时间戳类型NumericType 可以在 IsNotNull 中安全地向上转换,则删除其强制转换InMemoryTableScanExec 的正确性问题OffsetAndLimit 或 LimitAndOffset 时注入 LocalLimitExecUnsafeRowInMemoryFileIndex 以使用 FileSystem.listFiles APIignoreInvalidPartitionPaths 配置以跳过无效分区路径BroadcastHashJoinExec 传播分区应遵循 CoalescedHashPartitioningspark.sql.catalog.spark_catalog 支持内置魔术值TableCatalog#loadTable 应指示是否用于写入ALTER NAMESPACE ... UNSET PROPERTIESPERCENTILE_CONT 和 PERCENTILE_DISChive.thrift.client.maxmessage.sizeAvroDeserializer 中放宽类型提升schema_of_avro (Scala 端)to_avro 和 from_avro SQL 函数DatabricksDialect 以处理 SQL 类型转换QueryPlan 无锁COUNT + 常量折叠子查询的边缘情况NULLCOUNT 聚合的正确性问题IN (空列表) 的正确性修复BinaryFormatter 以使二进制输出保持一致createDataFrame 和 toPandas 中的大型变量类型addArtifact(s)metadataColumninterruptOperationparse_jsonzeroifnull 和 nullifzero 创建 SQL 函数别名df.read API 支持时间旅行选项Dataset.isEmpty()clusterBy DataFrameWriter APIgroupingSets 操作{Frame, Series}.to_hdfFrame.to_featherFrame.to_stataDataFrameGroupBy.corrjson_normalizeassertDataFrameEqual 引入灵活参数convert_dtypes, infer_objects, set_axiscompute.ops_on_diff_framesps.sqlnumeric_only 的默认值DataFrame.info 添加 show_counts 参数(DataFrame|Series).between_time 添加 inclusive 参数pd.date_range 添加 inclusive 参数assertPandasOnSparkEqualDataFrame.get_dtype_countsinplace 参数to_latex 中移除 col_space 参数Series.between 中移除 inclusive 参数的布尔输入ps.date_range 中移除 closed 参数并启用测试concat 且 axis=1 时忽略 MultiIndex 的名称GroupBy.nth 行为与最新 Pandas 匹配DataFrameGroupBy.sum 支持字符串类型列Interrupt(Tag|All) APIBasePythonRunner 暴露指标listaggclusterBy DataFrameWriter APIDataFrame.mergeIntospark.profile.renderparse_json 别名dict 对prefer_timestamp_ntz 的 TimestampNTZ 模式推断createDataFrame()dropDuplicates, dropDuplicatesWithinWatermark 接受可变参数[SPARK-50311] (add |
remove |
get |
clear) Tag(s) API |
TransformWithStateInPandas 支持 deleteIfExistssql() 支持参数化 SQLfaulthandler 成为 SQL 中 Python 执行的运行时配置DataFrame.groupingSetsDataType.fromDDL 添加到 PySparkassertSchemaEqual 引入灵活参数CalendarIntervalTypeassertDataFrameEqual 支持maxBytesPerTrigger 阈值ProcessorContext 存储和检索句柄transformWithState 操作符 API 添加 Java 支持transformWithState 操作符的查询进度部分添加自定义指标transformWithState 之后链接其他有状态操作符StateStoreProvider 类query.name 的边缘情况snapshotStartBatchId / snapshotPartitionId (参见 SQL)TransformWithStateExec 创建 StateSchemaV3 文件transformWithState pyspark 基础实现和 ValueState 支持TransformWithStateExec 操作符创建 OperatorStateMetadataV2transformWithState 值状态变量的支持transformWithState 映射状态TransformWithStateInPandas 中支持 ListStatetransformWithStateInPandas 中添加计时器支持TransformWithStateInPandas 中的操作符链PruneFiltersTransformWithStateInPandas 中 ListState 的 TTL 支持transformWithState 中注册的计时器numUpdatedStateRows/numRemovedStateRows 指标TransformWithState 操作符支持 Avro 编码handleExpiredTimer 函数handleInitialStateTransformWithStateInPandasTransformWithState 的模式演进StringIndexer 支持嵌套输入列ThreadInfo 改进SQLSTATEspark.eventLog.rolling.enabledWebUITab 添加 displayOrder 变量以指定标签页的显示顺序raise_error 改进ThreadStackTrace 添加“daemon”、“priority”LiveStageMetrics.accumIdsToMetricType 的内存使用SparkThrowable proto 消息中包含 QueryContextSQLSTATE 成为强制项SQLSTATESparkThrowable proto 消息中包含 SqlStatespark.eventLog.rolling.enabledspark.master.ui.historyServerUrlui-test 模块来测试 UI JavaScript 代码spark.ui.prometheus.enabledDataFrameQueryContextisStreaming 标记jobGroupId 添加到 SparkListenerSQLExecutionStartgetCondition 并弃用 getErrorClasspyspark.mlspark.api.mode 以更好地兼容 Spark ClassicDataFrame.freqItems 和 DataFrame.stat.freqItemsDataFrame.sampleBy 和 DataFrame.stat.sampleByDataFrame.stat.covDataFrame.stat.corrDataFrame.approxQuantile 和 DataFrame.stat.approxQuantileWindow 函数GroupedData.{min, max, avg, sum}rollup, cube, 和 pivotDataFrame.randomSplitDataFrame.toformat_number 函数SparkSession.stopColumn.astypeColumn.betweencall_udf 函数unwrap_udt 函数getItem, getField, getitem 等)Column.nameColumn.{withField, dropFields}GroupedData.meanlog(arg1, arg2)WithRelations 实现 SQLStringFormatterDataFrameStatFunctions 支持 bloomFilter 函数merge_asofto_series() 支持 MultiIndexDataset.explode 添加到 Spark Connect Scala 客户端SPARK_REMOTE 连接字符串中支持指定 session_idSparkSession.Builder 方法DataStreamWriter.foreachBatch(VoidFunction2)from_xml 和 schema_of_xml 添加到 pyspark、Spark Connect 和 SQL 函数中Dataset.metadataColumnDataFrame.foreachDataFrame.foreachPartitionfloor/round/bround 现在接受 Column 类型比例Series.emptysql() 支持 map/array 参数from_xml 支持 StructType 模式sql() 支持 map 和 array 参数SPARK_CONNECT_USER_AGENT 环境变量并包含特定于环境的属性SparkcConnect addArtifact 添加 ivy URI 支持grpcio\* 升级到 1.59.3 以支持 Python 3.12DataFrame.groupingSetsDataset.groupingSetsArtifactManager API 以支持自定义目标目录groupBy 和 cogroup 中添加 applyInArrowmapInPandas/mapInArrow 支持 ResourceProfiledumpPerfProfile 和 dumpMemoryProfiles 方法spark.profile.show/.dumpspark.conf 添加 getAll 以实现与 Scala 的功能对等spark.profile.clearDataset.observeForEachBatch 工作进程支持 SparkSession 的序列化SparkConnectPlanner 中向插件暴露会话Checkpoint 和 localCheckpointtoColumn APIarray_remove, array_position 等)的参数ExecutionInfo 支持DataFrame.mergeInto 支持–remote 支持)addArtifact APISparkSessionBuilder 接口RuntimeConfig 接口DataStreamReader 接口StreamingQueryManager 接口DataStreamWriter 接口spark.mlcreateDataFrame 的 verifySchema 参数StructType.toDDLpyspark.ml.connectColumn.isNaN| 库名称 | 版本变更 |
|---|---|
| activation | 1.1.1 -> 已移除 |
| aircompressor | 0.27 -> 2.0.2 |
| algebra | 2.0.1 -> 2.8.0 |
| aliyun-sdk-oss | 3.13.0 -> 3.13.2 |
| antlr4-runtime | 4.9.3 -> 4.13.1 |
| aopalliance-repackaged | 2.6.1 -> 3.0.6 |
| arrow-format | 12.0.1 -> 18.1.0 |
| arrow-memory-core | 12.0.1 -> 18.1.0 |
| arrow-memory-netty | 12.0.1 -> 18.1.0 |
| arrow-memory-netty-buffer-patch | -> 18.1.0 (新增) |
| arrow-vector | 12.0.1 -> 18.1.0 |
| audience-annotations | 0.5.0 -> 0.12.0 |
| avro | 1.11.4 -> 1.12.0 |
| avro-ipc | 1.11.4 -> 1.12.0 |
| avro-mapred | 1.11.4 -> 1.12.0 |
| aws-java-sdk-bundle | 1.12.262 -> 已移除 |
| bcprov-jdk18on | -> 1.80 (新增) |
| bonecp | 0.8.0.RELEASE -> 已移除 |
| bundle | -> 2.25.53 (新增) |
| cats-kernel | 2.1.1 -> 2.8.0 |
| checker-qual | -> 3.43.0 (新增) |
| chill | 0.10.0 -> 0.10.0 |
| commons-cli | 1.5.0 -> 1.9.0 |
| commons-codec | 1.16.1 -> 1.17.2 |
| commons-compress | 1.23.0 -> 1.27.1 |
| commons-io | 2.16.1 -> 2.18.0 |
| commons-lang3 | 3.12.0 -> 3.17.0 |
| commons-text | 1.10.0 -> 1.13.0 |
| curator-client | 2.13.0 -> 5.7.1 |
| curator-framework | 2.13.0 -> 5.7.1 |
| curator-recipes | 2.13.0 -> 5.7.1 |
| datasketches-java | 3.3.0 -> 6.1.1 |
| datasketches-memory | 2.1.0 -> 3.0.2 |
| derby | 10.14.2.0 -> 10.16.1.1 |
| derbyshared | -> 10.16.1.1 (新增) |
| derbytools | -> 10.16.1.1 (新增) |
| error_prone_annotations | -> 2.36.0 (新增) |
| esdk-obs-java | -> 3.20.4.2 (新增) |
| failureaccess | -> 1.0.2 (新增) |
| flatbuffers-java | 1.12.0 -> 24.3.25 |
| gcs-connector | hadoop3-2.2.14 -> hadoop3-2.2.26 |
| gson | 2.2.4 -> 2.11.0 |
| guava | 14.0.1 -> 33.4.0-jre |
| hadoop-aliyun | 3.3.4 -> 3.4.1 |
| hadoop-annotations | 3.3.4 -> 3.4.1 |
| hadoop-aws | 3.3.4 -> 3.4.1 |
| hadoop-azure | 3.3.4 -> 3.4.1 |
| hadoop-azure-datalake | 3.3.4 -> 3.4.1 |
| hadoop-client-api | 3.3.4 -> 3.4.1 |
| hadoop-client-runtime | 3.3.4 -> 3.4.1 |
| hadoop-cloud-storage | 3.3.4 -> 3.4.1 |
| hadoop-huaweicloud | -> 3.4.1 (新增) |
| hadoop-openstack | 3.3.4 -> 已移除 |
| hadoop-shaded-guava | 1.1.1 -> 1.3.0 |
| hadoop-yarn-server-web-proxy | 3.3.4 -> 已移除 |
| hive-beeline | 2.3.9 -> 2.3.10 |
| hive-cli | 2.3.9 -> 2.3.10 |
| hive-common | 2.3.9 -> 2.3.10 |
| hive-exec | 2.3.9 -> 2.3.10 |
| hive-jdbc | 2.3.9 -> 2.3.10 |
| hive-llap-common | 2.3.9 -> 已移除 |
| hive-metastore | 2.3.9 -> 2.3.10 |
| hive-serde | 2.3.9 -> 2.3.10 |
| hive-service-rpc | 3.1.3 -> 4.0.0 |
| hive-shims | 2.3.9 -> 2.3.10 |
| hive-shims-0.23 | 2.3.9 -> 2.3.10 |
| hive-shims-common | 2.3.9 -> 2.3.10 |
| hive-shims-scheduler | 2.3.9 -> 2.3.10 |
| hk2-api | 2.6.1 -> 3.0.6 |
| hk2-locator | 2.6.1 -> 3.0.6 |
| hk2-utils | 2.6.1 -> 3.0.6 |
| icu4j | -> 76.1 (新增) |
| istack-commons-runtime | 3.0.8 -> 4.1.2 |
| ivy | 2.5.1 -> 2.5.3 |
| j2objc-annotations | -> 3.0.0 (新增) |
| jackson-annotations | 2.15.2 -> 2.18.2 |
| jackson-core | 2.15.2 -> 2.18.2 |
| jackson-core-asl | 1.9.13 -> 已移除 |
| jackson-databind | 2.15.2 -> 2.18.2 |
| jackson-dataformat-cbor | 2.15.2 -> 2.18.2 |
| jackson-dataformat-yaml | 2.15.2 -> 2.18.2 |
| jackson-datatype-jsr310 | 2.15.2 -> 2.18.2 |
| jackson-mapper-asl | 1.9.13 -> 已移除 |
| jackson-module-scala | 2.15.2 -> 2.18.2 |
| jakarta.activation-api | -> 2.1.3 (新增) |
| jakarta.annotation-api | 1.3.5 -> 2.1.1 |
| jakarta.inject | 2.6.1 -> 已移除 |
| jakarta.inject-api | -> 2.0.1 (新增) |
| jakarta.servlet-api | 4.0.3 -> 5.0.0 |
| jakarta.validation-api | 2.0.2 -> 3.0.2 |
| jakarta.ws.rs-api | 2.1.6 -> 3.0.0 |
| jakarta.xml.bind-api | 2.3.2 -> 4.0.2 |
| java-diff-utils | -> 4.15 (新增) |
| java-xmlbuilder | -> 1.2 (新增) |
| javassist | 3.29.2-GA -> 3.30.2-GA |
| javax.servlet-api | 4.0.1 -> 已移除 |
| jaxb-api | 2.2.11 -> 已移除 |
| jaxb-core | -> 4.0.5 (新增) |
| jaxb-runtime | 2.3.2 -> 4.0.5 |
| jcl-over-slf4j | 2.0.7 -> 2.0.16 |
| jersey-client | 2.40 -> 3.0.16 |
| jersey-common | 2.40 -> 3.0.16 |
| jersey-container-servlet | 2.40 -> 3.0.16 |
| jersey-container-servlet-core | 2.40 -> 3.0.16 |
| jersey-hk2 | 2.40 -> 3.0.16 |
| jersey-server | 2.40 -> 3.0.16 |
| jettison | 1.1 -> 1.5.4 |
| jetty-util | 9.4.56.v20240826 -> 11.0.24 |
| jetty-util-ajax | 9.4.56.v20240826 -> 11.0.24 |
| jjwt-api | -> 0.12.6 (新增) |
| jjwt-impl | -> 0.12.6 (新增) |
| jjwt-jackson | -> 0.12.6 (新增) |
| jline | 2.14.6 -> 3.27.1 |
| joda-time | 2.12.5 -> 2.13.0 |
| json4s-ast | 3.7.0-M11 -> 4.0.7 |
| json4s-core | 3.7.0-M11 -> 4.0.7 |
| json4s-jackson | 3.7.0-M11 -> 4.0.7 |
| json4s-jackson-core | -> 4.0.7 (新增) |
| json4s-scalap | 3.7.0-M11 -> 4.0.7 |
| jul-to-slf4j | 2.0.7 -> 2.0.16 |
| kryo-shaded | 4.0.2 -> 4.0.3 |
| kubernetes-client | 6.7.2 -> 7.1.0 |
| kubernetes-client-api | 6.7.2 -> 7.1.0 |
| kubernetes-httpclient-okhttp | 6.7.2 -> 已移除 |
| kubernetes-httpclient-vertx | -> 7.1.0 (新增) |
| kubernetes-model-admissionregistration | 6.7.2 -> 7.1.0 |
| kubernetes-model-apiextensions | 6.7.2 -> 7.1.0 |
| kubernetes-model-apps | 6.7.2 -> 7.1.0 |
| kubernetes-model-autoscaling | 6.7.2 -> 7.1.0 |
| kubernetes-model-batch | 6.7.2 -> 7.1.0 |
| kubernetes-model-certificates | 6.7.2 -> 7.1.0 |
| kubernetes-model-common | 6.7.2 -> 7.1.0 |
| kubernetes-model-coordination | 6.7.2 -> 7.1.0 |
| kubernetes-model-core | 6.7.2 -> 7.1.0 |
| kubernetes-model-discovery | 6.7.2 -> 7.1.0 |
| kubernetes-model-events | 6.7.2 -> 7.1.0 |
| kubernetes-model-extensions | 6.7.2 -> 7.1.0 |
| kubernetes-model-flowcontrol | 6.7.2 -> 7.1.0 |
| kubernetes-model-gatewayapi | 6.7.2 -> 7.1.0 |
| kubernetes-model-metrics | 6.7.2 -> 7.1.0 |
| kubernetes-model-networking | 6.7.2 -> 7.1.0 |
| kubernetes-model-node | 6.7.2 -> 7.1.0 |
| kubernetes-model-policy | 6.7.2 -> 7.1.0 |
| kubernetes-model-rbac | 6.7.2 -> 7.1.0 |
| kubernetes-model-resource | 6.7.2 -> 7.1.0 |
| kubernetes-model-scheduling | 6.7.2 -> 7.1.0 |
| kubernetes-model-storageclass | 6.7.2 -> 7.1.0 |
| libthrift | 0.12.0 -> 0.16.0 |
| listenablefuture | -> 9999.0-empty-to-avoid-conflict-with-guava (新增) |
| log4j-1.2-api | 2.20.0 -> 2.24.3 |
| log4j-api | 2.20.0 -> 2.24.3 |
| log4j-core | 2.20.0 -> 2.24.3 |
| log4j-layout-template-json | -> 2.24.3 (新增) |
| log4j-slf4j2-impl | 2.20.0 -> 2.24.3 |
| logging-interceptor | 3.12.12 -> 已移除 |
| mesos | 1.4.3 -> 已移除 |
| metrics-core | 4.2.19 -> 4.2.30 |
| metrics-graphite | 4.2.19 -> 4.2.30 |
| metrics-jmx | 4.2.19 -> 4.2.30 |
| metrics-json | 4.2.19 -> 4.2.30 |
| metrics-jvm | 4.2.19 -> 4.2.30 |
| netty-all | 4.1.96.Final -> 4.1.118.Final |
| netty-buffer | 4.1.96.Final -> 4.1.118.Final |
| netty-codec | 4.1.96.Final -> 4.1.118.Final |
| netty-codec-dns | -> 4.1.118.Final (新增) |
| netty-codec-http | 4.1.96.Final -> 4.1.118.Final |
| netty-codec-http2 | 4.1.96.Final -> 4.1.118.Final |
| netty-codec-socks | 4.1.96.Final -> 4.1.118.Final |
| netty-common | 4.1.96.Final -> 4.1.118.Final |
| netty-handler | 4.1.96.Final -> 4.1.118.Final |
| netty-handler-proxy | 4.1.96.Final -> 4.1.118.Final |
| netty-resolver | 4.1.96.Final -> 4.1.118.Final |
| netty-resolver-dns | -> 4.1.118.Final (新增) |
| netty-tcnative-boringssl-static | -> 2.0.70.Final (新增) |
| netty-tcnative-classes | -> 2.0.70.Final (新增) |
| netty-transport | 4.1.96.Final -> 4.1.118.Final |
| netty-transport-classes-epoll | 4.1.96.Final -> 4.1.118.Final |
| netty-transport-classes-kqueue | 4.1.96.Final -> 4.1.118.Final |
| netty-transport-native-epoll | 4.1.96.Final -> 4.1.118.Final |
| netty-transport-native-kqueue | 4.1.96.Final -> 4.1.118.Final |
| netty-transport-native-unix-common | 4.1.96.Final -> 4.1.118.Final |
| orc-core | 1.9.6 -> 2.1.2 |
| orc-format | -> 1.1.0 (新增) |
| orc-mapreduce | 1.9.6 -> 2.1.2 |
| orc-shims | 1.9.6 -> 2.1.2 |
| parquet-column | 1.13.1 -> 1.15.2 |
| parquet-common | 1.13.1 -> 1.15.2 |
| parquet-encoding | 1.13.1 -> 1.15.2 |
| parquet-format-structures | 1.13.1 -> 1.15.2 |
| parquet-hadoop | 1.13.1 -> 1.15.2 |
| parquet-jackson | 1.13.1 -> 1.15.2 |
| pickle | 1.3 -> 1.5 |
| py4j | 0.10.9.7 -> 0.10.9.9 |
| rocksdbjni | 8.3.2 -> 9.8.4 |
| RoaringBitmap | 0.9.45 -> 1.3.0 |
| scala-collection-compat | 2.7.0 -> 2.7.0 |
| scala-compiler | 2.12.18 -> 2.13.16 |
| scala-library | 2.12.18 -> 2.13.16 |
| scala-parallel-collections | -> 1.2.0 (新增) |
| scala-parser-combinators | 2.3.0 -> 2.4.0 |
| scala-reflect | 2.12.18 -> 2.13.16 |
| scala-xml | 2.1.0 -> 2.3.0 |
| shims | 0.9.45 -> 已移除 |
| slf4j-api | 2.0.7 -> 2.0.16 |
| snakeyaml | 2.0 -> 2.3 |
| snakeyaml-engine | 2.6 -> 2.9 |
| snappy-java | 1.1.10.5 -> 1.1.10.7 |
| spire | 0.17.0 -> 0.18.0 |
| spire-macros | 0.17.0 -> 0.18.0 |
| spire-platform | 0.17.0 -> 0.18.0 |
| spire-util | 0.17.0 -> 0.18.0 |
| stream | 2.9.6 -> 2.9.8 |
| threeten-extra | 1.7.1 -> 1.8.0 |
| tink | 1.9.0 -> 1.16.0 |
| transaction-api | 1.1 -> 已移除 |
| vertx-auth-common | -> 4.5.12 (新增) |
| vertx-core | -> 4.5.12 (新增) |
| vertx-web-client | -> 4.5.12 (新增) |
| vertx-web-common | -> 4.5.12 (新增) |
| wildfly-openssl | 1.0.7.Final -> 2.2.5.Final |
| xbean-asm9-shaded | 4.23 -> 4.26 |
| xmlschema-core | -> 2.3.1 (新增) |
| xz | 1.9 -> 1.10 |
| zjsonpatch | 0.3.0 -> 7.1.0 |
| zookeeper | 3.6.3 -> 3.9.3 |
| zookeeper-jute | 3.6.3 -> 3.9.3 |
| zstd-jni | 1.5.5-4 -> 1.5.6-9 |
最后但同样重要的是,没有以下贡献者的支持,此次发布是不可能完成的:Aleksei Shishkin, Adam Binford, Aiden Dong, Albert Ziegler, Alden Lau, Aleksandar Tomic, Alessandro Bellina, Alex Khakhlyuk, Alice Sayutina, Allison Wang, Amanda Liu, Amy Tsai, Andrej Gobeljić, Andrew Xue, Andrey Gubichev, Andy Lam, Anish Shrigondekar, Ankur Dave, Anthony Wainer, Anton Lykov, Anton Okolnychyi, Arzav Jain, Attila Zsolt Piros, Avery Qi, Babatunde Micheal Okutubo, Bhuwan Sahni, Bill Schneider, BingKun Pan, Binjie Yang, Biruk Tesfaye, Bjørn Jørgensen, Bo Gao, Bo Xiong, Bo Zhang, Bobby Wang, Bowen Liang, Bruce Robbins, Burak Yavuz, Carter Fendley, Chaerim Yeo, Changgyoo Park, Chao Sun, Chaoqin Li, Cheng Pan, Chenghao Lyu, Chenhao Li, Chenyu Zheng, Chirag Singh, Chloe He, Chris Nauroth, Chris Twiner, Christos Stavrakakis, Cosmin Dumitru, Costas Zarifis, Cuong Nguyen, Daniel Tenedorio, David Cashman, David Milicevic, Davin Tjong, Deepayan Patra, Dejan Krakovic, Dereck Li, Desmond Cheong, Dmitry Zhyhimont, Dmytro Tsyliuryk, Dongjoon Hyun, Dušan Tišma, Eduard Tudenhoefner, Emil Ejbyfeldt, Enrico Minack, Enrique Rebollo, Eren Avsarogullari, Eric Blanco, Eric Marnadi, Eric Maynard, Evan Wu, Fanyue Xia, Fokko Driesprong, Frank Wong, Fredrik Klauss, Gabor Roczei, Gabriel Dahia, Garland Zhang, Gene Pang, Gengliang Wang, Giambattista Bloisi, Gideon P, Gideon Potok, Guihua Wen, Gurpreet Singh, Haejoon Lee, Haiyang Sun, Hannah Amundson, Hanzhong Yuan, Haoyu Qi, Haoyu Weng, Harsh Motwani, Harsh Panchal, Harunobu Daikoku, Hasnain Lakhani, Hayssam Saleh, Helin Jin, Herman Van Hovell, Himadri Pal, HiuFung Kwok, Holden Karau, Huanli Wang, Huaxin Gao, Hubert Kaczmarczyk, Huw Campbell, Hyukjin Kwon, Ian Cook, Ismaël Mejía, Ivan Jevtic, Ivan Mitic, Ivan Sadikov, Izek Greenfield, Jack Chen, Jackie Zhang, Jacob Zheng, Jared Wang, Jason Li, Jean-Francois Desjeans Gauthier, Jerry Peng, Jerry Zhou, Jia Fan, Jiaan Geng, Jiaheng Tang, Jiale Tan, Jiashen Cao, Jiayi Liu, Jim Baugh, Jing Zhan, Jinhai Chen, Johan Lasperas, Jonathan Albrecht, Josh Rosen, Jovan Markovic, Jovan Pavlovic, João Correia, Julek Sompolski, Juliusz Sompolski, Junbo Wang, Junfan Zhang, Jungtaek Lim, Junqing Li, Junyu Chen, Justontheway, Kaashif Hymabaccus, Kaifei Yi, Karim Ramadan, Kaz, Kazuyuki Tanimura, Kelvin Jiang, Kent Yao, Kevin Nacios, Khalid Mammadov, Kivinsae Fang, Knight Chess, Kousuke Saruta, Kris Mok, Kun Wan, Lantao Jin, Liang-Chi Hsieh, Lingkai Kong, Linhong Liu, Liu Cao, Livia Zhu, Longfei Jiang, Luca Canali, Lucy Yao, Maciej Szymkiewicz, Mahesh Kumar Behera, Maksim Konstantinov, Mark Andreev, Mark Jarvin, Marko Ilić, Marko Nikacevic, Martin Grund, Maryann Xue, Mathew Jacob, Matt Braymer-Hayes, Max Gekk, Mayur Bhosale, Menelaos Karavelas, Mengran Lan, Mete Can Akar, Michael Chen, Michael Zhang, Michał Kimborowicz, Mihailo Aleksic, Mihailo Milosevic, Mihailo Timotic, Mikhail Nikoliukin, Milan Cupac, Milan Dankovic, Milan Stefanovic, Min Zhao, Mingkang Li, Mingliang Zhu, Momcilo Mrkaic, Motoyuki Kimura, Mridul Muralidharan, Nebojsa Savic, Neil Ramaswamy, Nemanja Boric, Nemanja Petrovic, Nicholas Chammas, Nicholas Jiang, Nick Young, Nicolas Fraison, Nikhil Sheoran, Nikola Mandic, Niranjan Jayakar, Ole Sasse, Oleksiy Dyagilev, Pablo Langa, Paddy Xu, Parth Chandra, Parth Upadhyay, Patrick Marx, Paul Staab, Petar Vasiljevic, Peter Kaszt, Peter Toth, Phil Dakin, Phil Walker, Ping Xu, Prashanth Menon, Prathit Malik, Qi Tan, Qi Zhu, Qiang Yang, Qingbo Jiao, Raghu Angadi, Rameshkrishnan Muthusamy, Rastko Sapic, Ravi Jain, Raza Jafri, Reza Safi, Richard Chen, Riya Verma, Rob Reeves, Robert (Bobby) Evans, Robert Dillitz, Ron Serruya, Rui Wang, Ruifeng Zheng, Russell Spitzer, Ruzel Ibragimov, Saidatt Sinai Amonkar, Saksham Garg, Sakthi, Sakthi Vel, Sander Goos, Sandip Agarwala, Scott Schenkein, Sean Owen, Sebastian Hillig, Serge Rielau, Shaofeng Li, Shaoyun Chen, Shu Wang, Shuiahu Xie, Shujing Yang, Shuyan Zhang, Shuyou Dong, Siying Dong, Stefan Bukorovic, Stefan Kandic, Steve Loughran, Steve Weis, Stevo Mitric, Subham Singhal, Sumeet Varma, Sunan Xiang, Supun Nakandala, Szehon Ho, Szilard Miko, Takawa Akirayo, Takuya Ueshin, Tanel Kiis, Tao Li, Ted Jenks, Tengfei Huang, Terry Kim, Terry Wang, Thang Long VU, Thomas Hart, Tianhan Hu, Tigran Manasyan, Tim Lee, Tinglong Liao, Tom Sisso, Tom Van Bussel, Tong Wei, Tuan Pham, Uros Bojanic, Uros Stankovic, Utkarsh Agarwal, Vadim Patsalo, Valentin, Venkata Sai Akhil Gudesa, Viktor Lučić, Vinod KC, Vitalii Li, Vlad Rozov, Vladan Vasić, Vladimir Golubev, Vsevolod Stepanov, Wan Kun, Warren Zhu, Wei Guo, Wei Liu, Weichen Xu, Weitao Wen, Wenchen Fan, Willi Raschkowski, William Hyun, Wonseok Yang, Xi Chen, Xi Liang, Xi Lyu, Xianyang Liu, Xiaodong Huan, Xiaoguang Sun, Xiaoping Huang, Xiduo You, Xingbo Jiang, Xinrong Meng, Xinyi Yu, Xinyu Zou, Yanan Xin, Yang Jie, Yannis Sismanis, Yanxiang Cui, Yaohua Zhao, Yi Wu, Yi Zhu, Yifei Wei, Yifeng Hua, Yihong He, Yongyuan Liang, Yousof Hosny, Yu Xu, Yuanjian Li, Yuchen Liu, Yuchuan Huang, Yuming Wang, Zachary Steudel, Zamil Majdy, Zerui Bao, Zeyu Chen, Zhang Liang, Zhen Li, Zhen Wang, Zhihong Yu, Zhiming She, Zhipeng Mao, Zhou JIANG, Zhou Yifan, Zhyhimont Dmitry, Ziqi Liu, Zongze Li, advancedxy, alex35736, antban, camilesing, chenyu, dengziming, dev-lpq, hongshaoyang, huangsheng, huangzhir, jjayadeep06, junyuc25, laglangyue, morvenhuang, rorueda, xin-aurora, xleoken, xunxunmimi5577, yabola, zekai-li