#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements.  See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to you under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License.  You may obtain a copy of the License at
#
#  http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#


Release Notes - Apache YuniKorn - Version 1.6.0

** Sub-task
    * [YUNIKORN-1351] - Define policy for when to use annotations vs. labels
    * [YUNIKORN-1697] -  Make namespace annotation to support max applications update.
    * [YUNIKORN-1957] - Add e2e tests for user and group limits with wildcard
    * [YUNIKORN-2182] - Set ReadHeaderTimeout in http server
    * [YUNIKORN-2342] - Skeleton of a new UI
    * [YUNIKORN-2343] - Drag and drop the 'config.yaml' file onto the Web UI
    * [YUNIKORN-2344] - Validate the YAML values and only retain the queue fields
    * [YUNIKORN-2345] - Visualize the queue as an SVG
    * [YUNIKORN-2346] - Zoom in/out the queue SVG
    * [YUNIKORN-2347] - Navigate to the center of the queue SVG
    * [YUNIKORN-2348] - Collapse any sub-nodes in the queue SVG
    * [YUNIKORN-2367] - Core: Add support for resource updates 
    * [YUNIKORN-2368] - Shim: Send updated resource requests to core
    * [YUNIKORN-2423] - Remove unnecessary boolean return value from the tracking code
    * [YUNIKORN-2429] - Enhance UGM Manager test coverage
    * [YUNIKORN-2432] - Add unit test coverage for UserTracker/GroupTracker/QueueTracker.canRunApp()
    * [YUNIKORN-2443] - Update the features page with the event system
    * [YUNIKORN-2444] - Create user guide for the event system
    * [YUNIKORN-2451] - add trackingType#String to decorate the logging output
    * [YUNIKORN-2458] - Remove ask repeats from AllocationAsk
    * [YUNIKORN-2459] - Core: Merge ask and allocation objects
    * [YUNIKORN-2460] - SI: Unify ask and allocation APIs
    * [YUNIKORN-2483] - Core: Remove stateaware scheduling logic
    * [YUNIKORN-2484] - Shim: Remove stateaware logic
    * [YUNIKORN-2485] - [Shim] Use docker to build reproducible binaries
    * [YUNIKORN-2486] - [Web] Use docker to build reproducible binaries
    * [YUNIKORN-2487] - [Release] Force REPRODUCIBLE_BUILDS=1 on release
    * [YUNIKORN-2488] - SI: Remove stateaware constants
    * [YUNIKORN-2492] - Delete unused function parameter
    * [YUNIKORN-2494] - Revisit IsAtorAbove, WithIn, GetRemaining Guaranteed resources calculation
    * [YUNIKORN-2495] - Remove App "Starting" state
    * [YUNIKORN-2500] - Use GetPreemptableResource, GetRemainingGuaranteedResource in Preemption flow
    * [YUNIKORN-2502] - Add YuniKorn internal domain name to yunikorn-scheduler-interface
    * [YUNIKORN-2503] - Use internal annotation prefix for placeholder pod
    * [YUNIKORN-2504] - Support canonical labels and align metadata retrieving order in shim
    * [YUNIKORN-2505] - Remove APP_STARTING event from SI
    * [YUNIKORN-2507] - Picking Victims should consider usage and max quota for queues at each level
    * [YUNIKORN-2508] - Remove APP_STARTING references from shim
    * [YUNIKORN-2509] - Update documentation to remove state-aware scheduling
    * [YUNIKORN-2513] - Fix event system to use event.requestCapacity
    * [YUNIKORN-2514] - Update documentation about event.requestCapacity
    * [YUNIKORN-2515] - Add property event.RESTResponseSize to the batch event handler
    * [YUNIKORN-2516] - Update documentation about event.RESTResponseSize
    * [YUNIKORN-2528] - Increase coverage for UGM code
    * [YUNIKORN-2542] - Consistent logging and tracker handling for increment/decrement
    * [YUNIKORN-2543] - Fix locking in RMProxy
    * [YUNIKORN-2545] - Eliminate multiple lock calls from Queue
    * [YUNIKORN-2547] - Queue: clean up logic when adding application
    * [YUNIKORN-2548] - Potential deadlock during concurrent bottom-up/top-down queue traversal
    * [YUNIKORN-2550] - Fix locking in PartitionContext
    * [YUNIKORN-2552] - Recursive locking when sending remove queue event
    * [YUNIKORN-2553] - [core] Enable deadlock detection during unit tests
    * [YUNIKORN-2563] - [shim] Enable deadlock detection during unit tests
    * [YUNIKORN-2565] - Remove Node reference from nodeEvents
    * [YUNIKORN-2566] - Remove AllocationAsk reference from askEvents
    * [YUNIKORN-2567] - Remove Application reference from applicationEvents
    * [YUNIKORN-2568] - Move all xxxEvents types to objects/events
    * [YUNIKORN-2570] - Add test cases to break the current preemption flow
    * [YUNIKORN-2571] - Add hierarchy icon to queue node
    * [YUNIKORN-2579] - SI: Remove maxAllocations field from AllocationAsk
    * [YUNIKORN-2584] - Shim: Remove references to MaxAllocations
    * [YUNIKORN-2585] - SI: Convert AllocationID to AllocationKey
    * [YUNIKORN-2587] - Core: Convert AllocationID to AllocationKey
    * [YUNIKORN-2588] - Shim: Convert AllocationID to AllocationKey
    * [YUNIKORN-2589] - Web: Convert AllocationID to AllocationKey
    * [YUNIKORN-2593] - Remove partition from Allocation/AllocationAsk
    * [YUNIKORN-2594] - Remove unused field AllocationAsk.execTimeout
    * [YUNIKORN-2605] - Move the bottom allocations table on queues screen to the sidebar according to the design
    * [YUNIKORN-2619] - Remove internal labels and annotation from User Guide
    * [YUNIKORN-2624] - Enable hotlinking to YuniKorn
    * [YUNIKORN-2631] - Support canonical labels for queue/applicationId in Admission Controller
    * [YUNIKORN-2641] - Ensure createTime has same semantics for ask and allocation
    * [YUNIKORN-2651] - Update the unchecked error for make lint warnings
    * [YUNIKORN-2656] -  Validate user name
    * [YUNIKORN-2657] - Validate queue generated as part of the placement rules
    * [YUNIKORN-2658] - add nolint:funlen to long functions to supress the lint warnings
    * [YUNIKORN-2660] - Validate "value" param in fixed placement rule
    * [YUNIKORN-2671] - Convert Allocation releases field to singular
    * [YUNIKORN-2677] - Rename AllocationResult to AllocationResultType
    * [YUNIKORN-2679] - Add copy URL button on the allocations panel
    * [YUNIKORN-2686] - Validate user and group specified in filter config
    * [YUNIKORN-2695] - remove core dependency pkg/common
    * [YUNIKORN-2700] - Use AllocationResult instead of Allocation in scheduler routines
    * [YUNIKORN-2715] - Handle special characters for params like queue, username & groupname
    * [YUNIKORN-2716] - Doc changes to escape query params in REST API
    * [YUNIKORN-2729] - remove `--new-from-rev` from Makefile
    * [YUNIKORN-2745] - Log analysis adopting loki
    * [YUNIKORN-2746] - Adopting prometheus service monitor instead of modifying config
    * [YUNIKORN-2749] - Place all observability related doc in same directory
    * [YUNIKORN-2761] - Explain preemption storm in usage doc
    * [YUNIKORN-2769] - Preemption fails between two siblings when preemptor is UG and parent is above OG
    * [YUNIKORN-2778] - Core: Use unified UpdateAllocation API for both asks and allocations
    * [YUNIKORN-2779] - Shim: Use UpdateAllocation for both asks and allocations
    * [YUNIKORN-2783] - Doc changes to describe the new behaviour and caveats
    * [YUNIKORN-2795] - Handle preemption between two siblings without causing preemption loop
    * [YUNIKORN-2803] - Use FitIn for node check
    * [YUNIKORN-2810] - Throw a warning if a pod has inconsistent metadata
    * [YUNIKORN-2812] - Add troubleshooting docs for bind pod volumes timeout
    * [YUNIKORN-2820] - Ask resource requirement should fit within Node capacity
    * [YUNIKORN-2837] - Log & Send Events, Improve logging
    * [YUNIKORN-2847] - Documentation: Update new label/annotation changes before 1.6.0 release



** Bug
    * [YUNIKORN-1151] - Fix the yaml comment syntax in Performance/Benchmarking Tutorial
    * [YUNIKORN-2098] - Change go lint SHA detection (following)
    * [YUNIKORN-2230] - Placement rule does not behave as expected
    * [YUNIKORN-2319] - cache.Task: reference to old pod object is kept after update
    * [YUNIKORN-2323] - Gang scheduling user experience issues
    * [YUNIKORN-2331] - Add Preemption Queue tests
    * [YUNIKORN-2462] - incorrect gang annotations in example
    * [YUNIKORN-2464] - Missing markdown list indentation @docs/design/historical_usage_tracking.md
    * [YUNIKORN-2470] - remove the argument from task#DeleteTaskPod
    * [YUNIKORN-2472] - REST API returns subtree by default
    * [YUNIKORN-2473] - Out-dated/dead link @docs/developer_guide/env_setup.md
    * [YUNIKORN-2482] - Failure to set template does not return error
    * [YUNIKORN-2499] - MockResponseWriter#write should merge new bytes with older one
    * [YUNIKORN-2511] - Fix flaky TestApplicationHistoryTracking
    * [YUNIKORN-2512] - Event system properties are not used
    * [YUNIKORN-2520] - PVC errors in AssumePod() are not handled properly
    * [YUNIKORN-2521] - Scheduler deadlock
    * [YUNIKORN-2527] - Allow remove and re-add configured queue within cleanup time 
    * [YUNIKORN-2529] - Newly added nodes show 'ready:false' under node attributes
    * [YUNIKORN-2558] - Remove redundent conditional
    * [YUNIKORN-2559] -  DATA RACE: EventStore.Store() and Context.PublishEvents()
    * [YUNIKORN-2562] - Nil pointer panic in Application.ReplaceAllocation()
    * [YUNIKORN-2573] - Flaky test TestUpdateNodeCapacityWithMultipleNodes
    * [YUNIKORN-2574] - totalPartitionResource should not be mutated with AddTo/SubFrom
    * [YUNIKORN-2586] - 3rd party license failure when GOROOT not set
    * [YUNIKORN-2599] - Certain shim events are not handled by the state machine
    * [YUNIKORN-2600] - Update K8s dependency to 1.29.4
    * [YUNIKORN-2621] - CSINode informer is not started
    * [YUNIKORN-2622] - Some /debug/pprof/ API response tested is different from example response in docs
    * [YUNIKORN-2629] - Adding a node can result in a deadlock
    * [YUNIKORN-2632] - Data race in IncAllocatedResource
    * [YUNIKORN-2633] - Unnecessary warning from Partition when adding an application
    * [YUNIKORN-2636] - Admission Controller ignores existing Queue/ApplicationID annotations
    * [YUNIKORN-2637] - finalizePods should ignore pods like registerPods does
    * [YUNIKORN-2642] - Don't set resources on the recovery queue
    * [YUNIKORN-2646] - Deadlock detected during preemption
    * [YUNIKORN-2647] - Flaky test TestUpdateNodeCapacity
    * [YUNIKORN-2661] - Fix hard-coded boolean in setLimit
    * [YUNIKORN-2665] - Gang app originator pod changes after restart
    * [YUNIKORN-2666] - Fix DeepEqual comparison in Test_fixedRule_ruleDAO 
    * [YUNIKORN-2678] - Fair queue sorting is inconsistent
    * [YUNIKORN-2681] - Data race in TestCheckHealthStatusNotFound 
    * [YUNIKORN-2683] - Unnecessary error is logged when resource usage is increased
    * [YUNIKORN-2698] - E2e tests for k8shim don't compile with latest core
    * [YUNIKORN-2699] - Preemption e2e tests fail in latest master
    * [YUNIKORN-2703] - Core: Fallback to default queue if no placement rules match
    * [YUNIKORN-2727] - Fix Dead Links and Update readme for Docusaurus v3
    * [YUNIKORN-2755] - yunikorn-web: pnpm version should be locked
    * [YUNIKORN-2766] - Only generate event if all predicates failed
    * [YUNIKORN-2775] - Update inaccurate comment regarding regexp
    * [YUNIKORN-2788] - Node.AddAllocation() isn't error checked
    * [YUNIKORN-2789] - Queue internalGetMax should use permissive calculator
    * [YUNIKORN-2790] - GPU node restart could leave root queue always out of quota
    * [YUNIKORN-2798] - MaxApplications should support static queues
    * [YUNIKORN-2799] - Fix Dockerfile warnings
    * [YUNIKORN-2806] - Deadlock in preemption after YUNIKORN-2769
    * [YUNIKORN-2808] - E2E test Verify_preemption_on_priority_queue test is flaky
    * [YUNIKORN-2818] - Fix state tracking metrics for app and queue
    * [YUNIKORN-2857] - Fix flaky gang scheduling e2e test



** New Feature
    * [YUNIKORN-2281] - Support OIDC credentials in YuniKorn
    * [YUNIKORN-2341] - New Queue Web UI 
    * [YUNIKORN-2581] - Expose running placement rules in REST
    * [YUNIKORN-2626] - Add flag to helm chart to disable web container

** Improvement
    * [YUNIKORN-1696] - [Umbrella] Improvement for namespace annotation resource update
    * [YUNIKORN-2181] - remove named returns in checkQueueHierarchyForPlacement
    * [YUNIKORN-2186] - [Umbrella] Support aggregated resource consumption 
    * [YUNIKORN-2192] - fix the incorrect instruction docs of "creation/update the ConfigMap" 
    * [YUNIKORN-2207] - Update user group documentation
    * [YUNIKORN-2262] - propagate the error message when queue creation gets failed
    * [YUNIKORN-2269] - remove the USER_LABEL_KEY from docs
    * [YUNIKORN-2297] - Update the unit test for CheckQueuesStructure
    * [YUNIKORN-2304] - add instruction docs of looping flaky test
    * [YUNIKORN-2324] - Clean up port number documentation in README.md 
    * [YUNIKORN-2365] - [UMBRELLA] Support InPlacePodVerticalScaling (phase 1)
    * [YUNIKORN-2400] - Upgrade docusaurus to 3.x
    * [YUNIKORN-2419] - [UMBRELLA] Generate reproducible binaries
    * [YUNIKORN-2446] - Add OCI annotations to public docker images
    * [YUNIKORN-2448] - Expose 3rd party licenses in the web UI
    * [YUNIKORN-2449] - add PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=1 to github actions for web CI
    * [YUNIKORN-2452] - Use RLock() for node.GetAvailableResource() 
    * [YUNIKORN-2453] - Add `EventRecord_APP_NEW` to event of created/submitted application
    * [YUNIKORN-2454] - Event streaming: send instanceUUID before the events
    * [YUNIKORN-2457] - [UMBRELLA] Unify ask and allocation
    * [YUNIKORN-2461] - Consider supporting /ws/v1/partition/{partitionName}/queue/{queueName}/applications/:state
    * [YUNIKORN-2474] - Unused variable and methods
    * [YUNIKORN-2475] - Add support for K8s native sidecars (restartable init containers)
    * [YUNIKORN-2480] - Convert yunikorn-web build to use pnpm
    * [YUNIKORN-2481] - Convert yunikorn-site build to use pnpm
    * [YUNIKORN-2491] - Persist queue and partition selection and prompt user to pick queue on Applications page
    * [YUNIKORN-2493] - Preemption Hardening Phase 1
    * [YUNIKORN-2501] - [UMBRELLA] Establish consistent usage guidelines for Labels and Annotations
    * [YUNIKORN-2506] - fix deprecation warning for fontsource-roboto
    * [YUNIKORN-2518] - Allow recovery queue in REST requests
    * [YUNIKORN-2519] - Remove bypass ACL check from placement rules
    * [YUNIKORN-2522] - Move e2e test doc from k8shim to website
    * [YUNIKORN-2523] - Bump go to 1.22
    * [YUNIKORN-2524] - add documentation for recovery queue (root.@recovery@)
    * [YUNIKORN-2525] - dispatcher.Stop() waits an extra second unnecessarily
    * [YUNIKORN-2530] - Remove unnecessary ready flag on node
    * [YUNIKORN-2538] - Shim cache context pre-allocate slice
    * [YUNIKORN-2539] - Add optional deadlock detection
    * [YUNIKORN-2540] - clean up constants in pkg/cache/context_test.go
    * [YUNIKORN-2541] - Fix CVE-2023-45288
    * [YUNIKORN-2544] - [UMBRELLA] Fix Yunikorn potential locking issues
    * [YUNIKORN-2549] - Fixing lint issues
    * [YUNIKORN-2551] - Move `buildRules` out of `AppPlacementManager` to be a function
    * [YUNIKORN-2554] - Remove "rules" field from PartitionContext
    * [YUNIKORN-2560] - Install the ginkgo to tools folder
    * [YUNIKORN-2561] - Support topology spread constraints on placeholder pods
    * [YUNIKORN-2564] - [Umbrella] Move xxxEvents types to a different package
    * [YUNIKORN-2572] - remove un-used conditional
    * [YUNIKORN-2575] - Make logging for IsPodFitNode clear
    * [YUNIKORN-2577] - Remove named returns from IsPodFitNodeViaPreemption
    * [YUNIKORN-2582] - Shim: Use atomic.Int32 for atomic operations
    * [YUNIKORN-2590] - Handler tests should check for nil request on create
    * [YUNIKORN-2597] - Improve error messages in Context
    * [YUNIKORN-2598] - Update the unit test for checkQueues and checkNodeSortingPolicy
    * [YUNIKORN-2601] - Update kindest/node:  v1.29.1 to v1.29.2, v1.28.6 to v1.28.7, v1.27.10 to v1.27.11, v1.26.13 -> v1.26.14
    * [YUNIKORN-2602] - Fix spelling/grammar in configvalidator
    * [YUNIKORN-2615] - Remove named returns from predicate_manager.go
    * [YUNIKORN-2616] - Remove unused bool return from PreemptionPredicates()
    * [YUNIKORN-2617] - Update kindest/node to v1.29.2 for Makefile
    * [YUNIKORN-2618] - Streamline AsyncRMCallback UpdateAllocation
    * [YUNIKORN-2620] - Remove redundant variable `errorExpected` from configvalidator_test.go
    * [YUNIKORN-2627] - Add K8s 1.30 to the e2e matrix
    * [YUNIKORN-2630] - Release context lock in shim when processing config in the core
    * [YUNIKORN-2640] - Conside removing config from Clients
    * [YUNIKORN-2652] - Expand getApplication() endpoint handler to return resource usage
    * [YUNIKORN-2653] - Gang scheduling K8s event formatting compliance
    * [YUNIKORN-2696] - appoint specific version when installing yunikorn
    * [YUNIKORN-2704] - Event publish errors out when predicates fail
    * [YUNIKORN-2710] - Make the link in run-end-to-end-tests direct to website instead of README
    * [YUNIKORN-2711] - Skip setting the queue name to default queue in the shim
    * [YUNIKORN-2713] - Use queue specific REST API directly
    * [YUNIKORN-2714] - Add e2e test to verify queue name with special characters
    * [YUNIKORN-2720] - Use createRequest() in handlers_test.go
    * [YUNIKORN-2722] - Expose the IsOriginator flag in REST
    * [YUNIKORN-2724] - Improve the signature of methods notifyTaskComplete() and ensureAppAndTaskCreated()
    * [YUNIKORN-2726] - Add "How to check E2E test logs?" to developer guide
    * [YUNIKORN-2728] - Config event.RESTResponseSize should be placed under Event System Settings
    * [YUNIKORN-2734] - make configurable for pods in k8shim pkg/client/kubeclient.go
    * [YUNIKORN-2738] - Only check failure reason once not for every pod
    * [YUNIKORN-2756] - Consider moving event_system#defaultEventChannelSize to configs#const
    * [YUNIKORN-2759] - Replace %w by Errors.join
    * [YUNIKORN-2760] - `make tools` should check the version of tools
    * [YUNIKORN-2763] - add the documentation of REST API for specific queue
    * [YUNIKORN-2770] - Simplify Application.GetTask()
    * [YUNIKORN-2771] - Optimization: Use termination grace period of 0 seconds for placeholder pods
    * [YUNIKORN-2777] - Improve TrackedResource type
    * [YUNIKORN-2793] - Clean up the user and group check for REST API
    * [YUNIKORN-2794] - Resource: Change SubOnlyExisting() to same signature as AddOnlyExisting()
    * [YUNIKORN-2796] - Root queue and partition should not have resource types with 0 values
    * [YUNIKORN-2802] - Prune zero values from computed resource types
    * [YUNIKORN-2805] - Remove invalid health checks regarding negative capacity
    * [YUNIKORN-2807] - Don't log 'task missing' as error
    * [YUNIKORN-2809] - Fix layout of node transition diagram
    * [YUNIKORN-2814] - [Docs] Add YuniKorn on Spark(AWS) link to Run spark jobs page
    * [YUNIKORN-2815] - Run e2e tests against K8s 1.31.0
    * [YUNIKORN-2817] - Pods should be deleted according to podspec
    * [YUNIKORN-2823] - Core: Add e2e test run against k8shim master branch
    * [YUNIKORN-2835] - Refactor switch statement in UpdateApplication
    * [YUNIKORN-2836] - Simplify YuniKorn version selection in Getting Started page

** Test
    * [YUNIKORN-2531] - Create unit tests for AsyncRMCallback
    * [YUNIKORN-2623] - Create unit tests for Clients
    * [YUNIKORN-2635] - test coverage improvement: same priority case in sorter 
    * [YUNIKORN-2643] - utils.go WaitForCondition improvement 
    * [YUNIKORN-2644] - Improve FitInScore funtion's test coverage in resources.go
    * [YUNIKORN-2649] - Improve CalculateAbsUsedCapacity & CompUsageRatio funtion's test coverage in resources.go
    * [YUNIKORN-2650] - Complete or remove web_server_test#TestProxy
    * [YUNIKORN-2659] - Improve config validator funtion's test coverage
    * [YUNIKORN-2663] - Improve ACL struct funtion's test coverage
    * [YUNIKORN-2667] - E2E test for Gang app originator pod changes after restart
    * [YUNIKORN-2670] - Improve util funtion's test coverage
    * [YUNIKORN-2673] - Improve newFilter funtion's test coverage in filter.go
    * [YUNIKORN-2680] - Improve placement rule funtion's test coverage
    * [YUNIKORN-2694] - Improve placement rule funtion's test coverage - 2
    * [YUNIKORN-2717] - Assert invalid queue name in get queue applications handler
    * [YUNIKORN-2718] - Assert invalid user name in Get User REST API
    * [YUNIKORN-2719] - Assert invalid group name in Get Group REST API
    * [YUNIKORN-2721] - Improve template function's test coverage
    * [YUNIKORN-2725] - Temporarily disable failing e2e preemption tests
    * [YUNIKORN-2732] - Improve allocation & queue_events funtion's test coverage
    * [YUNIKORN-2762] - Improve util funtion's test coverage
    * [YUNIKORN-2765] - Improve si_helper & resource funtion's test coverage
    * [YUNIKORN-2786] - Improve convert2Namespace funtion's test coverage
    * [YUNIKORN-2822] - Improve coverage of resources and tracked_resources
    * [YUNIKORN-2842] - Improve metadata & gang_utils funtion's test coverage
    * [YUNIKORN-2851] - Improve placeholder / manager test coverage 
    * [YUNIKORN-2852] - Add e2e tests for group names in placement rule filter
    * [YUNIKORN-2862] - Improve nodesorting test coverage


** Task
    * [YUNIKORN-182] - fix lint issues
    * [YUNIKORN-1126] - Add e2e test for best effort pod
    * [YUNIKORN-2440] - [UMBRELLA] Remove stateaware scheduling
    * [YUNIKORN-2442] - Documentation update about the event system
    * [YUNIKORN-2445] - Add comments around locking setup in tracker code
    * [YUNIKORN-2489] - Upgrade google.golang.org/protobuf to v1.33.0
    * [YUNIKORN-2490] - Add new PMC and committer members
    * [YUNIKORN-2496] - Fix security issues in website javascript
    * [YUNIKORN-2497] - Update node.js to 18.19.1
    * [YUNIKORN-2498] - Implement force create flag in k8shim for recovery queue
    * [YUNIKORN-2578] - Refactor SchedulerCache.GetPod() remove bool return
    * [YUNIKORN-2610] - Announce deprecation of plugin mode
    * [YUNIKORN-2628] - fix release announcement links
    * [YUNIKORN-2654] - Remove unused code in k8shim context
    * [YUNIKORN-2655] - Cleanup REST API documentation
    * [YUNIKORN-2668] - Temporarily disable TestUpdateAllocation_NewTask_AssumePodFails 
    * [YUNIKORN-2672] - Upgrade to K8s 1.29.6
    * [YUNIKORN-2674] - specific helm chart link of Service Configuration doc update
    * [YUNIKORN-2780] - Remove unnecessary node ExistingAllocations handling
    * [YUNIKORN-2782] - Cleanup dead code in cache/context
    * [YUNIKORN-2816] - Clean up AllocationReleaseRequest logic
    * [YUNIKORN-2830] - Upgrade kubernetes build dependency to 1.31.0
    * [YUNIKORN-2838] - SI: Update protobuf dependencies
    * [YUNIKORN-2839] - Core: Update dependencies to match SI
    * [YUNIKORN-2858] - Typo in preemption_predicate_plugin.go

