Apache Texera (Incubating) Release v1.2.0 RC1
Pre-release
Pre-release
·
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
emergencylabel 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-coveragefrom 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
/takecomments 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
triagelabel, useis:open no:assigneefilter 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
- @nathant27 made their first contribution in #5010
- @asf-gitbox-commits made their first contribution in #5080
- @fallintoplace made their first contribution in #5156
Full Changelog: v1.1.0-incubating...v1.2.0-incubating-rc1