Apache Spark 4.0.0 marks a significant milestone as the inaugural release in the 4.x series, embodying the collective effort of the vibrant open-source community. This release is a testament to tremendous collaboration, resolving over 5100 tickets with contributions from more than 390 individuals.
Spark Connect continues its rapid advancement, delivering substantial improvements:
Spark SQL is significantly enriched with powerful new features designed to boost expressiveness and versatility for SQL workloads, such as VARIANT data type support, SQL user-defined functions, session variables, pipe syntax, and string collation.
PySpark sees continuous dedication to both its functional breadth and the overall developer experience, bringing a native plotting API, a new Python Data Source API, support for Python UDTFs, and unified profiling for PySpark UDFs, alongside numerous other enhancements.
Structured Streaming evolves with key additions that provide greater control and ease of debugging, notably the introduction of the Arbitrary State API v2 for more flexible state management and the State Data Source for easier debugging.
To download Apache Spark 4.0.0, please visit the downloads page. For detailed changes, you can consult JIRA. We have also curated a list of high-level changes here, grouped by major modules.
ShuffleCleanupMode
TaskInfo.accumulables()
lifespanspark.shuffle.service.removeShuffle
by defaultspark.metrics.appStatusSource.enabled
by defaultspark.stage.ignoreDecommissionFetchFailure
by defaultspark.checkpoint.dir
configspark.ui.jettyStopTimeout
to set Jetty server stop timeoutTransportContext
spark.shuffle.service.db.backend
default value to ROCKSDB
MetricFilter
in StatsdSink
finalizeShuffleMerge
Processing to Dedicated Thread PoolsLiveStageMetrics.accumIdsToMetricType
SQL MERGE
syntax to enable schema evolutionGROUP BY
for MapType
GROUP BY
with MapType nested inside complex typeINSERT
parse_json
GROUP BY calendar_interval_type
WHERE
clauseWITH OPTIONS
syntaxEXECUTE IMMEDIATE
SQL supportMergeInto
in DataFrameWriterV2binary
to string
by to_char
for the formats: hex, base64, utf-8datetime
to string
by to_char
/to_varchar
MODE() WITHIN GROUP (ORDER BY col)
TIMEDIFF
for TIMESTAMPDIFF
to_csv
support arrays/maps/binary as pretty stringsarray_insert()
1-based for negative indexesDynamicPruning
SizeBasedWindowFunction
WITH
expressions by reassigning IDsUnwrapCastInBinaryComparison
NumericType
cast if it can safely up-cast in IsNotNull
InMemoryTableScanExec
LocalLimitExec
when matching OffsetAndLimit
or LimitAndOffset
UnsafeRow
in JSON parserInMemoryFileIndex
to use FileSystem.listFiles
APIignoreInvalidPartitionPaths
configs for skipping invalid partition pathsBroadcastHashJoinExec
propagate partitioning should respect CoalescedHashPartitioningspark.sql.catalog.spark_catalog
supports builtin magic valueTableCatalog#loadTable
should indicate if it’s for writingALTER NAMESPACE ... UNSET PROPERTIES
in v2PERCENTILE_CONT
and PERCENTILE_DISC
hive.thrift.client.maxmessage.size
AvroDeserializer
schema_of_avro
(Scala side)to_avro
and from_avro
SQL functionsDatabricksDialect
to handle SQL type conversionQueryPlan
lock‑freeCOUNT
+ constant folding subqueryNULL
when overflowing during casting from timestamp to integersCOUNT
aggregatesIN
(empty list) under ANSIBinaryFormatter
to make binary output consistentcreateDataFrame
and toPandas
with ArrowaddArtifact(s)
for PySparkmetadataColumn
to PySpark DataFrameinterruptOperation
for PySparkparse_json
in PySparkzeroifnull
and nullifzero
df.read
APIDataset.isEmpty()
by applying global limit 1clusterBy
DataFrameWriter API for ScalagroupingSets
operation in DataFrame API{Frame, Series}.to_hdf
Frame.to_feather
Frame.to_stata
DataFrameGroupBy.corr
json_normalize
for Pandas API on SparkassertDataFrameEqual
convert_dtypes
, infer_objects
, set_axis
in fallback listcompute.ops_on_diff_frames
by defaultps.sql
in Spark Connectnumeric_only
DataFrame.info
(DataFrame|Series).between_time
pd.date_range
assertPandasOnSparkEqual
DataFrame.get_dtype_counts
from Pandas API on Sparkinplace
parameter from CategoricalIndex APIscol_space
parameter from to_latex
Series.between
ps.date_range
& enable test MultiIndex
when axis=1
for concat
GroupBy.nth
behavior to the latest PandasDataFrameGroupBy.sum
Interrupt(Tag|All)
APIs for PySparkBasePythonRunner
listagg
in PySparkclusterBy
DataFrameWriter API for PythonDataFrame.mergeInto
in PySparkspark.profile.render
for SparkSession-based profilingparse_json
alias in PySpark/dataframedict
pairs in MapType
schema inferenceTimestampNTZ
schema inference with prefer_timestamp_ntz
createDataFrame()
dropDuplicates
, dropDuplicatesWithinWatermark
accept var-args
[SPARK-50311] (add |
remove |
get |
clear )Tag(s) APIs |
deleteIfExists
for TransformWithStateInPandas
sql()
faulthandler
a runtime configuration for Python execution in SQLDataType.fromDDL
into PySparkssertSchemaEqual
CalendarIntervalType
to PySparkassertDataFrameEqual
maxBytesPerTrigger
thresholdProcessorContext
to store and retrieve handletransformWithState
operator APIsStateStoreProvider
class before constructorquery.name
for streaming queriessnapshotStartBatchId
/ snapshotPartitionId
for state data source (see SQL)TransformWithStateExec
transformWithState
pyspark base implementation and ValueState
supportTransformWithStateExec
operatortransformWithState
value state variables with state data source readertransformWithState
map state with state data sourceTransformWithStateInPandas
transformWithStateInPandas
transformWithStateInPandas
PruneFilters
for streaming workloadsTransformWithStateInPandas
transformWithState
numUpdatedStateRows
/numRemovedStateRows
metricsTransformWithState
operatorhandleExpiredTimer
function in the stateful processorTransformWithStateInPandas
in batch queriesTransformWithState
with Avro encodingStringIndexer
support nested input columnsThreadInfo
improvements for monitoring APIsSQLSTATE
in error messagespark.eventLog.rolling.enabled
by defaultdisplayOrder
variable to WebUITab
to specify the order in which tabs appearraise_error
improvementThreadStackTrace
LiveStageMetrics.accumIdsToMetricType
QueryContext
in SparkThrowable
proto messageSQLSTATE
mandatorySQLSTATE
in error messageSqlState
in SparkThrowable
proto messagespark.eventLog.rolling.enabled
by defaultspark.master.ui.historyServerUrl
in ApplicationPageui-test
module with Jest to test UI JavaScript codespark.ui.prometheus.enabled
by defaultDataFrameQueryContext
in Spark ConnectisStreaming
in text representation of logical planjobGroupId
to SparkListenerSQLExecutionStart
getCondition
and deprecate getErrorClass
in PySparkExceptionDataFrame.freqItems
and DataFrame.stat.freqItems
DataFrame.sampleBy
and DataFrame.stat.sampleBy
DataFrame.stat.cov
DataFrame.stat.corr
DataFrame.approxQuantile
and DataFrame.stat.approxQuantile
Window
functionsGroupedData.{min, max, avg, sum}
rollup
, cube
, and pivot
DataFrame.randomSplit
DataFrame.to
format_number
functionSparkSession.stop
Column.astype
Column.between
call_udf
functionunwrap_udt
functiongetItem
, getField
, getitem
, etc.)Column.name
Column.{withField, dropFields}
GroupedData.mean
log(arg1, arg2)
SQLStringFormatter
with WithRelations
bloomFilter
function for DataFrameStatFunction
smerge_asof
in Spark ConnectMultiIndex
for to_series()
in Spark ConnectDataset.explode
to Spark Connect Scala Clientsession_id
in SPARK_REMOTE
connection stringSparkSession.Builder
methodsDataStreamWriter.foreachBatch(VoidFunction2)
from_xml
and schema_of_xml
to pyspark, Spark Connect, and SQL functionsDataset.metadataColumn
to Scala ClientDataFrame.foreach
DataFrame.foreachPartition
floor
/round
/bround
now accept Column type scaleSeries.empty
for Spark Connectfrom_xml
support StructType
schemamap and array
parameters by sql()SPARK_CONNECT_USER_AGENT
env variable and include environment specific attributesaddArtifact
grpcio\*
to 1.59.3 for Python 3.12DataFrame.groupingSets
in Python Spark ConnectDataset.groupingSets
in Scala Spark Connect clientArtifactManager
APIs to support custom target directoriesapplyInArrow
to groupBy
and cogroup
in Spark ConnectmapInPandas
/mapInArrow
support ResourceProfile
dumpPerfProfile
and dumpMemoryProfiles
of SparkSessionspark.profile.show
/.dump
for SparkSession-based profilinggetAll
to spark.conf
for feature parity with Scalaspark.profile.clear
for SparkSession-based profilingdict
as MapType
from Pandas DataFrame (via new config)Dataset.observe
for Scala ConnectSparkSession
for ForEachBatch
workerSparkConnectPlanner
to pluginsCheckpoint
and localCheckpoint
in Spark ConnecttoColumn
API in Spark Connectarray_remove
, array_position
, etc.)ExecutionInfo
support for DataFrameDataFrame.mergeInto
support for Spark Connect (Scala & Python)–remote
support)addArtifac
t API to the Spark SQL CoreSparkSessionBuilder
interfaceRuntimeConfig
interfaceDataStreamReader
interfaceStreamingQueryManager
interfaceDataStreamWriter
interfaceverifySchema
parameter of createDataFrame
StructType.toDDL
pyspark.ml.connect
Column.isNaN
in PySparkLibrary Name | Version Change |
---|---|
activation | 1.1.1 -> REMOVED |
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 (NEW) |
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 -> REMOVED |
bcprov-jdk18on | -> 1.80 (NEW) |
bonecp | 0.8.0.RELEASE -> REMOVED |
bundle | -> 2.25.53 (NEW) |
cats-kernel | 2.1.1 -> 2.8.0 |
checker-qual | -> 3.43.0 (NEW) |
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 (NEW) |
derbytools | -> 10.16.1.1 (NEW) |
error_prone_annotations | -> 2.36.0 (NEW) |
esdk-obs-java | -> 3.20.4.2 (NEW) |
failureaccess | -> 1.0.2 (NEW) |
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 (NEW) |
hadoop-openstack | 3.3.4 -> REMOVED |
hadoop-shaded-guava | 1.1.1 -> 1.3.0 |
hadoop-yarn-server-web-proxy | 3.3.4 -> REMOVED |
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 -> REMOVED |
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 (NEW) |
istack-commons-runtime | 3.0.8 -> 4.1.2 |
ivy | 2.5.1 -> 2.5.3 |
j2objc-annotations | -> 3.0.0 (NEW) |
jackson-annotations | 2.15.2 -> 2.18.2 |
jackson-core | 2.15.2 -> 2.18.2 |
jackson-core-asl | 1.9.13 -> REMOVED |
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 -> REMOVED |
jackson-module-scala | 2.15.2 -> 2.18.2 |
jakarta.activation-api | -> 2.1.3 (NEW) |
jakarta.annotation-api | 1.3.5 -> 2.1.1 |
jakarta.inject | 2.6.1 -> REMOVED |
jakarta.inject-api | -> 2.0.1 (NEW) |
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 (NEW) |
java-xmlbuilder | -> 1.2 (NEW) |
javassist | 3.29.2-GA -> 3.30.2-GA |
javax.servlet-api | 4.0.1 -> REMOVED |
jaxb-api | 2.2.11 -> REMOVED |
jaxb-core | -> 4.0.5 (NEW) |
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 (NEW) |
jjwt-impl | -> 0.12.6 (NEW) |
jjwt-jackson | -> 0.12.6 (NEW) |
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 (NEW) |
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 -> REMOVED |
kubernetes-httpclient-vertx | -> 7.1.0 (NEW) |
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 (NEW) |
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 (NEW) |
log4j-slf4j2-impl | 2.20.0 -> 2.24.3 |
logging-interceptor | 3.12.12 -> REMOVED |
mesos | 1.4.3 -> REMOVED |
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 (NEW) |
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 (NEW) |
netty-tcnative-boringssl-static | -> 2.0.70.Final (NEW) |
netty-tcnative-classes | -> 2.0.70.Final (NEW) |
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 (NEW) |
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 (NEW) |
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 -> REMOVED |
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 -> REMOVED |
vertx-auth-common | -> 4.5.12 (NEW) |
vertx-core | -> 4.5.12 (NEW) |
vertx-web-client | -> 4.5.12 (NEW) |
vertx-web-common | -> 4.5.12 (NEW) |
wildfly-openssl | 1.0.7.Final -> 2.2.5.Final |
xbean-asm9-shaded | 4.23 -> 4.26 |
xmlschema-core | -> 2.3.1 (NEW) |
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 |
Last but not least, this release would not have been possible without the following contributors: 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