diff --git a/.github/workflows/publish-1.3-docs.yml b/.github/workflows/publish-1.3-docs.yml new file mode 100644 index 0000000000..f357e78d53 --- /dev/null +++ b/.github/workflows/publish-1.3-docs.yml @@ -0,0 +1,103 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +# Based on Apache Arrow's java-nightly workflow +# https://github.com/apache/arrow/blob/master/.github/workflows/java_nightly.yml +name: Publish 1.3 documentation + +on: + workflow_dispatch: + +permissions: + contents: read + +jobs: + publish: + name: Publish 1.3 docs + runs-on: ubuntu-22.04 + if: github.repository == 'apache/pekko' + steps: + # TODO we will need to change to use a release tag in future + - name: Checkout + uses: actions/checkout@v5 + with: + fetch-depth: 0 + fetch-tags: true + persist-credentials: false + ref: 1.3.x + + - name: Setup Java 11 + uses: actions/setup-java@v5 + with: + distribution: temurin + java-version: 11 + + - name: Install sbt + uses: sbt/setup-sbt@3e125ece5c3e5248e18da9ed8d2cce3d335ec8dd # v1.1.14 + + - name: Cache Coursier cache + uses: coursier/cache-action@bebeeb0e6f48ebad66d3783946588ecf43114433 # 6.4.8 + + - name: Install Graphviz + run: |- + sudo apt-get install graphviz + + # TODO come up with a better way to control the version, possibly based on git tags + - name: Build Documentation + env: + DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }} + run: |- + sbt -Dpekko.genjavadoc.enabled=true "set ThisBuild / version := \"1.3.0\"; docs/paradox; unidoc" + + # Create directory structure upfront since rsync does not create intermediate directories otherwise + - name: Create directory structure + run: |- + mkdir -p target/nightly-docs/docs/pekko/1.3.0/ + mkdir -p target/nightly-docs/docs/pekko/1.3/ + cp -r docs/target/paradox/site/main/ target/nightly-docs/docs/pekko/1.3.0/docs + cp -r docs/target/paradox/site/main/ target/nightly-docs/docs/pekko/1.3/docs + rm -r docs/target/paradox/site/main/ + cp -r target/scala-2.13/unidoc target/nightly-docs/docs/pekko/1.3.0/api + cp -r target/scala-2.13/unidoc target/nightly-docs/docs/pekko/1.3/api + rm -r target/scala-2.13/unidoc + cp -r target/javaunidoc target/nightly-docs/docs/pekko/1.3.0/japi + cp -r target/javaunidoc target/nightly-docs/docs/pekko/1.3/japi + rm -r target/javaunidoc + + - name: Upload docs patch version + uses: ./.github/actions/sync-nightlies + with: + upload: true + switches: --archive --compress --update --delete --progress --relative + local_path: target/nightly-docs/./docs/pekko/1.3.0 # The intermediate dot is to show `--relative` which paths to operate on + remote_path: ${{ secrets.NIGHTLIES_RSYNC_PATH }}/pekko + remote_host: ${{ secrets.NIGHTLIES_RSYNC_HOST }} + remote_port: ${{ secrets.NIGHTLIES_RSYNC_PORT }} + remote_user: ${{ secrets.NIGHTLIES_RSYNC_USER }} + remote_key: ${{ secrets.NIGHTLIES_RSYNC_KEY }} + + - name: Upload docs api version + uses: ./.github/actions/sync-nightlies + with: + upload: true + switches: --archive --compress --update --delete --progress --relative + local_path: target/nightly-docs/./docs/pekko/1.3 # The intermediate dot is to show `--relative` which paths to operate on + remote_path: ${{ secrets.NIGHTLIES_RSYNC_PATH }}/pekko + remote_host: ${{ secrets.NIGHTLIES_RSYNC_HOST }} + remote_port: ${{ secrets.NIGHTLIES_RSYNC_PORT }} + remote_user: ${{ secrets.NIGHTLIES_RSYNC_USER }} + remote_key: ${{ secrets.NIGHTLIES_RSYNC_KEY }} diff --git a/docs/src/main/paradox/release-notes/index.md b/docs/src/main/paradox/release-notes/index.md index bd95457bce..7f1e4127f1 100644 --- a/docs/src/main/paradox/release-notes/index.md +++ b/docs/src/main/paradox/release-notes/index.md @@ -4,6 +4,7 @@ @@@ index +* [1.3 Releases](releases-1.3.md) * [1.2 Releases](releases-1.2.md) * [1.1 Releases](releases-1.1.md) * [1.0 Releases](releases-1.0.md) diff --git a/docs/src/main/paradox/release-notes/releases-1.3.md b/docs/src/main/paradox/release-notes/releases-1.3.md new file mode 100644 index 0000000000..52e49fc8b6 --- /dev/null +++ b/docs/src/main/paradox/release-notes/releases-1.3.md @@ -0,0 +1,57 @@ +# Release Notes (1.3.x) + +Apache Pekko 1.3.x releases support Java 8 and above. + +# 1.3.0 + +Pekko 1.3.0 has some bug fixes, new features, performance updates and dependency upgrades. See the [GitHub Milestone for 1.3.0](https://github.com/apache/pekko/milestone/21?closed=1) for a fuller list of changes. + +With work on 2.0.0 commencing, we have deprecated some methods that we plan to remove in 2.0.0. These are mainly in testkit libs. + +This release includes a number of changes from Akka 2.7.0, which have recently become available under the Apache License, Version 2.0. + +### Bug Fixes + +* Fix issues with OSGi imports for Pekko packages ([#2312](https://github.com/apache/pekko/issues/2312)) +* Fix close in cancel for statefulMap ([PR2388](https://github.com/apache/pekko/pull/2388)) + +### Additions + +* Add Flow/Source#onErrorResume for Java DSL ([PR2120](https://github.com/apache/pekko/pull/2120)) +* Add Sink#count operator ([PR2244](https://github.com/apache/pekko/pull/2244)) +* Add Sink#source operator ([PR2250](https://github.com/apache/pekko/pull/2250)) +* ByteString: new indexOf overloaded method that allows from and to ([PR2272](https://github.com/apache/pekko/pull/2272)) +* JavaDSL TestKit: add shutdownActorSystem that takes Java Duration params ([PR2277](https://github.com/apache/pekko/pull/2277)) +* Add Flow#onErrorContinue operator ([PR2322](https://github.com/apache/pekko/pull/2322)) +* Add missing onErrorResume to SubFlow and SubSource ([PR2336](https://github.com/apache/pekko/pull/2336)) +* Add more recover operators for Java DSL ([PR2337](https://github.com/apache/pekko/pull/2337)) +* Add doOnFirst operator ([PR2363](https://github.com/apache/pekko/pull/2363)) +* Add doOnCancel operator ([PR2375](https://github.com/apache/pekko/pull/2375)) +* Add actor-typed Java DSL AbstractMatchingBehavior ([PR2379](https://github.com/apache/pekko/pull/2379)) +* Add fromOption operator ([PR2413](https://github.com/apache/pekko/pull/2413)) +* Add mapOption operator ([PR2414](https://github.com/apache/pekko/pull/2414)) +* Add Source#items ([PR2429](https://github.com/apache/pekko/pull/2429)) +* persistence-typed: custom stash support ([PR2433](https://github.com/apache/pekko/pull/2433)) +* Add effectful asking support in typed BehaviorTestKit ([PR2450](https://github.com/apache/pekko/pull/2450)) +* Add asking support to BehaviorTestKit ([PR2453](https://github.com/apache/pekko/pull/2453)) +* Add Source#apply for Array ([PR2474](https://github.com/apache/pekko/pull/2474)) +* Add PersistenceProbeBehavior for testing Persistence Behaviors ([PR2456](https://github.com/apache/pekko/pull/2456), [PR2494](https://github.com/apache/pekko/pull/2494)) +* Add close method (blocking) and AutoCloseable interface to ActorSystem ([PR2486](https://github.com/apache/pekko/pull/2486)) + +### Changes + +* Some ByteString performance improvements ([PR2346](https://github.com/apache/pekko/pull/2346), [PR2347](https://github.com/apache/pekko/pull/2347)) +* Change pekko.ssl-config.protocol default to TLSv1.3 ([PR2360](https://github.com/apache/pekko/pull/2360)) +* Persistence Testkit: emit DeletedDurableState for deleted objects ([PR2397](https://github.com/apache/pekko/pull/2397)) +* Rename gunzip to gzipDecompress ([PR2405](https://github.com/apache/pekko/pull/2405)) +* Regenerate Protobuf based source files with 4.33 ([PR2410](https://github.com/apache/pekko/pull/2410)) +* Deprecate stream testkit's probe methods ([PR2439](https://github.com/apache/pekko/pull/2439)) +* Compare required RC and M versions if present ([PR2441](https://github.com/apache/pekko/pull/2441)) + +### Dependency Changes + +* netty 4.2.7.Final +* jackson 2.20.1 +* protobuf-java 4.33.1 +* ssl-config 0.7.1 +* scala 2.13.17, 3.3.7