Release Notes - Hive - Version 4.2.0

** Sub-task
    * [HIVE-20189] - Separate metastore client code into its own module
    * [HIVE-22810] - Add drop scheduled query if exists support
    * [HIVE-23690] - TestNegativeCliDriver#[external_jdbc_negative] is flaky
    * [HIVE-23709] - jdbc_handler is flaky
    * [HIVE-26148] - Keep MetaStoreFilterHook interface compatibility after introducing catalogs
    * [HIVE-27899] - Killed speculative execution task attempt should not commit file
    * [HIVE-28351] - TestStreaming to run on Tez
    * [HIVE-28786] - Fix InetSocketAddress usage
    * [HIVE-28798] - Bucket Map Join partially using partition transforms
    * [HIVE-29133] - Support Z-ordering for Iceberg tables via CREATE TABLE
    * [HIVE-29178] - Add Catalog properties support
    * [HIVE-29184] - Basic Variant type support in Hive
    * [HIVE-29261] - Clean up GitHub Actions for Docker Release


** Bug
    * [HIVE-23708] - MergeFileTask.execute() need to close jobclient
    * [HIVE-25351] - stddev(), stddev_pop() with CBO enable returning null
    * [HIVE-25817] - Add parentheses to print statements for python3 compatibility
    * [HIVE-26493] - Hive throws error when querying a view that was created successfully
    * [HIVE-27647] - NullPointerException in LowLevelCacheImpl#putFileData when maxAlloc = chunkLength
    * [HIVE-27805] - Hive server2 connections limits bug
    * [HIVE-27944] - Possible deadlock in HIVE-LLAP when reading  location-based Iceberg tables
    * [HIVE-28222] - Ambiguous table alias exception for queries with self joins
    * [HIVE-28280] - SemanticException when querying VIEW with DISTINCT clause
    * [HIVE-28551] - Stale results when executing queries over recreated tables
    * [HIVE-28630] - Upgrade ORC to 1.9.6
    * [HIVE-28724] - CREATE TABLE is not handled by DDLSemanticAnalyzerFactory
    * [HIVE-28736] - Remove DFS_URI authorization in HMS for CREATE_TABLE event with no explicit LOCATION 
    * [HIVE-28744] - Fix the row count estimation for INT and BIGINT types
    * [HIVE-28790] - ACID deletes are failing with ArrayIndexOutOfBoundsException when direct insert is enabled 
    * [HIVE-28804] - The user does not have the permission for the table hdfs, but can delete the metadata
    * [HIVE-28848] - Remove DFS_URI auth from ALTER_PARTITION if there is no change in partition location
    * [HIVE-28880] - Wrong result when output column in a vectorized expression is used as a scratch column by a child
    * [HIVE-29009] - Intermittent CI timeouts while running tests
    * [HIVE-29012] - NPE in ExplainTask when protologging posthook is enabled
    * [HIVE-29029] - ClassCastException when compiling query with STACK UDTF in multiple UNION ALL branches
    * [HIVE-29037] - Negative elapsed time logging in HiveSplitGenerator
    * [HIVE-29043] - Ban the Jupiter dependency from hive-unit to prevent unit tests from being skipped
    * [HIVE-29047] - Adjust httpclient5 httpcore dependencies in TestHttpServices
    * [HIVE-29051] - TestTezTPCDS30TBPerfCliDriver leaks Postgres container causing intermittent failures elsewhere
    * [HIVE-29055] - TestHplSqlViaBeeLine#testHplSqlExitConditionHandler is broken and passes silently
    * [HIVE-29060] - HivePreparedStatement cannot work well with ? in backticks
    * [HIVE-29066] - PARTITION_NAME_WHITELIST_PATTERN is not honouring session level configuration
    * [HIVE-29067] - insert-select-union-all query fails while publishing InsertEvent if source query does not return output
    * [HIVE-29069] - Query Failure while computing Range Partition Column stats on Numeric partition column types
    * [HIVE-29078] - RuntimeException: Null when starting standalone HMS
    * [HIVE-29080] - Query on Decimal column Partitioned table gives incorrect results with Vectorization ON
    * [HIVE-29081] - CI fails intermittently cause some runs exceed ephemeral storage limits
    * [HIVE-29083] - Iceberg: Unable to create table using HadoopCatalog
    * [HIVE-29084] - Wrong results for LATERAL VIEW queries due to incorrect WHERE filter removal
    * [HIVE-29086] - Fix ClassNotFoundException: org.apache.tez.dag.DAG when engine is mr
    * [HIVE-29089] - MSCK Repair table adding invalid partitions for non string partitions columns
    * [HIVE-29092] - NoClassDefFoundError: io/netty/util/NetUtil when using hive jdbc standalone jar
    * [HIVE-29093] - Alter Table Add Partition operation fails if the DEFAULT_PARTITION_NAME property is a substring of partition value to be added
    * [HIVE-29098] - Dataloss post migrating a partitioned table to iceberg
    * [HIVE-29122] - Vectorization - Support IGNORE NULLS for FIRST_VALUE and LAST_VALUE
    * [HIVE-29124] - Avoid committing files when a task is aborted even though some source has completed
    * [HIVE-29126] - Fix missing chacter in jvm options
    * [HIVE-29130] - Remove jline 2.x
    * [HIVE-29145] - HMS Iceberg REST fails on common HMS
    * [HIVE-29146] - Query with WITH clause fails during split generation when CTE materaliazation is enabled
    * [HIVE-29154] - Fix hive-exec shaded jar config for opencsv package change
    * [HIVE-29157] - Fix flaky tests TestMetastoreLeaseLeader and TestMetastoreLeaseNonLeader
    * [HIVE-29160] - Replace forward() in vectorized operators with vectorForward().
    * [HIVE-29161] - Correct the row count computation affected by Dynamic SemiJoin Reduction
    * [HIVE-29166] - Repeated MERGE query generates duplicates
    * [HIVE-29167] - Use access() api to check permission for different filesystems
    * [HIVE-29175] - Wrong Anti join conversion leading to missing results
    * [HIVE-29176] - Wrong result when HiveAntiJoin is replacing an IS NULL filter on a nullable column
    * [HIVE-29180] - SonarQube reports issues unrelated to changes in the pull request
    * [HIVE-29182] - Upgrade maven-checkstyle-plugin version from 2.17 to 3.5.0
    * [HIVE-29187] - Unable to parse explain analyze statement when query has quoted identifier with special character
    * [HIVE-29190] - Iceberg: [V3] Fix handling of Delete/Update with DV's
    * [HIVE-29200] - CI Spell checking errors in ObjectInspectorUtils and TeradataBinarySerde
    * [HIVE-29201] - Fix flaky test query_iceberg_metadata_of_unpartitioned_table.q
    * [HIVE-29208] - Infinite loop while compiling query with filter predicate containing disjuncts on the same expression
    * [HIVE-29210] - Minor compaction produces duplicates conditionally in case of HMS instance running initiator crash
    * [HIVE-29218] - LOAD OVERWRITE PARTITION on muti-level partititoned external Iceberg table may unexpectedly delete other partitions
    * [HIVE-29222] - Compilation failure when running with thrift profile
    * [HIVE-29230] - Iceberg: Reads fails after Schema evolution with complex type columns
    * [HIVE-29249] - RuntimeException in PlanModifierForASTConv.introduceDerivedTable for queries with self joins
    * [HIVE-29251] - Hive ACID: HiveConf object shouldn't be shared between multiple cleanup task threads
    * [HIVE-29264] - Use metaconf prefix to honor metastore configurations for direct sql in q-files
    * [HIVE-29267] - Fix NPE on Grouping Sets Optimizer for UNION ALL Queries
    * [HIVE-29272] - Query-based MINOR compaction should not consider minOpenWriteId
    * [HIVE-29273] - Default port appended should respect transport mode when host is specified without port
    * [HIVE-29277] - Invalid index should return null for get_json_object 
    * [HIVE-29290] - Wrong results when n-way join contains both anti and outer join
    * [HIVE-29296] - Remove getPrimaryKeys codes from beeline module
    * [HIVE-29297] - The directory of the direct insert manifest files should be hidden from read queries
    * [HIVE-29303] - Fix the 'DnsjavaInetAddressResolverProvider not found' exception in Java-based Beeline
    * [HIVE-29304] - HS2 fails to start if cluster is configured with a mix of LDAP and Kerberos
    * [HIVE-29307] - Incorrect split calculation causing less container to launch
    * [HIVE-29310] - Type casting issue in variant_get UDF
    * [HIVE-29315] - Metastore-client module is missing in metastore sources .tar.gz
    * [HIVE-29318] - PostgreSQL requires every NULL parameter to have an explicit SQL type


** New Feature
    * [HIVE-28219] - Support drop partitions by names in IMetaStoreClient
    * [HIVE-28967] - Support multiple partitions in RELOAD event
    * [HIVE-29006] - Iceberg: V3 support deletion vectors
    * [HIVE-29028] - Iceberg: Implement auto compaction
    * [HIVE-29075] - Iceberg: Optimize auto-compaction by evaluating compaction needs only on modified partitions


** Improvement
    * [HIVE-12679] - Allow users to be able to specify an implementation of IMetaStoreClient via HiveConf
    * [HIVE-19996] - Beeline performance poor with drivers having slow DatabaseMetaData.getPrimaryKeys impl
    * [HIVE-25189] - Cache the validWriteIdList in query cache before fetching tables from HMS
    * [HIVE-25324] - Add option to disable PartitionManagementTask
    * [HIVE-25462] - Test jdbc_split_filter.q is flaky
    * [HIVE-25495] - Upgrade to JLine3
    * [HIVE-27473] - Make SessionHiveMetaStoreClient and HiveMetaStoreClientWithLocalCache composable
    * [HIVE-28135] - Remove HiveIOExceptionHandlerUtil
    * [HIVE-28346] - Make ALTER CHANGE COLUMN more efficient with many partitions
    * [HIVE-28607] - Syntax sugar for Iceberg Branching 
    * [HIVE-28658] -  Iceberg REST Catalog client
    * [HIVE-28667] - Error initializing field trimmer instance when starting HS2
    * [HIVE-28780] - Hive should support IPv6
    * [HIVE-28844] - Drop the property hive.metastore.server.tcp.keepalive and hive.server.tcp.keepalive
    * [HIVE-28899] - HMS 'get_table_meta' causes full scan on TBLS and increases MySQL CPU usage
    * [HIVE-28910] - Remove redundant IS NOT NULL predicates when expanding SEARCH
    * [HIVE-28952] - TableFetcher to return Table objects instead of names
    * [HIVE-28975] - [HiveAcidReplication] Remove dangling txns from Target side post incremental replication
    * [HIVE-28983] - Log HS2 and HMS PID and update hive-env.sh template
    * [HIVE-29020] - Support OAuth 2 in Iceberg REST Catalog
    * [HIVE-29026] - Cleanup Log4j properties file to adhere to 2.x changes
    * [HIVE-29027] - Move to JDK-21
    * [HIVE-29031] - Setup Derby database in qtests via qt:database option
    * [HIVE-29032] - Enhance qt:database option to expose connection properties in qfiles
    * [HIVE-29036] - Support ViewCatalog through Iceberg REST API
    * [HIVE-29046] - Avoid unecessary perf overhead from handling deprecated properties in MetastoreConf
    * [HIVE-29050] - Optimize the partition validation in add_partitions
    * [HIVE-29056] - Use ExitUtil.terminate instead of System.exit to handle System.setSecurityManager()
    * [HIVE-29062] - Add standalone module for packaging the Metastore
    * [HIVE-29071] - Add release workflow for HMS docker image
    * [HIVE-29073] - Overlay modified session level metaconf to new hmsclient connection
    * [HIVE-29077] - Reduce HMS calls while adding entries into transactionListers while abortTxn
    * [HIVE-29082] - Enhance HiveAuthzContext with a Client Configuration Map
    * [HIVE-29105] - Migrate iceberg-catalog Tests to JUnit 5
    * [HIVE-29109] - Upgrade JUnit Jupiter to 5.13.3 and Maven Surefire Plugin to 3.5.3.
    * [HIVE-29112] - HMS: enable https for Catalog & Property servlets
    * [HIVE-29118] - Remove extra metadata calls if coloring is not needed 
    * [HIVE-29123] - Extend ProtobufInputFormat to handle EOFException for partially written proto files.
    * [HIVE-29129] - Upgrade Sonar Maven Plugin
    * [HIVE-29131] - [Website] Update the hive website and the docs theme
    * [HIVE-29138] - Authentication failure when connecting to SASL enforced ZooKeeper
    * [HIVE-29147] - Iceberg: Table-level column stats filter support
    * [HIVE-29148] - Replace IcebergSplit#blockLocations with Iceberg's utility
    * [HIVE-29149] - Improve TableFetcher.getTables to return Iterable to prevent possible OOM
    * [HIVE-29152] - Migrate iceberg-handler Tests to JUnit 5
    * [HIVE-29165] - PartColNameInfo could introduce high hash collision due to the wide table
    * [HIVE-29179] - Keep the backward compatibility for HIVE-28967
    * [HIVE-29192] - Iceberg: [V3] Add support for native default column type during create
    * [HIVE-29196] - Apply and report checkstyle issues via Sonarqube
    * [HIVE-29198] - Upgrade bouncycastle from 1.78 to 1.82
    * [HIVE-29209] - Remove unnecessary usage of LoginException
    * [HIVE-29211] -  Add LDAP group filtering support for Kerberos-authenticated users
    * [HIVE-29220] - Iceberg: Enable write operations with REST Catalog HMS Client
    * [HIVE-29233] - Iceberg: Validate HiveRESTCatalogClient with external RESTCatalogs like Gravitino
    * [HIVE-29234] - Iceberg: Validate HMS REST Catalog Client with OAuth2
    * [HIVE-29239] - Upgrade checkstyle to 11.1.0
    * [HIVE-29245] - Normalize Java license headers, part 1 - illegal Javadoc
    * [HIVE-29246] - Upgrade derby version to 10.17.1.0
    * [HIVE-29252] - Iceberg: Add support for Column Defaults with Alter commands
    * [HIVE-29253] - Bump netty version to 4.1.127.Final due to CVE-2025-58057, CVE-2025-58056 
    * [HIVE-29254] - Display TxnId associated with the query in show processlist command
    * [HIVE-29280] - Drop deprecated methods from Metastore server side
    * [HIVE-29285] - Iceberg: Add docker-compose setups for REST Catalog integrations with Gravitino and Polaris
    * [HIVE-29291] - Hive ACID: Use minHistoryWriteId by default
    * [HIVE-29292] - Do not call getMSC from client itself, this can lead to deadlock
    * [HIVE-29298] - Refactoring minor issues in profile output servlet


** Test
    * [HIVE-25379] - Fix external_jdbc_table.q and external_jdbc_table_pe​rf.q
    * [HIVE-28965] - tez.DagUtils: Failed to add credential supplier, ClassNotFoundException: org.apache.hadoop.hive.kafka.KafkaDagCredentialSupplier
    * [HIVE-29101] - Add test coverage for the standalone jdbc
    * [HIVE-29155] - Improve performance of TestVectorAggregation
    * [HIVE-29274] - Flaky TestMetastoreLeaseLeader#testHouseKeepingThreads


** Task
    * [HIVE-24419] - Refactor junit database rules to exploit testcontainers
    * [HIVE-28695] - Implement Lineage information for windowing functions
    * [HIVE-28813] - MSCK/Analyze commands can show a warning in console for Small files.
    * [HIVE-28838] - Remove JDBC connection info from explain extended output
    * [HIVE-29000] - Upgrade nimbus-jose-jwt to resolve CVEs
    * [HIVE-29064] - Drop usage of repository.apache.org
    * [HIVE-29068] - Drop deprecated compactor.history.retention.attempted property
    * [HIVE-29107] - Drop avatica version management and use of shaded jars
    * [HIVE-29117] - Refactor deleteDir and moveToTrash
    * [HIVE-29207] - Remove check-spelling CI action
    * [HIVE-29224] - Move TPC-DS CTE suggestion tests in new test suite
    * [HIVE-29226] - Make order of qfile query results deterministic when masking and sorting
    * [HIVE-29237] - TestHiveCommitLocks flakyness
    * [HIVE-29270] - Remove HMS compactor workers deprecated functionality
