Skip to content

Apache Texera (Incubating) Release v1.2.0 RC1

Pre-release
Pre-release

Choose a tag to compare

@xuang7 xuang7 released this 13 Jun 06:23
· 195 commits to main since this release

What's Changed

  • fix(frontend): adjust dataset detail page's alignment and padding by @xuang7 in #4584
  • ci: protect future release branches via ASF rulesets by @Yicong-Huang in #4582
  • test(amber): add unit test coverage for SchedulingUtils by @aglinxinyuan in #4566
  • test(amber): add unit test coverage for ExecutionUtils by @aglinxinyuan in #4570
  • fix(amber): make region kill synchronous before scheduling next region by @Xiao-zhen-Liu in #4557
  • fix(amber): emit Python operator state outputs reliably by @aglinxinyuan in #4560
  • fix(hub-frontend): display public datasets/workflows on hub page by @xuang7 in #4585
  • chore: revising README.md and the About page by @chenlica in #4558
  • test(amber): add unit test coverage for WorkflowExecution by @aglinxinyuan in #4572
  • feat(deployment): add agent-service and litellm to single-node deployment by @bobbai00 in #4544
  • refactor(ui): encapsulate OperatorMenuService state and add subscription cleanup by @Yicong-Huang in #4530
  • chore: simplify State as a JSON dictionary by @aglinxinyuan in #4488
  • docs: add coding agent guidance by @aglinxinyuan in #4549
  • ci: protect release/* branches with CI by @Yicong-Huang in #4595
  • ci: merge binary license checks into build workflow by @Yicong-Huang in #4597
  • feat(agent-service): align log-level env var with other services by @bobbai00 in #4575
  • ci: opt in to .asf.yaml rulesets staged rollout by @Yicong-Huang in #4604
  • revert: "ci: opt in to .asf.yaml rulesets staged rollout" by @Yicong-Huang in #4607
  • ci: support release label backport workflows by @Yicong-Huang in #4598
  • feat: Add Python Virtual Environment Support: Creating a Virtual Environment by @SarahAsad23 in #4484
  • fix(ci): preserve PR author on backport commits by @Yicong-Huang in #4614
  • revert: "ci: protect future release branches via ASF rulesets" by @Yicong-Huang in #4616
  • ci: add Required Checks aggregator job by @Yicong-Huang in #4600
  • fix(ci): resolve merged PR robustly in Direct Backport Push by @Yicong-Huang in #4620
  • feat(agent-service): enable more default operator types by @bobbai00 in #4619
  • fix(execution-api): fix multi-input operator's execution termination condition by @bobbai00 in #4615
  • refactor(ci): consolidate Build matrix into a single reusable workflow by @Yicong-Huang in #4624
  • feat(ci): make Build stacks optional based on PR labels by @Yicong-Huang in #4622
  • fix(ci): treat skipped backport jobs as green in Direct Backport Push by @Yicong-Huang in #4629
  • perf(ci): use postgres service container for python job by @Yicong-Huang in #4633
  • chore: revising .asf.yaml file, "About" page, and its screenshot by @chenlica in #4593
  • feat(ci): skip non-frontend stacks on frontend-only PRs by @Yicong-Huang in #4626
  • chore: drop -WIP suffix from DISCLAIMER by @bobbai00 in #4555
  • chore: add liquibase schema versioning by @gracecluvohio in #4401
  • perf(ci): trim redundant scala compile and reorder for early lint failure by @Yicong-Huang in #4638
  • feat(ci): gate stacks on a label-to-stacks map by @Yicong-Huang in #4640
  • feat(ci): split agent-service out of the service label by @Yicong-Huang in #4641
  • fix(ci): bump sbt/setup-sbt to v1.1.22 in generate-jooq job by @bobbai00 in #4644
  • feat(ci): wire Build stacks to Codecov tokenless by @Yicong-Huang in #4646
  • fix(backend): add missing backend handler for dataset rename by @seongjinyoon in #4416
  • feat(engine): add jump-to-operator support by @aglinxinyuan in #4444
  • chore: trim issue templates by @Yicong-Huang in #4656
  • fix(ci): label root scala build files and .asf.yaml so the right stacks run by @Yicong-Huang in #4654
  • chore(asf): require conversation resolution before merge by @Yicong-Huang in #4660
  • fix(ci): generate the coverage files Codecov uploads expect by @Yicong-Huang in #4649
  • test(pyamber): cover sendsemantics partitioners by @Yicong-Huang in #4664
  • fix(ci): wire CODECOV_TOKEN to coverage uploads (Phase 2) by @Yicong-Huang in #4666
  • test(amber): add unit test coverage for Schedule iterator semantics by @aglinxinyuan in #4562
  • ci: add temporary AutoQueue workflow as merge-queue stand-in by @Yicong-Huang in #4672
  • docs(scala): fully-qualify ScalaDoc @throws and link references by @Yicong-Huang in #4671
  • fix(ci): retry Auto Queue while mergeStateStatus is UNKNOWN, gate on approval and resolved threads by @Yicong-Huang in #4678
  • fix(ci): include litellm-config.yaml in RC docker-compose bundle by @bobbai00 in #4652
  • chore(licensing): per-module LICENSE/NOTICE binaries with per-image concat by @bobbai00 in #4668
  • ci: push backports with AUTO_MERGE_TOKEN to retrigger release-branch CI by @Yicong-Huang in #4676
  • test(amber): drop stale Thread.sleep(1000) after COMPLETED state by @Yicong-Huang in #4680
  • chore(licensing): add --ignore-transitive-version flag and use it on PR builds by @bobbai00 in #4693
  • refactor(ci): split scala job into amber + platform matrix by @Yicong-Huang in #4632
  • chore(ci): upgrade actions to Node.js 24 runtimes by @Yicong-Huang in #4648
  • test(pyamber): add unit tests for DatasetFileDocument by @Yicong-Huang in #4702
  • chore(ci): add codecov.yml — carryforward, ignore generated/test paths, loosen status checks by @Yicong-Huang in #4690
  • docs: add Codecov coverage badge to README by @Yicong-Huang in #4714
  • fix(ci): place "(backported from commit X)" before trailers in backport message by @Yicong-Huang in #4696
  • test(agent-service): add unit tests for result-formatting by @Yicong-Huang in #4695
  • test(agent-service): add unit tests for auto-layout by @Yicong-Huang in #4700
  • test(agent-service): add unit tests for tools-utility by @Yicong-Huang in #4698
  • test(amber): add unit tests for VirtualIdentityUtils by @Yicong-Huang in #4712
  • test(pyamber): add unit tests for Heartbeat by @Yicong-Huang in #4704
  • test(amber): add unit tests for OrderingEnforcer by @Yicong-Huang in #4721
  • test(amber): add unit tests for deploy strategies by @Yicong-Huang in #4723
  • test(amber): add unit test coverage for DataFrame equality and inMemSize by @aglinxinyuan in #4784
  • test(amber): add unit tests for ErrorUtils by @Yicong-Huang in #4709
  • chore(deps): upgrade frontend Node engine to 24 by @aglinxinyuan in #4658
  • test(amber): add unit test coverage for ProcessingStepCursor by @aglinxinyuan in #4764
  • docs: rewrite AGENTS.md as agent-facing index by @Yicong-Huang in #4825
  • test(amber): add unit tests for JSONUtils by @Yicong-Huang in #4716
  • test(pyamber): add unit tests for update_executor logic by @Yicong-Huang in #4719
  • test(pyamber): add unit tests for Operator base class by @Yicong-Huang in #4735
  • fix(ci): expand Auto Queue triggers and skip when queue head is in flight by @Yicong-Huang in #4845
  • test(amber): add unit test coverage for WorkerStateManager by @aglinxinyuan in #4740
  • test(amber): add unit test coverage for StateManager by @aglinxinyuan in #4738
  • fix(ci): repair direct-backport-push YAML and post backport result comments by @Yicong-Huang in #4846
  • test(workflow-core): add unit test coverage for VFSURIFactory by @aglinxinyuan in #4757
  • test(amber): add unit tests for ArrowUtils by @Yicong-Huang in #4758
  • test(amber): add unit test coverage for WorkerPortExecution by @aglinxinyuan in #4772
  • fix(licensing): preserve all versions in check_binary_deps multi-version diff by @bobbai00 in #4711
  • feat(ci): give Auto Queue an emergency label fast-path by @Yicong-Huang in #4849
  • test(amber): add unit test coverage for EmptyReplayLogManagerImpl by @aglinxinyuan in #4790
  • test(pyamber): add unit tests for AsyncRPCClient by @Yicong-Huang in #4744
  • test(amber): add unit test coverage for engine common Utils by @aglinxinyuan in #4743
  • test(workflow-operator): add unit test coverage for MapOpExec by @aglinxinyuan in #4778
  • ci: add a strict license-binary checker that files a tracking issue on license drift by @bobbai00 in #4734
  • fix(release): ship LICENSE/NOTICE/DISCLAIMER in docker-compose tarball by @bobbai00 in #4850
  • refactor(release): drop helm chart from RC artifacts by @bobbai00 in #4853
  • chore(licensing): bump tifffile to 2026.5.2 in LICENSE-binary-python by @bobbai00 in #4855
  • ci(release): gate RC creation on strict-mode build of the tagged commit by @bobbai00 in #4857
  • test(amber): add unit test coverage for non-range partitioners by @aglinxinyuan in #4746
  • chore(deps): bump protobuf to 7.34.1 by @mengw15 in #4609
  • test(amber): add unit test coverage for CongestionControl by @aglinxinyuan in #4748
  • test(amber): add unit test coverage for FlowControl by @aglinxinyuan in #4750
  • test(amber): add unit test coverage for LinkExecution by @aglinxinyuan in #4753
  • test(workflow-core): add unit test coverage for PartitionInfo by @aglinxinyuan in #4755
  • test(workflow-core): add unit test coverage for StorageUtil by @aglinxinyuan in #4761
  • test(amber): add unit test coverage for GlobalReplayManager by @aglinxinyuan in #4766
  • test(amber): add unit test coverage for WorkerExecution by @aglinxinyuan in #4768
  • test(amber): add unit test coverage for RegionPlan by @aglinxinyuan in #4770
  • test(workflow-operator): add unit test coverage for LimitOpExec by @aglinxinyuan in #4774
  • test(workflow-operator): add unit test coverage for FlatMapOpExec by @aglinxinyuan in #4776
  • test(workflow-operator): add unit test coverage for IfOpExec by @aglinxinyuan in #4781
  • test(pyamber): add unit tests for customized_queue inner-class decorators by @Yicong-Huang in #4782
  • test(workflow-operator): cover AVERAGE/MIN/MAX and null-aggFunction in AggregateOpSpec by @aglinxinyuan in #4788
  • test(workflow-core): add unit test coverage for FinalizePort and FinalizeExecutor markers by @aglinxinyuan in #4792
  • test(pyamber): add unit tests for replace_print and AtomicInteger by @Yicong-Huang in #4795
  • test(pyamber): add unit tests for virtual_identity utilities by @Yicong-Huang in #4797
  • fix(pyamber): make ExecutorManager module names process-globally unique by @Yicong-Huang in #4717
  • test(amber): add unit tests for ChannelConfig.generateChannelConfigs by @Yicong-Huang in #4800
  • test(amber): add unit tests for LinkConfig.toPartitioning by @Yicong-Huang in #4803
  • test(amber): add unit tests for visualization OpDescs (Image, FunnelPlot, VolcanoPlot, BulletChart) by @Yicong-Huang in #4809
  • test(amber): add unit tests for visualization OpDescs (HeatMap, BarChart, LineChart, PieChart) by @Yicong-Huang in #4812
  • fix(ci): use uv for python deps, keep pip on 3.12 license-check leg by @Yicong-Huang in #4636
  • chore(frontend): move --code-coverage from build.yml into test:ci script by @Yicong-Huang in #4869
  • test(amber): add unit tests for SleepOpDesc, IntersectOpDesc, URLFetcherOpDesc by @Yicong-Huang in #4816
  • test(amber): add unit test coverage for scheduling configs by @aglinxinyuan in #4821
  • feat(frontend): migrate test runner Karma → Vitest by @Yicong-Huang in #4862
  • test(amber): add unit test coverage for resourcePolicies by @aglinxinyuan in #4824
  • test(amber): add unit test coverage for AmberMessage envelopes by @aglinxinyuan in #4829
  • test(amber): add unit test coverage for AmberFIFOChannel and WorkerPort by @aglinxinyuan in #4831
  • test(workflow-core): add unit test coverage for core/executor reflection by @aglinxinyuan in #4834
  • test(amber): add unit test coverage for worker managers (Statistics/Serialization/Pause) by @aglinxinyuan in #4836
  • test(amber): add unit test coverage for checkpoint subsystem by @aglinxinyuan in #4838
  • test(workflow-core): add unit test coverage for workflow core types by @aglinxinyuan in #4842
  • feat(ci): split amber tests into amber + amber-integration jobs by @Yicong-Huang in #4871
  • test(pyamber): add unit tests for _QueueReader and cleanup-failed-upload paths by @Yicong-Huang in #4707
  • refactor(frontend): convert all components to standalone by @Yicong-Huang in #4873
  • test(amber): add CheckpointState unknown-key negative test by @Yicong-Huang in #4687
  • chore(frontend): re-enable spec files that pass under standalone migration by @Yicong-Huang in #4878
  • fix: avoid O(N) memory allocation when displaying large binary blobs in result panel by @kunwp1 in #4876
  • test(frontend): install ProxyZone wrapper, re-enable 4 service specs by @Yicong-Huang in #4881
  • chore(frontend): re-enable 13 component/service specs after standalone migration by @Yicong-Huang in #4886
  • feat(ci): sync issue assignees from PR closing refs and handle /take comments by @Yicong-Huang in #4885
  • refactor(auth): move USER_LAST_ACTIVE_TIME write out of JwtAuthFilter by @Yicong-Huang in #4888
  • fix(frontend): drop fixed height on about-page login card by @bobbai00 in #4890
  • test(pyamber): add unit tests for six DP-thread state managers by @Yicong-Huang in #4893
  • test(frontend): re-enable 11 result-panel/workspace component specs by @Yicong-Huang in #4889
  • test(frontend): cover about-page login visibility branches by @bobbai00 in #4894
  • fix(ci): preserve in-progress runs on release/* branches by @Yicong-Huang in #4883
  • refactor(auth): align JWT claim parsing across microservices and amber by @Yicong-Huang in #4896
  • chore(frontend): re-enable 6 admin/left-panel component specs by @Yicong-Huang in #4897
  • chore(licensing): bump pytz to 2026.2 in LICENSE-binary-python by @bobbai00 in #4906
  • ci: drop the triage label, use is:open no:assignee filter by @Yicong-Huang in #4899
  • chore: drop labels: ["triage"] from issue templates by @Yicong-Huang in #4918
  • test(workflow-core): add unit test coverage for TupleUtils by @aglinxinyuan in #4910
  • test(amber): add unit test coverage for PauseType by @aglinxinyuan in #4914
  • test(workflow-operator): pin Sklearn OpDesc registry strings by @aglinxinyuan in #4827
  • test(amber): add unit tests for workflow-core PartitionInfo, WorkflowRuntimeException, WorkflowContext by @Yicong-Huang in #4806
  • test(amber): add unit tests for AmberFIFOChannel and CongestionControl by @Yicong-Huang in #4819
  • test(amber): add unit test coverage for logreplay primitives by @aglinxinyuan in #4840
  • feat(ui): add configuration for compute tab on admin page by @gracecluvohio in #4922
  • test(workflow-operator): add unit test coverage for AggregationOperation by @aglinxinyuan in #4908
  • test(workflow-operator): add unit test coverage for ProgressiveUtils by @aglinxinyuan in #4912
  • test(amber): add unit test coverage for AddressInfo by @aglinxinyuan in #4916
  • feat(frontend): added clipboard icon to dataset detail page by @jaeyun0503 in #4928
  • chore(license): trim DISCLAIMER to canonical ASF Incubator template by @bobbai00 in #4927
  • chore(docker): add ASF Incubator disclaimer to Dockerfiles by @bobbai00 in #4925
  • feat(ci): allow RC bundle to pin IMAGE_TAG to the git tag by @bobbai00 in #4930
  • fix: Adding Floor to idle_time by @Ma77Ball in #4900
  • chore: Relocate boto3 to core requirements.txt by @kunwp1 in #4934
  • chore: remove stale root Dockerfile by @aglinxinyuan in #4662
  • refactor(pyamber): collapse DataProcessor per-call boilerplate by @Yicong-Huang in #4685
  • docs(license): bundle full third-party MIT license texts by @bobbai00 in #4942
  • feat(docker): run service containers as non-root user by @bobbai00 in #4941
  • chore: upgrade postgresql to 42.7.10 due to CVE by @pjfanning in #4420
  • test(frontend): re-enable 4 user-workflow / dashboard / list-item specs by @Yicong-Huang in #4944
  • refactor(pyamber): move tests to src/test/python to match Maven layout by @Yicong-Huang in #4945
  • test(amber): warm up ReconfigurationIntegrationSpec before timed assertions by @Yicong-Huang in #4947
  • chore(deps): bump pillow from 12.1.1 to 12.2.0 in /amber by @dependabot[bot] in #4959
  • chore(deps): bump lodash-es from 4.17.21 to 4.18.1 in /frontend by @dependabot[bot] in #4960
  • fix(amber): surface writer-thread failure as FatalError instead of silent hang by @Yicong-Huang in #4683
  • test(frontend): unblock 7 specs from jsdom by @Yicong-Huang in #4950
  • refactor(pyamber): flatten over-nested util packages by @Yicong-Huang in #4952
  • chore(deps-dev): bump webpack from 5.89.0 to 5.104.1 in /frontend by @dependabot[bot] in #4970
  • chore(ci): show Codecov carryforward flags in PR comments by @Yicong-Huang in #4973
  • test(amber): add unit test coverage for NetworkOutputBuffer by @aglinxinyuan in #4958
  • fix(lineChart): prevent NullPointerException when lines is not configured by @Ma77Ball in #4919
  • fix: admin-adjustable max columns with a clear overflow message by @Ma77Ball in #4669
  • fix: replace bare Option.get in getPortId with descriptive IllegalStateException by @Ma77Ball in #4978
  • fix: Duplicate JSONToMap in JSONUtils and JSONUtil by @Ma77Ball in #4977
  • chore: ignore local .claude/ directory by @aglinxinyuan in #4982
  • chore(deps): drop unused content-disposition dependency by @aglinxinyuan in #4980
  • chore(deps): drop redundant wheel pin from requirements.txt by @mengw15 in #4860
  • chore(deps): refresh LICENSE-binary for transitive version drift by @bobbai00 in #4983
  • refactor(config): drop unused rest-uri key from storage.conf by @mengw15 in #4990
  • ci: add /request-review and /unrequest-review comment commands by @Ma77Ball in #4986
  • feat(build): bump Scala/Java services to Java 17 LTS by @bobbai00 in #4938
  • fix: don't re-throw in jsdom-svg-polyfill uncaughtException handler by @Ma77Ball in #4999
  • test: add real test cases for PresetService spec by @Ma77Ball in #4991
  • test(frontend): re-enable two skipped drag-drop tests by @Yicong-Huang in #4971
  • test: add real specs for left-panel SettingsComponent by @Ma77Ball in #4992
  • test: replace placeholder spec with real MenuComponent tests by @Ma77Ball in #4993
  • fix: Removed duplicate Map operator from operator Desc files by @Ma77Ball in #5005
  • fix(auth): JwtAuthFilter eager-401 with @permitAll opt-out by @Yicong-Huang in #4903
  • test: cover Iceberg REST catalog backend in CI by @mengw15 in #4276
  • test: add test cases for PresetWrapperComponent spec by @Ma77Ball in #5009
  • test: tighten any types in spec mocks to Mocked by @Ma77Ball in #5008
  • test(frontend): add unit tests for WorkspaceComponent by @Yicong-Huang in #4969
  • fix: SourceOperator is_source default broken by name mangling by @Ma77Ball in #5007
  • test(frontend): add Vitest browser mode and re-enable workflow-editor spec by @Yicong-Huang in #5017
  • chore(pybuilder): aggregate PyBuilder at root and add API spec for non-macro pieces by @Yicong-Huang in #5024
  • test: add specs for UserConfigService by @Ma77Ball in #5014
  • test(amber): add direct unit tests for WorkflowCompiler by @Yicong-Huang in #5019
  • fix: Revert "fix(auth): JwtAuthFilter eager-401 with @permitAll opt-out" by @kunwp1 in #5025
  • test(frontend): expand spec coverage for download / code-editor / annotation-suggestion by @aglinxinyuan in #5004
  • refactor(amber): rename remaining Akka* identifiers to Pekko* by @Yicong-Huang in #4949
  • feat: Add Python Virtual Environment Support: Installing User Defined Packages by @SarahAsad23 in #4902
  • docs: move Hugo docs into repo under docs/ by @Ma77Ball in #5000
  • feat: Adding a connection pool to reduce the time spent opening connection to Postgres by @Ma77Ball in #4851
  • ci: enable GitHub merge queue by @Yicong-Huang in #5036
  • fix: register OneToOnePartition in PartitionInfo @JsonSubTypes by @Ma77Ball in #5033
  • fix: align BroadcastPartition routing in LinkConfig with broadcast semantics by @Ma77Ball in #5032
  • chore(deps): bump transformers from 4.57.3 to 5.0.0rc3 in /amber by @dependabot[bot] in #5016
  • fix: preserve ANY type through schema round-trip by @Ma77Ball in #4995
  • feat: Add Python Virtual Environment Support: Uninstalling User Defined Packages by @SarahAsad23 in #5035
  • feat(amber): reject self-loops and empty/null op-ids in LogicalLink (with test coverage) by @aglinxinyuan in #4956
  • test(workflow-core): add unit test coverage for port-identity serde helpers by @aglinxinyuan in #4954
  • ci: drop bypass_actors from .asf.yaml ruleset by @aglinxinyuan in #5047
  • ci: fix merge queue ruleset payload by @Yicong-Huang in #5050
  • fix(amber): avoid AtomicInteger.get_and_set deadlock by @nathant27 in #5010
  • fix: close tmp fs and evict udf modules on ExecutorManager.close() by @Ma77Ball in #5046
  • fix: assert equal-length worker lists in OneToOne ChannelConfig by @Ma77Ball in #5031
  • fix: reject non-standard Int bit-widths in ArrowUtils by @Ma77Ball in #5030
  • fix: reset iteration cursor in OneOnEach.initialize by @Ma77Ball in #5028
  • fix: require non-null decodingMethod in URLFetcherOpDesc.sourceSchema by @Ma77Ball in #5048
  • fix: return None from getWorkerIndex for non-worker actor IDs by @Ma77Ball in #5006
  • feat(k8s): use Lakekeeper as the Iceberg Catalog in the Kubernetes deployment by @mengw15 in #4275
  • feat: add eye icon tip to empty result messages by @xuang7 in #5061
  • chore(deps): bump fast-uri from 3.1.0 to 3.1.2 in /frontend by @dependabot[bot] in #5063
  • chore(deps): bump @babel/plugin-transform-modules-systemjs from 7.29.0 to 7.29.4 in /frontend by @dependabot[bot] in #5062
  • feat: add state materialization across regions by @aglinxinyuan in #4490
  • fix(frontend): remove stray ']="true"' in user-dataset search input by @eugenegujing in #5072
  • fix: emit array-of-primitive entries in JSONToMap flatten mode by @Ma77Ball in #5045
  • fix: order shutdown after Result yield in ProxyServer.do_action by @Ma77Ball in #5076
  • ci: enrich check_binary_deps failure report with license + target file by @Ma77Ball in #5057
  • fix(frontend): pixel-aware operator caption truncation by @chenlica in #5071
  • chore(ci): Set up default rulesets for default and release branches by @asf-gitbox-commits in #5080
  • fix: avoid NPE in WorkflowCompilationResource for missing schemas by @mengw15 in #5090
  • feat(storage): add DocumentFactory.documentExists by @aglinxinyuan in #5085
  • refactor(amber): stop hardcoding S3 in REST catalog init by @mengw15 in #4988
  • feat(gui): add a toggle for Texera attribution by @xuang7 in #5039
  • fix(frontend): widen Workflow Detail modal to fit header row by @mengw15 in #5125
  • fix: preserve original error in IcebergIterator._seek_to_usable_file by @mengw15 in #5092
  • feat: display cover image on dataset detail page by @xuang7 in #5060
  • fix(frontend): keep About-page sign-in panel from overlapping content by @mengw15 in #5132
  • fix: unify DeployStrategy empty-array errors to NoSuchElementException by @Ma77Ball in #5029
  • feat: Add Python Virtual Environment Support: Execute Python UDFs Inside PVEs by @SarahAsad23 in #5069
  • fix: raise when presigned URL response is missing or malformed by @Ma77Ball in #5073
  • fix: reject hyphenated layer names in createWorkerIdentity by @Ma77Ball in #5051
  • fix: enable ASF nextgen config by @Yicong-Huang in #5139
  • feat(frontend): add Python UDF UI parameter form support by @carloea2 in #5043
  • fix: use BINARY type for RAW_BYTES URL fetcher schema by @Ma77Ball in #5133
  • fix: filter is_visualization from all result header sites by @Ma77Ball in #5075
  • feat: add /sub-issue, /parent-issue, and unlink variants to comment-commands by @Ma77Ball in #5148
  • test: enable child rendering in WorkspaceComponent spec by @Ma77Ball in #5037
  • fix: drop withDefaultValue from StatisticsManager so checkpoint state round-trips by @Ma77Ball in #5150
  • fix: close CloseableIterable owners in Iceberg read paths by @mengw15 in #5149
  • fix: enforce @RolesAllowed on microservice resources by @Ma77Ball in #5049
  • fix: route share-by-email link to correct dashboard path by type by @mengw15 in #5168
  • fix: Revert"fix: enforce @RolesAllowed on microservice resources" by @Ma77Ball in #5173
  • fix(project): correct access privilege lookup by @fallintoplace in #5156
  • docs(frontend): add testing guide and refresh README by @Yicong-Huang in #5170
  • fix: surface SMTP failures from gmail share endpoint to UI by @mengw15 in #5164
  • fix(agent-service): align auto-layout rank separation by @officialasishkumar in #5176
  • test(frontend): call fixture.detectChanges() in three dashboard component specs by @Yicong-Huang in #5181
  • test(frontend): route specs through HttpClientTestingModule and lint-enforce it by @Yicong-Huang in #5185
  • chore: ignore vendored and generated paths in Codecov by @Yicong-Huang in #5187
  • chore(frontend): clean up template-override anti-pattern in component specs by @Yicong-Huang in #5189
  • test(frontend): extend code-debugger and code-editor coverage by @Yicong-Huang in #5191
  • test(frontend): rewrite sync-texera-model spec by @Yicong-Huang in #5194
  • fix(workflow-operator): default boolean metadata fields by @officialasishkumar in #5177
  • test(frontend): cover joint-ui.service surface and remove dead code by @Yicong-Huang in #5196
  • test(frontend): cover three dashboard services by @Yicong-Huang in #5203
  • ci: enable Codecov Test Analytics across all test jobs by @Yicong-Huang in #5207
  • test(amber): cover WorkflowExecutionsResource static helpers by @Yicong-Huang in #5205
  • fix(pyamber): allow worker state to transit READY -> COMPLETED by @mengw15 in #5214
  • chore: clean up sbt clean compile warnings by @kunwp1 in #5201
  • test(amber): DB-backed unit tests for ExecutionsMetadataPersistService and updateWorkflowState by @Yicong-Huang in #5213
  • test(amber): unit tests for web state stores and websocket plumbing by @Yicong-Huang in #5209
  • fix: skip datasets with missing LakeFS repos in public listing by @xuang7 in #5171
  • fix: honor Option contract on tryGetExistingExecution miss by @Ma77Ball in #5221
  • refactor: untrack generated python proto, regenerate in build by @Ma77Ball in #5077
  • test: cover SearchBarComponent debounce, cache, and routing by @Ma77Ball in #5237
  • test: close stream in upload-error test to prevent finalizer leak across tests by @Ma77Ball in #5246
  • test: add spec for UserDatasetListItemComponent by @Ma77Ball in #5239
  • test: add unit spec for UserDatasetComponent by @Ma77Ball in #5238
  • feat: Welcome first-time contributors with comment commands guide by @Ma77Ball in #5222
  • test: unit tests for LandingPageComponent by @Ma77Ball in #5234
  • refactor: consolidate count and relative-time formatting utilities by @xuang7 in #5220
  • feat: show MiB unit label next to size-based admin settings inputs by @xuang7 in #5066
  • feat: Add Python Virtual Environment Support: Add k8s Gateway Configuration by @SarahAsad23 in #5138
  • fix(dataset): load cover image on detail page for private datasets by @xuang7 in #5284
  • fix(workflow-operator): auto-rename empty CSV column headers by @mengw15 in #5282
  • chore(asf): Allow texera committers to bypass branch protection by @Yicong-Huang in #5287
  • fix(asf): restore root bypass team by @Yicong-Huang in #5290
  • chore(licensing): refresh transitive versions in LICENSE-binary-python by @bobbai00 in #5159
  • docs: update NOTICE copyright to "2025 and onwards" by @bobbai00 in #5158
  • fix(amber): avoids false negative on _check_heartbeat when connection is established but close raises exception by @nathant27 in #5027
  • fix(frontend): drop stale attribute references when an operator's input schema changes by @kunwp1 in #5294
  • fix(frontend): restore Regions and Status canvas toggles by @bobbai00 in #5160
  • test: cover ShareAccessComponent behaviors in spec by @Ma77Ball in #5233
  • feat(huggingFace): add HuggingFaceModelResource for model browsing and media proxy by @PG1204 in #5124
  • fix: remove duplicate NOTICE file under bin/single-node by @Ma77Ball in #5303
  • fix: enforce @RolesAllowed on microservice resources by @Yicong-Huang in #5199
  • test(frontend): browser-mode spec for code-editor.component by @Ma77Ball in #5241
  • test(compiling-service): add direct unit tests for WorkflowCompiler by @Yicong-Huang in #5022
  • feat(config-service): split /config/pre-login from authenticated endpoints by @Yicong-Huang in #5305
  • chore(ci): rename python job/flag/label to pyamber by @Yicong-Huang in #5307
  • refactor: Drop /dashboard prefix from user-facing URLs by @Ma77Ball in #5151
  • fix: require non-null uid in insertNewExecution by @Ma77Ball in #5300
  • feat(k8s): add agent service and LiteLLM to the Helm chart by @bobbai00 in #5272
  • feat(dashboard): add public dataset card view by @xuang7 in #5215
  • fix(frontend): preserve operator state border on workflow page return by @PG1204 in #5146
  • test: unit tests for LocalLoginComponent by @Ma77Ball in #5235
  • test: cover hub.component sidebar gating and routerLinks by @Ma77Ball in #5232
  • chore(asf): remove non-public team from bypass and grant v1.2 release manager by @Yicong-Huang in #5354
  • chore(deps-dev): bump @vitest/browser from 4.1.5 to 4.1.6 in /frontend by @dependabot[bot] in #5356
  • fix(amber): regenerate Python proto bindings on local sbt build by @Ma77Ball in #5358
  • chore: bump version to v1.2.0-incubating by @xuang7 in #5386
  • fix: scope large binary storage and cleanup by execution id (#5280) [release/v1.2 backport] by @kunwp1 in #5602
  • fix(frontend): clean up websocket state when returning to the dashboard (#5565) [release/v1.2 backport] by @kunwp1 in #5609
  • fix(frontend): stop forum login from looping when Flarum auth fails (#5311) [release/v1.2 backport] by @Ma77Ball in #5615
  • fix(workflow-operator): prevent NPE when Sort operator is unconfigured (#5416) [release/v1.2 backport] by @Ma77Ball in #5616
  • fix(frontend): use default import for package.json version in dev build (#5444) [release/v1.2 backport] by @Ma77Ball in #5617
  • test(workflow-operator): add ReservoirSamplingOpExec spec [release/v1.2 backport] by @xuang7 in #5642

New Contributors

Full Changelog: v1.1.0-incubating...v1.2.0-incubating-rc1