This is an automated email from the ASF dual-hosted git repository.
github-bot pushed a change to branch nightly-refs/heads/master
in repository https://gitbox.apache.org/repos/asf/beam.git
from fbeae980e93 Merge pull request #26919: warn if BigQuery failed rows
collection is not processed
add 785b60dd610 remove taskName tag (#26934)
add 113a8757c70 Bump cloud.google.com/go/pubsub from 1.30.1 to 1.31.0 in
/sdks (#26888)
add 1441c0db308 Add startPollTimeoutSec parameter. Fix splitting of
restriction
add bc5a8907dad Merge pull request #26862: [SparkReceiverIO] Add
startPollTimeoutSec parameter. Fix splitting of restriction
add f3ac84e74b6 [Go SDK][Prism] Prism fails pipelines that use features
unimplemented in Prism. (#26882)
add bd274b7337e Revise error message to state the actual size limit
(#26754)
add 4f5b2155031 Fix and refactor main.py file for yaml
add d7ee278f74a Merge pull request #26940 Fix and refactor main.py file
for yaml
add b9730952a7a Insert graph saving code before `pipeline.run()` instead
of replacing it (#26937)
add d86e5a13acc [Playground] Resolve CI/CD failures (#26927)
add b9b26b977ef [Frontend] Upgrade to Flutter 3.10.2 (#26926)
add 1b8262cdd3b codeblockBackgroundColor in blockquoteDecoration,
KeyedTabBar borders (#26735)
add 27842d2e541 make autosharding the default if
numsStorageWriteApiStreams is zero (#26533)
add fb1683d4a1f fixes:#25841
Improve-error-messages-for-the-validateStateApplicableForInput-method… (#25843)
add 722312742c4 Update build_release_candidate.yml (#26949)
add 5bd0c08260e Automation: Tourofbeam backend infrastructure deployment
using cloudbuild (#26504)
add 018d626e5e7 Use `PipelineOptions` for constructing `BigQueryWrapper`
when estimating BigQuery table size (#26622) (#26662)
add 1946aa6b828 Create PortableDoFnOp in Samza Runner (#26442)
add 35a4a3fd464 Bump google.golang.org/api from 0.124.0 to 0.125.0 in
/sdks (#26944)
add bdd29bf45f8 Add script to fetch SCIO examples (#26891)
add 4c199df265c [Tour of Beam] Learning content for "IO Connectors" module
(#25301)
add d195be2110f Add docs on pre/post processing operations and dlq support
(#26772)
add 205cbcea9b0 Return unknown backlog on Kinesis if reader not started
(#26953)
add 09de12ac356 update website for release-2.48.0 and blog post (#26903)
add 02eedd0d169 Adjust google-api-services-storage version to match
current Storage client (#26910)
add 57dfe68c171 ARC Terraform updates (#26965)
add 4f07cda050c Added Github Workflow Replacement for Jenkins Job,
beam_PreCommit_Go (#26952)
add dbc1c1597fe populate jobs with gradle scans access (#26379)
add 8ec667c8a0b Bump github.com/fsouza/fake-gcs-server from 1.45.1 to
1.45.2 in /sdks (#26931)
add 69c58a9e5ee [Playground] Fix graph.dot search path (#26951)
add e1b4ed355da Adds a utility for starting up the Transform Service from
Java (#26834)
add 538c7bdd852 Feedback google forms iframe (#26864)
add 3dd239e2045 Make lulls message in Python SDK to be consistent with the
implementation in Java SDK (#26936)
add f5e17e3e3b9 Revert "populate jobs with gradle scans access (#26379)"
(#26972)
No new revisions were added by this update.
Summary of changes:
.../gh-actions-self-hosted-runners/arc/README.md | 23 +-
.../arc/config/arc_deployment.tpl | 2 +-
.../arc/{outputs.tf => environments/beam.env} | 27 +-
.../arc/kubernetes.tf | 2 +-
.../gh-actions-self-hosted-runners/arc/outputs.tf | 7 +-
.github/workflows/beam_PreCommit_Go.yml | 29 ++
.github/workflows/build_playground_frontend.yml | 2 +-
.github/workflows/build_release_candidate.yml | 4 +-
.github/workflows/playground_frontend_test.yml | 2 +-
.github/workflows/tour_of_beam_frontend_test.yml | 2 +-
CHANGES.md | 3 +-
build.gradle.kts | 6 +
.../org/apache/beam/gradle/BeamModulePlugin.groovy | 2 +-
learning/tour-of-beam/backend/internal/sdk.go | 4 +-
learning/tour-of-beam/backend/internal/sdk_test.go | 1 -
.../backend/samples/api/get_sdk_list.json | 3 +-
learning/tour-of-beam/cloudbuild/01.setup/iam.tf | 76 ++++
.../tour-of-beam/cloudbuild}/01.setup/provider.tf | 0
.../01.setup/services.tf} | 13 +-
.../01.setup/terraform.tf} | 13 +-
.../setup => cloudbuild/01.setup}/variables.tf | 20 +-
.../locals.tf => cloudbuild/02.builders/data.tf} | 33 +-
.../tour-of-beam/cloudbuild/02.builders/locals.tf | 101 +++++
.../cloudbuild/02.builders}/provider.tf | 0
.../02.builders/terraform.tf} | 14 +-
.../cloudbuild/02.builders/triggers.tf | 217 ++++++++++
.../cloudbuild/02.builders/variables.tf | 132 ++++++
learning/tour-of-beam/cloudbuild/README.md | 153 +++++++
.../cloudbuild/scripts/tob_deploy_infra_backend.sh | 89 ++++
.../tour-of-beam/cloudbuild/scripts/tob_lm_cd.sh | 42 ++
learning/tour-of-beam/frontend/lib/locator.dart | 2 -
.../frontend/lib/pages/tour/screen.dart | 24 +-
learning/tour-of-beam/frontend/pubspec.lock | 384 ++++++++---------
learning/tour-of-beam/frontend/pubspec.yaml | 8 +-
.../learning-content/content-info.yaml | 3 +-
.../io/big-query-io/beam-schema/description.md | 31 ++
.../beam-schema/java-example/Task.java | 136 ++++++
.../big-query-io/beam-schema}/unit-info.yaml | 8 +-
.../big-query-io/group-info.yaml} | 13 +-
.../io/big-query-io/read-query/description.md | 42 ++
.../io/big-query-io/read-query/go-example/main.go | 75 ++++
.../big-query-io/read-query/java-example/Task.java | 91 ++++
.../big-query-io/read-query/python-example/task.py | 64 +++
.../big-query-io/read-query}/unit-info.yaml | 10 +-
.../io/big-query-io/read-table/description.md | 59 +++
.../io/big-query-io/read-table/go-example/main.go | 81 ++++
.../big-query-io/read-table/java-example/Task.java | 89 ++++
.../big-query-io/read-table/python-example/task.py | 60 +++
.../big-query-io/read-table}/unit-info.yaml | 10 +-
.../io/big-query-io/table-schema/description.md | 121 ++++++
.../big-query-io/table-schema/go-example/main.go | 82 ++++
.../table-schema/java-example/Task.java | 179 ++++++++
.../table-schema/python-example/task.py | 69 +++
.../big-query-io/table-schema/unit-info.yaml} | 11 +-
.../unit-info.yaml => io/kafka-io/group-info.yaml} | 12 +-
.../io/kafka-io/kafka-read/description.md | 73 ++++
.../io/kafka-io/kafka-read/go-example/main.go | 90 ++++
.../io/kafka-io/kafka-read/java-example/Task.java | 120 ++++++
.../io/kafka-io/kafka-read/python-example/task.py | 59 +++
.../kafka-io/kafka-read}/unit-info.yaml | 10 +-
.../io/kafka-io/kafka-write/description.md | 64 +++
.../io/kafka-io/kafka-write/go-example/main.go | 88 ++++
.../io/kafka-io/kafka-write/java-example/Task.java | 68 +++
.../io/kafka-io/kafka-write/python-example/task.py | 55 +++
.../kafka-io/kafka-write}/unit-info.yaml | 10 +-
.../{content-info.yaml => io/module-info.yaml} | 13 +-
.../learning-content/io/rest-api/description.md | 110 +++++
.../io/rest-api/java-example/Task.java | 232 ++++++++++
.../io/rest-api/python-example/task.py | 92 ++++
.../logical-type => io/rest-api}/unit-info.yaml | 9 +-
.../text-io/group-info.yaml} | 15 +-
.../io/text-io/text-io-gcs-read/description.md | 55 +++
.../io/text-io/text-io-gcs-read/go-example/main.go | 64 +++
.../text-io-gcs-read/java-example/Task.java | 54 +++
.../text-io-gcs-read/python-example/task.py | 39 ++
.../text-io/text-io-gcs-read}/unit-info.yaml | 10 +-
.../io/text-io/text-io-gcs-write/description.md | 87 ++++
.../text-io/text-io-gcs-write/go-example/main.go | 62 +++
.../text-io-gcs-write/java-example/Task.java | 54 +++
.../text-io-gcs-write/python-example/task.py | 42 ++
.../text-io/text-io-gcs-write}/unit-info.yaml | 10 +-
.../io/text-io/text-io-local-read/description.md | 88 ++++
.../text-io/text-io-local-read/go-example/main.go | 58 +++
.../text-io-local-read/go-example/myfile.txt | 1 +
.../text-io-local-read/java-example/Task.java | 53 +++
.../text-io-local-read/java-example/myfile.txt | 1 +
.../text-io-local-read/python-example/myfile.txt | 1 +
.../text-io-local-read/python-example/task.py | 38 ++
.../text-io/text-io-local-read}/unit-info.yaml | 10 +-
.../io/text-io/text-io-local-write/description.md | 88 ++++
.../text-io/text-io-local-write/go-example/main.go | 39 +-
.../text-io-local-write/go-example/myfile.txt | 0
.../text-io-local-write/java-example/Task.java | 46 ++
.../text-io-local-write/java-example/myfile.txt | 0
.../text-io-local-write/python-example/myfile.txt | 0
.../text-io-local-write/python-example/task.py | 41 ++
.../text-io/text-io-local-write/unit-info.yaml} | 11 +-
.../schema-concept/logical-type/unit-info.yaml | 1 -
learning/tour-of-beam/terraform/README.md | 25 +-
learning/tour-of-beam/terraform/build.gradle.kts | 97 +++--
.../tour-of-beam/terraform/cloud_functions/main.tf | 2 +-
.../terraform/cloud_functions/variables.tf | 2 +-
.../terraform/functions_buckets/locals.tf | 11 +-
.../terraform/functions_buckets/variables.tf | 4 +
learning/tour-of-beam/terraform/main.tf | 5 +-
learning/tour-of-beam/terraform/setup/iam.tf | 12 +-
learning/tour-of-beam/terraform/setup/locals.tf | 9 +-
learning/tour-of-beam/terraform/setup/output.tf | 2 +-
learning/tour-of-beam/terraform/setup/variables.tf | 6 +-
learning/tour-of-beam/terraform/variables.tf | 9 +-
playground/backend/internal/fs_tool/fs.go | 2 +-
playground/backend/internal/fs_tool/fs_test.go | 4 +-
playground/backend/internal/fs_tool/go_fs_test.go | 2 +-
.../backend/internal/fs_tool/lc_constructor.go | 2 +-
.../backend/internal/preparers/java_preparers.go | 65 ++-
playground/frontend/Dockerfile | 4 +-
.../miscellaneous_ui/feedback_test.dart | 34 +-
.../standalone_default_examples_test.dart | 4 -
.../lib/src/constants/backend_urls.dart | 2 +-
.../lib/src/constants/links.dart | 4 +
.../lib/src/models/category_with_examples.dart | 2 +-
.../lib/src/models/example_base.dart | 2 +-
.../playground_components/lib/src/theme/theme.dart | 4 +
.../lib/src/widgets/feedback.dart | 48 +--
.../links.dart => widgets/iframe/iframe.dart} | 16 +-
.../iframe/iframe_non_web.dart} | 32 +-
.../lib/src/widgets/iframe/iframe_web.dart | 61 +++
.../frontend/playground_components/pubspec.yaml | 10 +-
.../playground_components_dev/pubspec.yaml | 4 +-
playground/frontend/pubspec.lock | 316 +++++++-------
playground/frontend/pubspec.yaml | 6 +-
playground/infrastructure/fetch_scala_examples.py | 245 +++++++++++
playground/infrastructure/helper.py | 38 +-
playground/infrastructure/requirements.txt | 2 +
playground/infrastructure/test_helper.py | 15 +-
playground/infrastructure/test_verify.py | 18 +-
playground/infrastructure/verify.py | 156 ++++---
.../beam/runners/samza/runtime/PortableDoFnOp.java | 466 +++++++++++++++++++++
.../translation/ParDoBoundMultiTranslator.java | 5 +-
sdks/go.mod | 22 +-
sdks/go.sum | 54 +--
.../beam/runners/prism/internal/execute_test.go | 7 +
.../prism/internal/jobservices/management.go | 88 +++-
.../runners/prism/internal/unimplemented_test.go | 104 +++++
.../pkg/beam/runners/prism/internal/urns/urns.go | 6 +
sdks/go/pkg/beam/testing/ptest/ptest.go | 10 +
sdks/go/test/integration/driver/driver.go | 117 ------
.../integration/primitives/checkpointing_test.go | 6 +-
sdks/go/test/integration/primitives/cogbk.go | 24 +-
sdks/go/test/integration/primitives/cogbk_test.go | 8 +-
sdks/go/test/integration/primitives/drain_test.go | 8 +-
sdks/go/test/integration/primitives/flatten.go | 12 +-
.../go/test/integration/primitives/flatten_test.go | 4 +-
sdks/go/test/integration/primitives/state.go | 60 +--
sdks/go/test/integration/primitives/state_test.go | 20 +-
sdks/go/test/integration/primitives/teststream.go | 33 +-
.../test/integration/primitives/teststream_test.go | 16 +-
.../go/test/integration/primitives/window_panes.go | 8 +-
.../integration/primitives/window_panes_test.go | 5 +-
.../test/integration/primitives/windowinto_test.go | 57 +--
.../java/org/apache/beam/sdk/transforms/ParDo.java | 4 +-
sdks/java/extensions/python/build.gradle | 1 +
.../extensions/python/PythonExternalTransform.java | 79 +++-
.../python/PythonExternalTransformOptions.java | 23 +-
.../PythonExternalTransformOptionsRegistrar.java | 39 +-
.../beam/sdk/io/aws2/kinesis/KinesisReader.java | 6 +
.../sdk/io/aws2/kinesis/KinesisReaderTest.java | 6 +
.../java/org/apache/beam/sdk/io/cdap/CdapIO.java | 18 +-
.../beam/sdk/io/gcp/bigquery/BigQueryIO.java | 13 +-
.../sdk/io/gcp/bigquery/BigQueryServicesImpl.java | 9 +-
.../sdk/io/gcp/bigquery/BigQueryIOWriteTest.java | 30 +-
.../io/gcp/bigquery/BigQueryServicesImplTest.java | 2 +-
.../ReadFromSparkReceiverWithOffsetDoFn.java | 15 +-
.../beam/sdk/io/sparkreceiver/SparkReceiverIO.java | 14 +-
.../ReadFromSparkReceiverWithOffsetDoFnTest.java | 9 +-
.../sdk/io/sparkreceiver/SparkReceiverIOTest.java | 14 +
sdks/java/transform-service/build.gradle | 12 +-
sdks/java/transform-service/docker-compose/.env | 2 +
.../docker-compose/docker-compose.yml | 2 +-
.../transform-service/{ => launcher}/build.gradle | 46 +-
.../launcher/TransformServiceLauncher.java | 306 ++++++++++++++
.../transformservice/launcher/package-info.java | 17 +-
sdks/python/apache_beam/io/gcp/bigquery.py | 2 +-
sdks/python/apache_beam/io/gcp/bigquery_tools.py | 23 +-
.../apache_beam/runners/worker/worker_status.py | 46 +-
.../runners/worker/worker_status_test.py | 26 +-
sdks/python/apache_beam/yaml/main.py | 20 +-
settings.gradle.kts | 1 +
website/www/site/config.toml | 2 +-
website/www/site/content/en/blog/beam-2.48.0.md | 199 +++++++++
.../documentation/sdks/python-machine-learning.md | 76 +++-
.../www/site/content/en/get-started/downloads.md | 14 +-
192 files changed, 6893 insertions(+), 1352 deletions(-)
copy .github/gh-actions-self-hosted-runners/arc/{outputs.tf =>
environments/beam.env} (59%)
create mode 100644 .github/workflows/beam_PreCommit_Go.yml
create mode 100644 learning/tour-of-beam/cloudbuild/01.setup/iam.tf
copy {playground/terraform/infrastructure/cloudbuild-manual-setup =>
learning/tour-of-beam/cloudbuild}/01.setup/provider.tf (100%)
copy learning/tour-of-beam/{terraform/functions_buckets/variables.tf =>
cloudbuild/01.setup/services.tf} (75%)
copy learning/tour-of-beam/{terraform/functions_buckets/variables.tf =>
cloudbuild/01.setup/terraform.tf} (82%)
copy learning/tour-of-beam/{terraform/setup =>
cloudbuild/01.setup}/variables.tf (61%)
copy learning/tour-of-beam/{terraform/setup/locals.tf =>
cloudbuild/02.builders/data.tf} (51%)
create mode 100644 learning/tour-of-beam/cloudbuild/02.builders/locals.tf
copy {playground/terraform/infrastructure/cloudbuild-manual-setup/01.setup =>
learning/tour-of-beam/cloudbuild/02.builders}/provider.tf (100%)
copy learning/tour-of-beam/{terraform/functions_buckets/variables.tf =>
cloudbuild/02.builders/terraform.tf} (77%)
create mode 100644 learning/tour-of-beam/cloudbuild/02.builders/triggers.tf
create mode 100644 learning/tour-of-beam/cloudbuild/02.builders/variables.tf
create mode 100644 learning/tour-of-beam/cloudbuild/README.md
create mode 100644
learning/tour-of-beam/cloudbuild/scripts/tob_deploy_infra_backend.sh
create mode 100644 learning/tour-of-beam/cloudbuild/scripts/tob_lm_cd.sh
create mode 100644
learning/tour-of-beam/learning-content/io/big-query-io/beam-schema/description.md
create mode 100644
learning/tour-of-beam/learning-content/io/big-query-io/beam-schema/java-example/Task.java
copy
learning/tour-of-beam/learning-content/{schema-based-transforms/schema-concept/logical-type
=> io/big-query-io/beam-schema}/unit-info.yaml (88%)
copy learning/tour-of-beam/learning-content/{content-info.yaml =>
io/big-query-io/group-info.yaml} (87%)
create mode 100644
learning/tour-of-beam/learning-content/io/big-query-io/read-query/description.md
create mode 100644
learning/tour-of-beam/learning-content/io/big-query-io/read-query/go-example/main.go
create mode 100644
learning/tour-of-beam/learning-content/io/big-query-io/read-query/java-example/Task.java
create mode 100644
learning/tour-of-beam/learning-content/io/big-query-io/read-query/python-example/task.py
copy
learning/tour-of-beam/learning-content/{schema-based-transforms/schema-concept/logical-type
=> io/big-query-io/read-query}/unit-info.yaml (88%)
create mode 100644
learning/tour-of-beam/learning-content/io/big-query-io/read-table/description.md
create mode 100644
learning/tour-of-beam/learning-content/io/big-query-io/read-table/go-example/main.go
create mode 100644
learning/tour-of-beam/learning-content/io/big-query-io/read-table/java-example/Task.java
create mode 100644
learning/tour-of-beam/learning-content/io/big-query-io/read-table/python-example/task.py
copy
learning/tour-of-beam/learning-content/{schema-based-transforms/schema-concept/logical-type
=> io/big-query-io/read-table}/unit-info.yaml (88%)
create mode 100644
learning/tour-of-beam/learning-content/io/big-query-io/table-schema/description.md
create mode 100644
learning/tour-of-beam/learning-content/io/big-query-io/table-schema/go-example/main.go
create mode 100644
learning/tour-of-beam/learning-content/io/big-query-io/table-schema/java-example/Task.java
create mode 100644
learning/tour-of-beam/learning-content/io/big-query-io/table-schema/python-example/task.py
copy learning/tour-of-beam/learning-content/{content-info.yaml =>
io/big-query-io/table-schema/unit-info.yaml} (87%)
copy
learning/tour-of-beam/learning-content/{schema-based-transforms/schema-concept/logical-type/unit-info.yaml
=> io/kafka-io/group-info.yaml} (88%)
create mode 100644
learning/tour-of-beam/learning-content/io/kafka-io/kafka-read/description.md
create mode 100644
learning/tour-of-beam/learning-content/io/kafka-io/kafka-read/go-example/main.go
create mode 100644
learning/tour-of-beam/learning-content/io/kafka-io/kafka-read/java-example/Task.java
create mode 100644
learning/tour-of-beam/learning-content/io/kafka-io/kafka-read/python-example/task.py
copy
learning/tour-of-beam/learning-content/{schema-based-transforms/schema-concept/logical-type
=> io/kafka-io/kafka-read}/unit-info.yaml (89%)
create mode 100644
learning/tour-of-beam/learning-content/io/kafka-io/kafka-write/description.md
create mode 100644
learning/tour-of-beam/learning-content/io/kafka-io/kafka-write/go-example/main.go
create mode 100644
learning/tour-of-beam/learning-content/io/kafka-io/kafka-write/java-example/Task.java
create mode 100644
learning/tour-of-beam/learning-content/io/kafka-io/kafka-write/python-example/task.py
copy
learning/tour-of-beam/learning-content/{schema-based-transforms/schema-concept/logical-type
=> io/kafka-io/kafka-write}/unit-info.yaml (89%)
copy learning/tour-of-beam/learning-content/{content-info.yaml =>
io/module-info.yaml} (88%)
create mode 100644
learning/tour-of-beam/learning-content/io/rest-api/description.md
create mode 100644
learning/tour-of-beam/learning-content/io/rest-api/java-example/Task.java
create mode 100644
learning/tour-of-beam/learning-content/io/rest-api/python-example/task.py
copy
learning/tour-of-beam/learning-content/{schema-based-transforms/schema-concept/logical-type
=> io/rest-api}/unit-info.yaml (90%)
copy learning/tour-of-beam/learning-content/{content-info.yaml =>
io/text-io/group-info.yaml} (86%)
create mode 100644
learning/tour-of-beam/learning-content/io/text-io/text-io-gcs-read/description.md
create mode 100644
learning/tour-of-beam/learning-content/io/text-io/text-io-gcs-read/go-example/main.go
create mode 100644
learning/tour-of-beam/learning-content/io/text-io/text-io-gcs-read/java-example/Task.java
create mode 100644
learning/tour-of-beam/learning-content/io/text-io/text-io-gcs-read/python-example/task.py
copy
learning/tour-of-beam/learning-content/{schema-based-transforms/schema-concept/logical-type
=> io/text-io/text-io-gcs-read}/unit-info.yaml (88%)
create mode 100644
learning/tour-of-beam/learning-content/io/text-io/text-io-gcs-write/description.md
create mode 100644
learning/tour-of-beam/learning-content/io/text-io/text-io-gcs-write/go-example/main.go
create mode 100644
learning/tour-of-beam/learning-content/io/text-io/text-io-gcs-write/java-example/Task.java
create mode 100644
learning/tour-of-beam/learning-content/io/text-io/text-io-gcs-write/python-example/task.py
copy
learning/tour-of-beam/learning-content/{schema-based-transforms/schema-concept/logical-type
=> io/text-io/text-io-gcs-write}/unit-info.yaml (87%)
create mode 100644
learning/tour-of-beam/learning-content/io/text-io/text-io-local-read/description.md
create mode 100644
learning/tour-of-beam/learning-content/io/text-io/text-io-local-read/go-example/main.go
create mode 100644
learning/tour-of-beam/learning-content/io/text-io/text-io-local-read/go-example/myfile.txt
create mode 100644
learning/tour-of-beam/learning-content/io/text-io/text-io-local-read/java-example/Task.java
create mode 100644
learning/tour-of-beam/learning-content/io/text-io/text-io-local-read/java-example/myfile.txt
create mode 100644
learning/tour-of-beam/learning-content/io/text-io/text-io-local-read/python-example/myfile.txt
create mode 100644
learning/tour-of-beam/learning-content/io/text-io/text-io-local-read/python-example/task.py
copy
learning/tour-of-beam/learning-content/{schema-based-transforms/schema-concept/logical-type
=> io/text-io/text-io-local-read}/unit-info.yaml (87%)
create mode 100644
learning/tour-of-beam/learning-content/io/text-io/text-io-local-write/description.md
copy sdks/go/test/integration/primitives/drain_test.go =>
learning/tour-of-beam/learning-content/io/text-io/text-io-local-write/go-example/main.go
(54%)
create mode 100644
learning/tour-of-beam/learning-content/io/text-io/text-io-local-write/go-example/myfile.txt
create mode 100644
learning/tour-of-beam/learning-content/io/text-io/text-io-local-write/java-example/Task.java
create mode 100644
learning/tour-of-beam/learning-content/io/text-io/text-io-local-write/java-example/myfile.txt
create mode 100644
learning/tour-of-beam/learning-content/io/text-io/text-io-local-write/python-example/myfile.txt
create mode 100644
learning/tour-of-beam/learning-content/io/text-io/text-io-local-write/python-example/task.py
copy learning/tour-of-beam/learning-content/{content-info.yaml =>
io/text-io/text-io-local-write/unit-info.yaml} (87%)
copy playground/frontend/playground_components/lib/src/{constants/links.dart
=> widgets/iframe/iframe.dart} (59%)
copy playground/frontend/playground_components/lib/src/{constants/links.dart
=> widgets/iframe/iframe_non_web.dart} (59%)
create mode 100644
playground/frontend/playground_components/lib/src/widgets/iframe/iframe_web.dart
create mode 100644 playground/infrastructure/fetch_scala_examples.py
create mode 100644
runners/samza/src/main/java/org/apache/beam/runners/samza/runtime/PortableDoFnOp.java
create mode 100644
sdks/go/pkg/beam/runners/prism/internal/unimplemented_test.go
delete mode 100644 sdks/go/test/integration/driver/driver.go
copy playground/frontend/playground_components/lib/src/constants/links.dart =>
sdks/java/extensions/python/src/main/java/org/apache/beam/sdk/extensions/python/PythonExternalTransformOptions.java
(59%)
copy
playground/frontend/playground_components/lib/src/models/category_with_examples.dart
=>
sdks/java/extensions/python/src/main/java/org/apache/beam/sdk/extensions/python/PythonExternalTransformOptionsRegistrar.java
(51%)
copy sdks/java/transform-service/{ => launcher}/build.gradle (56%)
create mode 100644
sdks/java/transform-service/launcher/src/main/java/org/apache/beam/sdk/transformservice/launcher/TransformServiceLauncher.java
copy playground/frontend/playground_components/lib/src/constants/links.dart =>
sdks/java/transform-service/launcher/src/main/java/org/apache/beam/sdk/transformservice/launcher/package-info.java
(59%)
create mode 100644 website/www/site/content/en/blog/beam-2.48.0.md