Files
Andrew Lamb 8df75c3f04 Document guidance on how to evaluate breaking API changes (#20584)
## Which issue does this PR close?


## Rationale for this change

DataFusion does make API changes from time to time, and that is a normal
part of software development. However, it is important to evaluate the
impact of those API changes on downstream users and to ensure that the
benefits of the change are clear to those users.

I found a few times where API changes were made with the justification
that "some APIs in DataFusion are cleaner" or "this is more consistent
with other APIs". While those may be valid justifications, it is painful
for downstream users who have change their code to accommodate the API
change when they get nothing in return

This most recently happened in this PR
-
https://github.com/apache/datafusion/pull/19790#pullrequestreview-3863480182

thus I think the contributor guide should include some guidance on how
to evaluate breaking API changes and to ensure that the benefits of the
change are clear to downstream users.


## What changes are included in this PR?

Polish up the API guidance section

## Are these changes tested?

By CI

## Are there any user-facing changes?

Better / clearer docs
2026-02-28 14:16:28 +00:00
..
2024-03-02 08:44:04 -07:00

DataFusion Documentation

This folder contains the source content of the User Guide and Contributor Guide. These are both published to https://datafusion.apache.org/ as part of the release process.

Dependencies

Install build dependencies and build the documentation using uv:

uv sync
uv run bash build.sh

The docs build regenerates the workspace dependency graph via docs/scripts/generate_dependency_graph.sh, so ensure cargo, cargo-depgraph (cargo install cargo-depgraph --version ^1.6 --locked), and Graphviz dot (brew install graphviz or sudo apt-get install -y graphviz) are available.

Build & Preview

Run the provided script to build the HTML pages.

# If using venv, ensure you have activated it
./build.sh

The HTML will be generated into a build directory. Open build/html/index.html in your preferred browser, e.g.

Preview the site on Linux by running this command.

# On macOS
open build/html/index.html
# On Linux with Firefox
firefox build/html/index.html

Making Changes

To make changes to the docs, simply make a Pull Request with your proposed changes as normal. When the PR is merged the docs will be automatically updated.

Release Process

This documentation is hosted at https://datafusion.apache.org/

When the PR is merged to the main branch of the DataFusion repository, a github workflow which:

  1. Builds the html content
  2. Pushes the html content to the asf-site branch in this repository.

The Apache Software Foundation provides https://datafusion.apache.org/, which serves content based on the configuration in .asf.yaml, which specifies the target as https://datafusion.apache.org/.