## apache/texera — v1.1.0-incubating-rc8…v1.2.0-incubating

_456+ commits._

### Features
- **feat(dashboard): add public dataset card view (#5215)** (223a27b)
- **feat(k8s): add agent service and LiteLLM to the Helm chart (#5272)** (d086455)
- **feat(config-service): split /config/pre-login from authenticated endpoints (#5305)** (eb287f3)
- **feat(huggingFace): add HuggingFaceModelResource for model browsing and media proxy (#5124)** (1b0ec78)

### Fixes
- **fix(license, v1.2): refresh amber/LICENSE-binary-python for transitive drift on release/v1.2 (#7130)** (c3aa6e4)
- **fix(amber, v1.2): require auth on retrieveWorkflowRuntimeStatistics (#7054)** (b1ac819)
- **fix(query, v1.2): Remove duplicated rows when workflows shared Publicly in the hub page (#7107)** (59cec3f)
- **fix(pyamber, v1.2): repair LinkedBlockingMultiQueue removal paths; add unit tests (#7101)** (7106df4)
- **fix(amber, v1.2): surface real cause when output port schema is unavailable (#7104)** (d3915af)
- **fix(amber, v1.2): order worker state by version, not timestamp (#7106)** (a9fa9bc)
- **fix(amber, v1.2): log betterproto stderr as info to avoid false IDE build failures (#7108)** (14ee95e)
- **fix(amber, v1.2): advance region executions in a later coordinator round, not inside portCompleted (#7096)** (f0a18ff)
- **fix(file-service, v1.2): reject invalid or duplicate dataset renames (#7113)** (2bb12d2)
- **fix(amber, v1.2): store execution sizes as BIGINT to stop silent >2GiB truncation (#7050)** (5c53cf7)
- **fix(workflow-operator, v1.2): qualify the AsterixDB FROM clause; add AsterixDBSourceOpExec unit tests  (#7006)** (29c3469)
- **fix(BarChart, v1.2): treat an empty categoryColumn as no category (px.bar color)  (#6997)** (e17af26)
- **fix(frontend, v1.2): reject null payloads in dashboard type predicates  (#7010)** (1908ccd)
- **fix(QuiverPlot, RangeSlider, v1.2): retarget numeric attributeTypeRules to real fields  (#7011)** (8749178)
- **fix(computing-unit, v1.2): fix 500s in share/revoke (unknown email + privilege change)  (#7008)** (5c5e433)
- **fix(access-control-service, v1.2): include port in computing unit pod URI and use Envoy Gateway for distributed CUs  (#7009)** (261d4c5)
- **fix(workflow-operator, v1.2): fall back to day semantics for an unset interval type; extend aggregate and interval-join tests  (#7007)** (1b173d5)
- **fix(query, v1.2): Remove duplicated rows when datasets shared Publicly in the hub page  (#6992)** (2b6bcda)
- **fix(frontend, v1.2): stabilize admin execution pagination bar  (#6993)** (1b7a02f)
- **fix(MachineLearningScorer, v1.2): splice metric_list verbatim instead of double-encoding  (#7003)** (8c02dce)
- **fix(file-service, v1.2): return 403 instead of 500 on dataset share/revoke deny paths  (#6994)** (0151a66)
- **fix(pyamber, v1.2): stop EndWorker from consuming straggler messages  (#6995)** (23d5d1c)
- **fix(operator, v1.2): interpolate desc.url so failure message shows the URL  (#6996)** (9c446a6)
- **fix(k8s, v1.2): add missing AUTH_JWT_SECRET to values-development.yaml  (#7000)** (34d1750)
- **fix(v1.2): Correct FilledAreaPlot x-value validation across groups  (#6998)** (d1396b1)
- **fix(local-dev, v1.2): refresh Lakekeeper warehouse S3 endpoint when it already exists  (#6999)** (6e85781)
- **fix(workflow-operator, v1.2): set alreadyClosed before onClose  (#7001)** (eb746a1)
- **fix(computing-unit, v1.2): return 404 instead of 500 when getOwner is called for a nonexistent unit  (#7002)** (af40467)
- **fix(TablesPlot, v1.2): join selected columns with a comma to emit valid Python  (#7004)** (1e9b623)
- **fix(LogicalOp, v1.2): register SklearnLogisticRegression(CV) subtypes exactly once  (#7005)** (3f3fb0e)
- **fix(deps, frontend, v1.2): update dependency ajv to v8.18.0 [security] (#6984)** (ba32d7a)
- **fix(v1.2): Add missing license headers to Docs (#6982)** (34ad107)
- **fix(docs, v1.2): use a plain year range in NOTICE copyright (#7015)** (21b2856)
- **fix(deps, ci, v1.2): bump sbt/setup-sbt to v1.5.2 for ASF actions allowlist (#6990)** (fd5f487)
- **fix(deps, pyamber, v1.2): update dependency pillow to v12.3.0 [security] (#6957)** (2bcb9aa)
- **fix(deps, pyamber, v1.2): update dependency torch to v2.13.0 [security] (#6956)** (b90c70a)
- **fix(deps, frontend): bump immutable from 4.3.8 to 4.3.9 in /frontend (#6843)** (9a989b4)
- **fix(deps, frontend): bump svgo from 4.0.1 to 4.0.2 in /frontend (#6842)** (1f38f65)
- **fix(deps, frontend): bump fast-uri from 3.1.2 to 3.1.4 in /frontend (#6841)** (db7519d)
- **fix(deps, frontend): bump hono from 4.12.26 to 4.12.31 in /frontend (#6844)** (65237e5)
- **fix(amber, v1.2): run Iceberg local storage on Windows in the Python worker (#6546)** (d70ae8c)
- **fix(workflow-core, v1.2): run Iceberg local storage on Windows without winutils (#6528)** (7bb46a7)
- **fix(deps, frontend): bump websocket-driver from 0.7.4 to 0.7.5 in /frontend (#6615)** (0e09ba1)
- **fix(frontend, v1.2): render the dashboard search page instead of crashing on the filters ViewChild getter (#6422)** (34aa146)
- **fix(frontend): add test coverage and null guard for extractErrorMessage (#6321)** (939ae30)
- **fix(licensing, v1.2): refresh LICENSE-binary for bcprov and transitive Python deps (#6373)** (fa2a813)
- **fix(deps, v1.2): bump @ngx-formly to 7.1.0 to fix Angular 21 form rendering (#6398)** (140d24e)
- **fix(pyamber, v1.2): coerce numpy scalar types (np.integer / np.bool_) in cast_to_schema (#6346)** (9054f85)
- **fix(pve, v1.2): repair Python virtual environment in single-node deployment (#6131)** (4008c76)
- **fix(deps, v1.2): upgrade bouncycastle to fix CVE-2025-14813 (#6316)** (b5b0376)
- **fix(frontend, v1.2): highlight active About sidebar item (#6303)** (21119c7)
- **fix(frontend, v1.2): speed up dataset bulk upload with many files (#6313)** (f7c67e8)
- **fix(deps, frontend): bump @sigstore/core from 3.2.0 to 3.2.1 in /frontend (#6287)** (aaaa3d3)
- **fix(frontend, v1.2): virtualize dataset version file tree (#6299)** (dd0de8c)
- **fix(deps, v1.2): bump torch to 2.12.1 to resolve CVE-2025-3000 (#6265)** (efd4170)
- **fix(deps, v1.2): upgrade Apache Iceberg to 1.9.2 to resolve parquet-avro CVEs (#6216)** (f2ed53e)
- **fix(pyamber, v1.2): coerce integral floats to int for INT/LONG fields (#6214)** (d748565)
- **fix(deps, v1.2): upgrade Apache Arrow to 19.0.0 and Netty to 4.2.15.Final (#6212)** (473c132)
- **fix(deps, v1.2): upgrade Apache Hadoop to 3.4.3 to resolve hadoop-common CVEs (#6203)** (0059bea)
- **fix(deps, v1.2): replace EOL log4j 1.2 with log4j 2.26.1 bridges (#6202)** (2c523f9)
- **fix(frontend): keep admin page height consistent (#6035)** (03efd21)
- **fix(amber): bound region termination retry instead of looping forever (#5958)** (8629905)
- **fix(ui): update computing unit status on /compute tab every second (#4612) [release/v1.2 backport] (#5934)** (12baa79)
- **fix(dev): update single-node restart policy [release/v1.2 backport] (#5933)** (7628e26)
- **fix(execution-service): surface init-time fatal errors to the websocket (#5781)** (e0ee535)
- **fix(test): isolate e2e suites by unique workflow/execution id [release/v1.2 backport] (#5903)** (24f71f6)
- **fix(file-service): retry S3 bucket creation on slow startup (#5853)** (9387e15)
- **fix(amber): add timeout and retry to dataset file-service requests (#5667)** (50051ad)
- **fix(frontend): align dashboard dividers (#5764)** (fd99f33)
- **fix(workflow-operator): no null padding in reservoir sampling (#5606)** (b876b47)
- **fix(workflow-core): paginate S3 deleteDirectory deletions (#5569)** (c9d3a73)
- **fix(file-service): apply LakeFS error handling to all call sites (#5607)** (7780a56)
- **fix(storage): close Files.walk stream in deleteRepo (#5633)** (118877f)
- **fix(agent-service): authenticate to the LLM proxy as the delegating user (#5605)** (bad1ae8)
- **fix(frontend): use default import for package.json version in dev build (#5444) [release/v1.2 backport] (#5617)** (67d6676)
- **fix(workflow-operator): prevent NPE when Sort operator is unconfigured (#5416) [release/v1.2 backport] (#5616)** (115423f)
- **fix(frontend): stop forum login from looping when Flarum auth fails (#5311) [release/v1.2 backport] (#5615)** (c9909b6)
- **fix(config-service): expose inviteOnly on /config/pre-login so INACTIVE users see the registration-request form (#5572)** (9c19f3f)
- **fix(frontend): clean up websocket state when returning to the dashboard (#5565) [release/v1.2 backport] (#5609)** (911eb2f)
- **fix: scope large binary storage and cleanup by execution id (#5280) [release/v1.2 backport] (#5602)** (01eea9d)
- **fix(auth): enforce @RolesAllowed in file-service by registering RolesAllowedDynamicFeature (#5198)** (7dc17c0)
- **fix(build): download protoc matching target arch in image builds (#5573)** (3f41f13)
- **fix(auth): require REGULAR/ADMIN role on LiteLLM proxy endpoints (#5421)** (24e5b70)
- **fix(auth): make JwtAuthFilter eager-401 with @PermitAll opt-out (#5404)** (fb315d6)
- **fix(frontend): exclude /api/config/pre-login from JwtModule (#5408)** (1000d76)
- **fix: replace git hash with build number in UI footer (#5153)** (542f39f)
- **fix(frontend): handle 401 by clearing session, skip sending expired JWTs (#5392)** (184da39)
- **fix: clear red change-line brackets when restoring a workflow version (#5285)** (5107c81)
- **fix(amber): regenerate Python proto bindings on local sbt build (#5358)** (6d604f3)
- **fix(frontend): preserve operator state border on workflow page return (#5146)** (251a845)
- **fix: require non-null uid in   insertNewExecution (#5300)** (531d79f)
- **fix: enforce @RolesAllowed on microservice resources (#5199)** (2ebef32)
- **fix: remove duplicate NOTICE file under bin/single-node (#5303)** (ab79ea4)

### Tests
- **test(workflow-operator): add ReservoirSamplingOpExec spec [release/v1.2 backport] (#5642)** (045328e)
- **test(amber): fix ConcurrentModificationException flake in RegionExecutionCoordinatorSpec (#5562)** (1ea384f)
- **test: cover hub.component sidebar gating and routerLinks (#5232)** (aa3a117)
- **test: unit tests for LocalLoginComponent (#5235)** (0bfe905)
- **test(compiling-service): add direct unit tests for WorkflowCompiler (#5022)** (a8afdc4)
- **test(frontend): browser-mode spec for code-editor.component (#5241)** (e25c282)
- **test: cover ShareAccessComponent behaviors in spec (#5233)** (34be37d)

### Docs
- **docs: fix stale core/ directory paths in contribution docs (#6111)** (a4dc934)
- **docs: fix stale repo, branch, and architecture references (#6113)** (ac045e3)
- **docs: update outdated environment requirements in dev guide (#6112)** (d1c9579)

### Chore
- **refactor(workflow-core, v1.2): make JSONToMap iterative to avoid stack overflow  (#6991)** (39218d8)
- **chore(pve, v1.2): hard-disable the Python Virtual Environment UI (#6364)** (51eddf0)
- **chore(deps): align Angular packages, CLI toolchain to 21.2.18 (#6155)** (8f2faef)
- **chore(deps, 1.2): upgrade to jackson 2.18.8  (#6160)** (823a388)
- **chore(deps): bump sigstore from 4.1.0 to 4.1.1 in /frontend (#6068)** (1d93a89)
- **chore(deps): bump transformers from 5.0.0rc3 to 5.3.0 in /amber (#6067)** (3f2e18b)
- **chore(deps): bump @sigstore/verify from 3.1.0 to 3.1.1 in /frontend (#6069)** (8b0d953)
- **chore(licensing): refresh transitive versions in LICENSE-binary-python (#5944)** (8e01d1a)
- **chore(licensing): refresh transitive versions in LICENSE-binary-python (#5937)** (2107a98)
- **chore: remove unintentional Dependabot bun config for agent-service (#5914)** (4a98f83)
- **chore: upgrade ng-zorro-antd to 21.3.1 (#5895)** (c39e99b)
- **chore(deps-dev): bump pytest from 7.4.0 to 9.0.3 in /amber [release/v1.2 backport] (#5871)** (cfc1707)
- **chore(deps): bump @ai-sdk/openai to 3.0.73 and ai to 6.0.208 in /agent-service [release/v1.2 backport] (#5872)** (bc98a1f)
- **chore(deps): bump pyarrow from 21.0.0 to 23.0.1 in /amber [release/v1.2 backport] (#5870)** (565119c)
- **chore(deps): bump typescript from 5.9.3 to 6.0.3 in /agent-service [release/v1.2 backport] (#5869)** (f8e922c)
- **chore(deps): bump uuid from 8.3.2 to 14.0.0 in /frontend [release/v1.2 backport] (#5868)** (9b02405)
- **chore(deps): bump torch from 2.8.0 to 2.12.0+cpu in /amber [release/v1.2 backport] (#5867)** (1ac6a88)
- **chore(deps): bump @types/bun from 1.3.3 to 1.3.14 in /agent-service [release/v1.2 backport] (#5866)** (ba95bb0)
- **chore(deps): bump prettier from 3.4.2 to 3.8.4 in /agent-service [release/v1.2 backport] (#5865)** (eadfbeb)
- **chore(deps): bump elysia from 1.4.27 to 1.4.29 in /agent-service [release/v1.2 backport] (#5864)** (8236064)
- **chore(deps): bump launch-editor from 2.13.2 to 2.14.1 in /frontend [release/v1.2 backport] (#5863)** (07a2ce5)
- **chore(deps): bump ws from 8.18.0 to 8.21.0 in /pyright-language-service [release/v1.2 backport] (#5862)** (fd55e91)
- **chore(deps): bump @angular/compiler from 21.2.10 to 21.2.17 in /frontend [release/v1.2 backport] (#5861)** (58bdc13)
- **chore(deps): bump hono from 4.12.15 to 4.12.26 in /frontend [release/v1.2 backport] (#5860)** (b47cdf8)
- **chore(deps): bump js-yaml from 4.1.1 to 4.2.0 in /frontend [release/v1.2 backport] (#5859)** (a62eb66)
- **chore(deps): bump tar from 7.5.13 to 7.5.16 in /frontend [release/v1.2 backport] (#5858)** (e28a347)
- **chore(deps): bump ws from 6.2.3 to 6.2.4 in /frontend [release/v1.2 backport] (#5857)** (88a4dc6)
- **chore(deps): bump elysia from 1.4.18 to 1.4.27 in /agent-service (#4961)** (e48f79e)
- **chore(deps): bump ajv from 8.10.0 to 8.18.0 in /agent-service (#4962)** (acff77a)
- **chore(licensing): refresh Python license-binary drift (#5763)** (f21ac6f)
- **chore(deps): upgrade frontend Nx to 23 (#5746)** (b2a87c7)
- **chore(deps-dev): bump @vitest/browser from 4.1.8 to 4.1.9 in /frontend (#5733)** (bd9625e)
- **chore(deps): bump @angular/core from 21.2.10 to 21.2.17 in /frontend (#5732)** (c9d6bf7)
- **chore(deps): bump @angular/common from 21.2.10 to 21.2.17 in /frontend (#5731)** (8fc5b50)
- **chore(deps-dev): bump @vitest/browser from 4.1.6 to 4.1.8 in /frontend (#5730)** (16fc6b7)
- **chore(licensing): refresh transitive versions in LICENSE-binary-python (#5650)** (a1f00bc)
- **chore(licensing): add per-module NOTICE-binary generation script and CI checks for detecting NOTICE-binary drifting (#5417)** (1f84101)
- **chore(licensing): refresh transitive versions in LICENSE-binary-python (#5589)** (8ab89e3)
- **chore: bump version to v1.2.0-incubating (#5386)** (73efbbc)
- **chore(deps-dev): bump @vitest/browser from 4.1.5 to 4.1.6 in /frontend (#5356)** (8aa81af)
- **chore(asf): remove non-public team from bypass and grant v1.2 release manager (#5354)** (23c5fd2)
- **refactor: Drop /dashboard prefix from user-facing URLs (#5151)** (d26bff6)
- **chore(ci): rename python job/flag/label to pyamber (#5307)** (0e5686e)

_Recap by [Repo Wrapped](https://repowrapped.com/gh/apache/texera?utm_source=github-action)._