diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml
index dc37b26bb8..2ce165de78 100644
--- a/.github/ISSUE_TEMPLATE/bug_report.yml
+++ b/.github/ISSUE_TEMPLATE/bug_report.yml
@@ -26,16 +26,16 @@ body:
attributes:
label: Search before asking
description: >
- Please make sure to search in the [issues](https://github.com/apache/incubator-fury/issues) first to see whether the same issue was reported already.
+ Please make sure to search in the [issues](https://github.com/apache/fury/issues) first to see whether the same issue was reported already.
options:
- label: >
- I had searched in the [issues](https://github.com/apache/incubator-fury/issues) and found no similar issues.
+ I had searched in the [issues](https://github.com/apache/fury/issues) and found no similar issues.
required: true
- type: textarea
attributes:
label: Version
description: >
- Please provide the versions of Fury, OS, and others such as JDK/Python/Gcc/Clang/Go/NodeJS if they are used.
+ Please provide the versions of Fury, OS, and others such as JDK/Python/Gcc/Clang/Go/NodeJS if they are used.
If Fury is the unstable version, please input commit id.
validations:
required: true
@@ -80,10 +80,10 @@ body:
attributes:
label: Are you willing to submit a PR?
description: >
- We very much look forward to developers or users to help solve Fury problems together.
+ We very much look forward to developers or users to help solve Fury problems together.
If you are willing to submit a PR to fix this problem, please tick it.
options:
- label: I'm willing to submit a PR!
- type: markdown
attributes:
- value: "Thanks for completing our form!"
\ No newline at end of file
+ value: "Thanks for completing our form!"
diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md
index 6e5d4d60cc..fcd36c1e88 100644
--- a/.github/pull_request_template.md
+++ b/.github/pull_request_template.md
@@ -1,11 +1,11 @@
@@ -29,7 +29,7 @@ Is there any related issue? Please attach here.
## Does this PR introduce any user-facing change?
- [ ] Does this PR introduce any public API change?
diff --git a/.github/sync.yml b/.github/sync.yml
index 432f85c5ca..87e9c8f4d1 100644
--- a/.github/sync.yml
+++ b/.github/sync.yml
@@ -15,7 +15,7 @@
# specific language governing permissions and limitations
# under the License.
-apache/incubator-fury-site@main:
+apache/fury-site@main:
- source: docs/guide/
dest: docs/guide/
- source: docs/specification/
diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml
index b1d5fd8156..209c17c6b5 100644
--- a/.github/workflows/release.yaml
+++ b/.github/workflows/release.yaml
@@ -26,7 +26,7 @@ jobs:
release-python:
name: Publish Fury Python to PyPI
runs-on: ubuntu-20.04
- if: github.repository == 'apache/incubator-fury'
+ if: github.repository == 'apache/fury'
environment:
name: pypi
url: https://pypi.org/project/pyfury
@@ -43,7 +43,7 @@ jobs:
run: ./ci/run_ci.sh install_bazel
- name: Update version in setup.py
run: |
- echo "GITHUB_REF: $GITHUB_REF"
+ echo "GITHUB_REF: $GITHUB_REF"
tag=$(echo $GITHUB_REF | cut -d / -f 3)
echo "tag: $tag"
version=${tag:1}
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index b7558affbc..18f133711b 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -2,15 +2,15 @@
## Finding good first issues
-See [Good First Issues](https://github.com/apache/incubator-fury/contribute).
+See [Good First Issues](https://github.com/apache/fury/contribute).
## How to create an issue
-Create an issue with [this form](https://github.com/apache/incubator-fury/issues/new/choose).
+Create an issue with [this form](https://github.com/apache/fury/issues/new/choose).
## How to title your PR
-Generally we follows the [Conventional Commits](https://www.conventionalcommits.org/) for pull request titles,
+Generally we follows the [Conventional Commits](https://www.conventionalcommits.org/) for pull request titles,
since we will squash and merge the PR and use the PR title as the first line of commit message.
For example, here are good PR titles:
@@ -20,7 +20,7 @@ For example, here are good PR titles:
If the submitted PR affects the performance of Fury, we strongly recommend using the perf type,
and need to provide benchmark data in the PR description. For how to run the benchmark,
-please check [Fury Java Benchmark](https://github.com/apache/incubator-fury/blob/main/java/benchmark/README.md).
+please check [Fury Java Benchmark](https://github.com/apache/fury/blob/main/java/benchmark/README.md).
For more details, please check [pr-lint.yml](./.github/workflows/pr-lint.yml).
@@ -189,7 +189,7 @@ sudo flamegraph.pl out.folded > out.svg
## Website
-Fury's website consists of static pages hosted at https://github.com/apache/incubator-fury-site.
+Fury's website consists of static pages hosted at https://github.com/apache/fury-site.
All updates about docs under [guide](docs/guide) and [benchmarks](docs/benchmarks) will be synced to the site repo automatically.
diff --git a/README.md b/README.md
index ae35f3759d..dda3895160 100644
--- a/README.md
+++ b/README.md
@@ -2,7 +2,7 @@
-[![Build Status](https://img.shields.io/github/actions/workflow/status/apache/incubator-fury/ci.yml?branch=main&style=for-the-badge&label=GITHUB%20ACTIONS&logo=github)](https://github.com/apache/incubator-fury/actions/workflows/ci.yml)
+[![Build Status](https://img.shields.io/github/actions/workflow/status/apache/fury/ci.yml?branch=main&style=for-the-badge&label=GITHUB%20ACTIONS&logo=github)](https://github.com/apache/fury/actions/workflows/ci.yml)
[![Slack Channel](https://img.shields.io/badge/slack-join-3f0e40?logo=slack&style=for-the-badge)](https://join.slack.com/t/fury-project/shared_invite/zt-1u8soj4qc-ieYEu7ciHOqA2mo47llS8A)
[![Twitter](https://img.shields.io/badge/@ApacheFury-follow-blue?logo=twitter&style=for-the-badge)](https://twitter.com/ApacheFury)
[![Maven Version](https://img.shields.io/maven-central/v/org.apache.fury/fury-core?style=for-the-badge)](https://search.maven.org/#search|gav|1|g:"org.apache.fury"%20AND%20a:"fury-core")
@@ -12,6 +12,12 @@
https://fury.apache.org
+> [!IMPORTANT]
+> Apache Fury (incubating) is an effort undergoing incubation at the Apache
+> Software Foundation (ASF), sponsored by the Apache Incubator PMC.
+>
+> Please read the [DISCLAIMER](DISCLAIMER) and a full explanation of ["incubating"](https://incubator.apache.org/policy/incubation.html).
+
## Features
- **Multiple languages**: Java/Python/C++/Golang/JavaScript/Rust/Scala/TypeScript.
- **Zero-copy**: Cross-language out-of-band serialization inspired
@@ -58,7 +64,7 @@ To ensure accurate benchmark statistics, it is advisable to **warm up** the syst
### Java Serialization
In these charts below, titles containing "compatible" represent schema compatible mode: type forward/backward compatibility is enabled; while titles without "compatible" represent schema consistent mode: class schema must be the same between serialization and deserialization.
-Where `Struct` is a class with [100 primitive fields](https://github.com/apache/incubator-fury/tree/main/docs/benchmarks#Struct), `MediaContent` is a class from [jvm-serializers](https://github.com/eishay/jvm-serializers/blob/master/tpc/src/data/media/MediaContent.java), and `Sample` is a class from [kryo benchmark](https://github.com/EsotericSoftware/kryo/blob/master/benchmarks/src/main/java/com/esotericsoftware/kryo/benchmarks/data/Sample.java).
+Where `Struct` is a class with [100 primitive fields](https://github.com/apache/fury/tree/main/docs/benchmarks#Struct), `MediaContent` is a class from [jvm-serializers](https://github.com/eishay/jvm-serializers/blob/master/tpc/src/data/media/MediaContent.java), and `Sample` is a class from [kryo benchmark](https://github.com/EsotericSoftware/kryo/blob/master/benchmarks/src/main/java/com/esotericsoftware/kryo/benchmarks/data/Sample.java).
@@ -74,7 +80,7 @@ Where `Struct` is a class with [100 primitive fields](https://github.com/apache/
-See [benchmarks](https://github.com/apache/incubator-fury/tree/main/docs/benchmarks) for more benchmarks about type forward/backward compatibility, off-heap support, zero-copy serialization. +See [benchmarks](https://github.com/apache/fury/tree/main/docs/benchmarks) for more benchmarks about type forward/backward compatibility, off-heap support, zero-copy serialization. ## Installation ### Java @@ -138,7 +144,7 @@ npm install @furyjs/fury ### Golang ```bash -go get github.com/apache/incubator-fury/go/fury +go get github.com/apache/fury/go/fury ``` ## Quickstart @@ -251,7 +257,7 @@ print(fury.deserialize(data)) ```go package main -import furygo "github.com/apache/incubator-fury/go/fury" +import furygo "github.com/apache/fury/go/fury" import "fmt" func main() { @@ -352,12 +358,12 @@ print(foo_row.f2[100000], foo_row.f4[100000].f1, foo_row.f4[200000].f2[5]) ### Schema Compatibility Fury java object graph serialization supports class schema forward/backward compatibility. The serialization peer and deserialization peer can add/delete fields independently. -We plan to add the schema compatibility support of cross-language serialization after [meta compression](https://github.com/apache/incubator-fury/issues/203) is finished. +We plan to add the schema compatibility support of cross-language serialization after [meta compression](https://github.com/apache/fury/issues/203) is finished. ### Binary Compatibility We are still improving our protocols, thus binary compatibility is not guaranteed between Fury major releases for now. However, it is guaranteed between minor versions. Please -`versioning` your data by Fury major version if you will upgrade Fury in the future, see [how to upgrade fury](https://github.com/apache/incubator-fury/blob/main/docs/guide/java_object_graph_guide.md#upgrade-fury) for further details. +`versioning` your data by Fury major version if you will upgrade Fury in the future, see [how to upgrade fury](https://github.com/apache/fury/blob/main/docs/guide/java_object_graph_guide.md#upgrade-fury) for further details. Binary compatibility will be guaranteed when Fury 1.0 is released. diff --git a/ci/format.sh b/ci/format.sh index 3df6ad6f99..4f931ddae8 100755 --- a/ci/format.sh +++ b/ci/format.sh @@ -304,7 +304,7 @@ elif [ "${1-}" == '--java' ]; then else # Add the origin remote if it doesn't exist if ! git remote -v | grep -q origin; then - git remote add 'origin' 'https://github.com/apache/incubator-fury.git' + git remote add 'origin' 'https://github.com/apache/fury.git' fi # use unshallow fetch for `git merge-base origin/main HEAD` to work. diff --git a/docs/guide/DEVELOPMENT.md b/docs/guide/DEVELOPMENT.md index bfab541791..3949dcb58f 100644 --- a/docs/guide/DEVELOPMENT.md +++ b/docs/guide/DEVELOPMENT.md @@ -6,7 +6,7 @@ id: development # How to build Fury -Please checkout the source tree from https://github.com/apache/incubator-fury. +Please checkout the source tree from https://github.com/apache/fury. ### Build Fury Java diff --git a/docs/guide/graalvm_guide.md b/docs/guide/graalvm_guide.md index 3d9acd9b3f..3ed919fd05 100644 --- a/docs/guide/graalvm_guide.md +++ b/docs/guide/graalvm_guide.md @@ -6,26 +6,26 @@ id: graalvm_guide # GraalVM Native Image GraalVM `native image` can compile java code into native code ahead to build faster, smaller, leaner applications. -The native image doesn't have a JIT compiler to compile bytecode into machine code, and doesn't support +The native image doesn't have a JIT compiler to compile bytecode into machine code, and doesn't support reflection unless configure reflection file. -Fury runs on GraalVM native image pretty well. Fury generates all serializer code for `Fury JIT framework` and `MethodHandle/LambdaMetafactory` at graalvm build time. Then use those generated code for serialization at runtime without +Fury runs on GraalVM native image pretty well. Fury generates all serializer code for `Fury JIT framework` and `MethodHandle/LambdaMetafactory` at graalvm build time. Then use those generated code for serialization at runtime without any extra cost, the performance is great. In order to use Fury on graalvm native image, you must create Fury as an **static** field of a class, and **register** all classes at - the enclosing class initialize time. Then configure `native-image.properties` under -`resources/META-INF/native-image/$xxx/native-image.propertie` to tell graalvm to init the class at native image + the enclosing class initialize time. Then configure `native-image.properties` under +`resources/META-INF/native-image/$xxx/native-image.propertie` to tell graalvm to init the class at native image build time. For example, here we configure `org.apache.fury.graalvm.Example` class be init at build time: ```properties Args = --initialize-at-build-time=org.apache.fury.graalvm.Example ``` -Another benefit using fury is that you don't have to configure [reflection json](https://www.graalvm.org/latest/reference-manual/native-image/metadata/#specifying-reflection-metadata-in-json) and +Another benefit using fury is that you don't have to configure [reflection json](https://www.graalvm.org/latest/reference-manual/native-image/metadata/#specifying-reflection-metadata-in-json) and [serialization json](https://www.graalvm.org/latest/reference-manual/native-image/metadata/#serialization), which is -very tedious, cumbersome and inconvenient. When using fury, you just need to invoke +very tedious, cumbersome and inconvenient. When using fury, you just need to invoke `org.apache.fury.Fury.register(Class>, boolean)` for every type you want to serialize. -Note that Fury `asyncCompilationEnabled` option will be disabled automatically for graalvm native image since graalvm +Note that Fury `asyncCompilationEnabled` option will be disabled automatically for graalvm native image since graalvm native image doesn't support JIT at the image run time. ## Not thread-safe Fury @@ -85,7 +85,7 @@ public class ThreadSafeExample { List