diff --git a/.github/workflows/continuous-integration.yml b/.github/workflows/continuous-integration.yml
index 89f18f0..b3a88f3 100644
--- a/.github/workflows/continuous-integration.yml
+++ b/.github/workflows/continuous-integration.yml
@@ -5,10 +5,11 @@ on:
push:
branches:
- main
- # Runs on pull requests targeting the default branch
+ # Runs on pull requests targeting the default branch or the 1.0 release branch
pull_request:
branches:
- main
+ - 1.0-release-readiness
# Supersede in-flight runs for a pull request when new commits arrive, so a
# rebase or force-push does not leave several runs racing on stale commits.
# Pushes to main are never cancelled: every commit on the default branch
@@ -96,9 +97,9 @@ jobs:
run: |
sudo apt-get update
sudo apt-get install -y createrepo-c dpkg-dev rpm python3
- - name: Generate repository from v0.117-0
+ - name: Generate repository from v1.0-0
env:
- DOCUMENTDB_VERSION: v0.117-0
+ DOCUMENTDB_VERSION: v1.0-0
run: .github/scripts/download_packages.sh
- name: Verify release inventory and metadata
run: python3 .github/scripts/verify_package_inventory.py
diff --git a/PACKAGE-INSTALL.md b/PACKAGE-INSTALL.md
index 98b631a..799720f 100644
--- a/PACKAGE-INSTALL.md
+++ b/PACKAGE-INSTALL.md
@@ -2,9 +2,7 @@
Repository-backed installation commands for DocumentDB.
-> This repository serves v0.117-0. v1.0-RC2 is for testing only, gets no fixes (those go into
-> a later RC or 1.0), has no upgrade path, and isn't in this repository; see
-> [Try the 1.0 release candidate](https://documentdb.io/docs/getting-started/release-candidate/).
+> This repository serves v1.0-0.
## Clean-host installer
@@ -15,14 +13,10 @@ curl -fsSLo documentdb-install.sh https://documentdb.io/install.sh &&
sudo sh documentdb-install.sh
```
-This installs v0.117-0 from this repository on PostgreSQL 18; add `--pg-major 17`
-for 17. To try RC2, add `--version v1.0-RC2`. The installer then downloads this host's
-packages from the
-[v1.0-RC2 release](https://github.com/documentdb/documentdb/releases/tag/v1.0-RC2),
-verifies them against its `SHA256SUMS`, and doesn't use this repository. The
-`pgNN-1.0-rc2` container image also runs RC2; it sends anonymous usage telemetry by default
-(opt out with `-e DOCUMENTDB_USAGE_TELEMETRY=false`). See the
-[RC guide](https://documentdb.io/docs/getting-started/release-candidate/).
+This installs v1.0-0 from this repository on PostgreSQL 18; add `--pg-major 17`
+for 17. On a host where DocumentDB is already set up, it only reports that instance's status
+and doesn't upgrade it; to move an existing install to 1.0, see
+[Upgrading an existing install](#upgrading-an-existing-install).
The site serves the `install.sh` attached to the release named in
`scripts/publish-installer.mjs`, and the build fails if its SHA256 changes.
@@ -109,10 +103,12 @@ sudo apt install -y documentdb
wall of GDAL candidate lines that never name the missing repository.
```bash
+if (. /etc/os-release && [ "$ID" = centos ]) && [ -f /etc/yum.repos.d/pgdg-redhat-all.repo ]; then sudo sed -i 's/rhel-\$releasever_major\.\$releasever_minor-/rhel-$releasever_major-/g' /etc/yum.repos.d/pgdg-redhat-all.repo; fi && \
sudo dnf install -y dnf-plugins-core && \
sudo dnf config-manager --set-enabled crb && \
sudo dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm && \
sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-$(uname -m)/pgdg-redhat-repo-latest.noarch.rpm && \
+if (. /etc/os-release && [ "$ID" = centos ]) && [ -f /etc/yum.repos.d/pgdg-redhat-all.repo ]; then sudo sed -i 's/rhel-\$releasever_major\.\$releasever_minor-/rhel-$releasever_major-/g' /etc/yum.repos.d/pgdg-redhat-all.repo; fi && \
sudo dnf -qy module disable postgresql && \
sudo rpm --import https://documentdb.io/documentdb-archive-keyring.gpg && \
printf '%s\n' \
@@ -229,7 +225,7 @@ Before using this anywhere but a private machine:
```bash
sudo documentdb-setup --status # gateway listener, service states, resolved paths
-documentdb-gateway --version # DocumentDB version (0.117.0)
+documentdb-gateway --version # DocumentDB version (1.0.0)
dpkg -l | grep documentdb # or: rpm -qa | grep documentdb
```
@@ -373,54 +369,89 @@ The current release publishes PostgreSQL 17 and 18. Install `documentdb-17` or
## Upgrading an existing install
-> **Warning:** In-place package upgrades from earlier releases are not supported yet. Use a
-> clean host or a new, empty PostgreSQL instance for the current fresh installation.
-> Removing packages alone does not create a fresh database: package removal preserves PostgreSQL data and
-> in-database content, and a later setup run reuses an initialized data directory. Upgrading only
-> `postgresql-N-documentdb` does not install the gateway, tools, common payload, or `documentdb-N`.
+Package installs from v0.116 or later upgrade in place to 1.0. Move the entire stack
+together; upgrading only `postgresql-N-documentdb` does not update the gateway, tools, common
+payload, or `documentdb-N`. These steps use systemd; upgrading a host without it isn't covered here.
+On a package-managed private PostgreSQL 18 instance:
-For a later point release that uses the same multi-package layout, move the entire stack
-together. On a package-managed private PostgreSQL 18 instance:
+> **Warning:** A host that ran a 1.0 release candidate (RC1 or RC2) has no upgrade path. Use a
+> clean host or a new, empty PostgreSQL instance.
+> Removing packages alone does not create a fresh database: package removal preserves PostgreSQL
+> data and in-database content, and a later setup run reuses an initialized data directory.
```bash
-sudo systemctl stop documentdb-gateway-local@18.service
-
# Debian / Ubuntu
-sudo apt update
+sudo systemctl stop documentdb-gateway-local@18.service &&
+sudo apt update &&
sudo apt install --only-upgrade documentdb-18 postgresql-18-documentdb \
documentdb-common documentdb-gateway documentdb-postgresql-tools
# EL9: use this instead of the apt commands above
+sudo systemctl stop documentdb-gateway-local@18.service &&
sudo dnf upgrade documentdb-18 postgresql18-documentdb \
documentdb-common documentdb-gateway documentdb-postgresql-tools
-
-# PostgreSQL has the old shared library loaded until it restarts.
-sudo systemctl restart documentdb-postgresql@18.service
```
-Then update the extensions in **every database** that has DocumentDB installed:
+Upgrading the packages does not update the database catalog. The simplest way is to restart
+PostgreSQL so it loads the new libraries, then re-run setup with the options you installed with.
+Setup updates the extensions and then starts the gateway:
-```sql
-ALTER EXTENSION documentdb_core UPDATE;
-ALTER EXTENSION documentdb UPDATE;
-ALTER EXTENSION documentdb_extended_rum UPDATE; -- only if it is installed
+```bash
+sudo systemctl restart documentdb-postgresql@18.service &&
+sudo documentdb-setup --pg-version 18 --use-new-postgres-instance --admin-user admin
```
-PostgreSQL applies available intermediate extension upgrade scripts automatically. Confirm
-afterwards with:
+Setup adds any missing `shared_preload_libraries` entries and updates the extensions, but only in
+the `postgres` database. If your gateway uses another database, take the manual route below. It also asks for the admin password and sets it on the existing admin
+user: enter the current password to keep it.
-```sql
-SELECT extname, extversion FROM pg_extension WHERE extname LIKE 'documentdb%';
+To update by hand, or for every other database that has DocumentDB installed, first check that
+the extended RUM library is preloaded:
+
+```bash
+sudo -u documentdb-local psql -h /run/documentdb-local/18/postgresql -p 9718 -d postgres -X -Atc "SHOW shared_preload_libraries;"
```
-Finally restart the gateway:
+If `pg_documentdb_extended_rum` is missing (possible on a 0.116 install), add it before updating;
+the update below would succeed without it, and index builds would fail later. If the gateway uses
+`postgres`, re-run setup as above. If it uses another database, add the library to
+`shared_preload_libraries` in the instance's `postgresql.conf` yourself: setup would point the
+gateway back at `postgres`. Then restart
+PostgreSQL, update the extensions in one transaction, and start the gateway only if that worked:
```bash
+sudo systemctl restart documentdb-postgresql@18.service &&
+sudo -u documentdb-local psql -h /run/documentdb-local/18/postgresql -p 9718 -d postgres \
+ -X -1 -v ON_ERROR_STOP=1 \
+ -c 'ALTER EXTENSION documentdb_core UPDATE;' \
+ -c 'ALTER EXTENSION documentdb UPDATE;' \
+ -c 'CREATE EXTENSION IF NOT EXISTS documentdb_extended_rum CASCADE;' \
+ -c 'ALTER EXTENSION documentdb_extended_rum UPDATE;' &&
sudo systemctl start documentdb-gateway-local@18.service
```
-Take a backup first. For an adopted PostgreSQL instance, restart its operator-managed
-PostgreSQL service instead of `documentdb-postgresql@18.service`.
+`-1` runs the statements as one transaction: if any fails, every extension stays at its old version
+and the gateway stays stopped. `-X` skips `~/.psqlrc`, which could otherwise turn `ON_ERROR_STOP` off. If DocumentDB is installed in other databases too, run the `psql` part for each of them, with
+that `-d`, before the last line, so the gateway starts only after every database is updated.
+PostgreSQL applies intermediate upgrade scripts automatically. Take a backup first.
+
+On a host with both PostgreSQL 17 and 18, `documentdb-common`, `documentdb-gateway` and
+`documentdb-postgresql-tools` serve both majors, so upgrading them affects both: stop both gateways
+(`documentdb-gateway-local@17.service` and `@18.service`) before upgrading, then update each major.
+
+For an adopted PostgreSQL instance, setup never restarts PostgreSQL. Stop the gateway
+(`documentdb-gateway-local@18.service`) before upgrading, restart the operator-managed PostgreSQL
+service yourself, then re-run
+`documentdb-setup --pg-version 18 --target-postgres-instance 18/main --admin-user admin` (with your cluster name); it
+updates the extensions and then starts the gateway. If
+setup has to change `shared_preload_libraries`, it exits without updating the extensions: restart
+PostgreSQL and run it once more. By hand, use that instance's own `psql` connection.
+
+Confirm afterwards with:
+
+```sql
+SELECT extname, extversion FROM pg_extension WHERE extname LIKE 'documentdb%';
+```
## Version pinning
@@ -449,17 +480,17 @@ published in the documentdb.io package repositories. Community builds are welcom
For example, after checking out the matching release tag, build an extension package with:
```bash
-./packaging/build_packages.sh --os deb12 --pg 16
+./packaging/build_packages.sh --os deb12 --pg 16 --version 1.0.0
```
-That command builds only `postgresql-N-documentdb`. A custom full-stack package set uses
+`v1.0-0` and `v1.0-RC2` are on the same commit, so pass `--version`; without it the scripts can build RC-versioned packages. That command builds only `postgresql-N-documentdb`. A custom full-stack package set uses
three entry points:
- `packaging/build_packages.sh` — PostgreSQL extension
- `packaging/gateway/build_gateway_packages.sh` — wire-protocol gateway
- `packaging/build_extra_packages.sh` — tools, common payload, `documentdb-N`, and meta package
-The [v0.117 packaging guide](https://github.com/documentdb/documentdb/blob/v0.117-0/packaging/README.md)
+The [v1.0 packaging guide](https://github.com/documentdb/documentdb/blob/v1.0-0/packaging/README.md)
documents their required arguments, version formats, prerequisites, and accepted targets.
PostgreSQL 15 remains extension-only for package-managed installs because the setup tools
require PostgreSQL 16 or newer.
@@ -474,9 +505,9 @@ they do not retain packages from older releases.
Examples:
```text
-ubuntu24.04-documentdb_0.117.0_all.deb
-ubuntu24.04-postgresql-18-documentdb_0.117-0_amd64.deb
-rhel9-postgresql18-documentdb-0.117.0-1.el9.x86_64.rpm
+ubuntu24.04-documentdb_1.0.0_all.deb
+ubuntu24.04-postgresql-18-documentdb_1.0-0_amd64.deb
+rhel9-postgresql18-documentdb-1.0.0-1.el9.x86_64.rpm
```
For a full stack, pass the five packages for the selected PostgreSQL major to one command:
diff --git a/app/ai/page.tsx b/app/ai/page.tsx
index b4e792a..ca46784 100644
--- a/app/ai/page.tsx
+++ b/app/ai/page.tsx
@@ -1,6 +1,7 @@
import Image from "next/image";
import Link from "next/link";
import CommandSnippet from "../components/CommandSnippet";
+import TelemetryNote from "../components/TelemetryNote";
import { getMetadata } from "../services/metadataService";
import {
documentdbGitHubForks,
@@ -27,13 +28,20 @@ export const metadata = getMetadata({
});
const quickRunCommand = `docker run -dt --name documentdb \\
- -p 10260:10260 \\
- ghcr.io/documentdb/documentdb/documentdb-local:latest \\
- --username admin --password password`;
+ -p 127.0.0.1:10260:10260 \\
+ -e USERNAME=admin \\
+ -e PASSWORD=password \\
+ ghcr.io/documentdb/documentdb/documentdb-local:latest`;
const connectCommand = `mongosh "mongodb://admin:password@localhost:10260/?tls=true&tlsAllowInvalidCertificates=true"`;
-const createIndexCommand = `db.runCommand({
+const createIndexCommand = `// Real embeddings are longer: set dimensions to your model's size, such as 1536.
+db.documents.insertMany([
+ { title: "Vector indexes", category: "technical", embedding: [0.10, -0.02, 0.30] },
+ { title: "Release notes", category: "news", embedding: [0.90, 0.40, -0.10] }
+]);
+
+db.runCommand({
createIndexes: "documents",
indexes: [{
key: { embedding: "cosmosSearch" },
@@ -41,15 +49,18 @@ const createIndexCommand = `db.runCommand({
cosmosSearchOptions: {
kind: "vector-hnsw",
similarity: "COS",
- dimensions: 1536
+ dimensions: 3
}
}]
-});`;
+});
+
+// $vectorSearch filters need an index on each filtered field.
+db.documents.createIndex({ category: 1 });`;
const vectorSearchCommand = `db.documents.aggregate([
{
$vectorSearch: {
- queryVector: [0.12, -0.04, 0.31, /* ... 1536 dims */],
+ queryVector: [0.12, -0.04, 0.31],
path: "embedding",
limit: 10,
numCandidates: 100,
@@ -113,7 +124,7 @@ const quickStartSteps = [
step: "03",
title: "Create a vector index",
description:
- "Create a native HNSW vector index with cosine similarity for embedding retrieval.",
+ "Add sample documents, a native HNSW vector index with cosine similarity, and an index on the field you filter by.",
label: "Index",
code: createIndexCommand,
},
@@ -296,6 +307,7 @@ export default function AIPage() {
+
@@ -386,6 +398,7 @@ export default function AIPage() {
{item.description}
+ {item.code === quickRunCommand && }
))}
diff --git a/app/components/AnnouncementBar.tsx b/app/components/AnnouncementBar.tsx
new file mode 100644
index 0000000..a60c803
--- /dev/null
+++ b/app/components/AnnouncementBar.tsx
@@ -0,0 +1,19 @@
+import Link from "next/link";
+import { documentdbReleasePageUrl } from "../services/externalLinks";
+
+export default function AnnouncementBar() {
+ return (
+
+
+ New
+
+ DocumentDB 1.0 is here.{" "}
+
+ See what's new →
+
+
+ );
+}
diff --git a/app/components/Markdown.tsx b/app/components/Markdown.tsx
index 8ab9d00..ae555f2 100644
--- a/app/components/Markdown.tsx
+++ b/app/components/Markdown.tsx
@@ -8,6 +8,7 @@ import type { ReactElement } from 'react';
import Code from './Code';
import { headingAnchor } from '../lib/docsAnchors';
import { resolveMarkdownLink } from '../lib/markdownLinks';
+import { withBasePath } from '../services/sitePath';
interface MarkdownProps {
content: string;
@@ -122,7 +123,7 @@ function getMarkdownComponents(sourcePath: string) {
// Inline code
code: ({ inline, children, ...props }: any) => {
return (
-
+
{children}
);
@@ -254,17 +255,16 @@ function getMarkdownComponents(sourcePath: string) {
// Links: only external links open in a new tab; internal links (/docs/...,
// /samples, #anchors) navigate in place
- a: ({ children, href, ...props }: any) => {
+ a: ({ children, href, node: _node, ...props }: any) => {
const resolvedHref = resolveMarkdownLink(href, sourcePath);
const isExternal = /^https?:\/\//i.test(resolvedHref ?? '');
const linkClassName = 'text-blue-400 hover:text-blue-300 transition-colors';
// A rewritten href is a resolved document route, so it is known to be an
- // internal page and is rendered with next/link. That applies the basePath
- // from next.config identically on the server and in the browser -
- // NEXT_BASE_PATH is not readable from the client bundle, so neither this
- // component nor the resolver may prefix the path itself. Any other href
- // is left exactly as the author wrote it.
+ // internal page and is rendered with next/link, which applies the
+ // basePath itself. Any other root-relative href may be a route Next does
+ // not own (/blogs/, /install.sh), so it stays a plain anchor and gets the
+ // base path from withBasePath.
if (resolvedHref && resolvedHref !== href) {
return (
@@ -275,7 +275,7 @@ function getMarkdownComponents(sourcePath: string) {
return (
+
Wait for the readiness banner in{" "}
@@ -299,10 +301,6 @@ export default async function ArticlePage({ params }: PageProps) {
PostgreSQL, topology, services, and configuration. Install with
apt or dnf on {aptTargetLabels.ubuntu24} or EL9, then run the setup wizard.
-
- Pre-GA, fresh installation only; in-place upgrades from earlier
- releases are not supported.
-
- Operator preview
+ Generally available · Operator 1.0.0
- The operator is still in preview. Use this page to assess fit,
- then follow the quick start or multi-cluster guides for the
- current support envelope.
+ The operator has its own version numbers. Choose a release
+ compatible with your engine and Kubernetes versions, then
+ follow the quick start or multi-cluster guides.
@@ -457,7 +457,7 @@ export default function KubernetesOperatorPage() {
What to expect before you start
- The operator preview targets Kubernetes 1.35+, requires
+ The operator targets Kubernetes 1.35+, requires
cert-manager to be installed first, and uses CloudNativePG
under the hood. Cross-cluster topologies also require network
connectivity between clusters and the documented multi-cluster
diff --git a/app/layout.tsx b/app/layout.tsx
index b13b0c4..fd20d41 100644
--- a/app/layout.tsx
+++ b/app/layout.tsx
@@ -1,6 +1,7 @@
import type { Metadata } from "next";
import { Inter } from "next/font/google";
import "./globals.css";
+import AnnouncementBar from "./components/AnnouncementBar";
import Navbar from "./components/Navbar";
import { getMetadata } from "./services/metadataService";
@@ -19,6 +20,7 @@ export default function RootLayout({
return (
+
{children}
-
- Pre-GA: fresh installs only. In-place upgrades from earlier releases are not supported.
+
+ Already running DocumentDB from packages?{" "}
+ Upgrade in place instead.
{releaseStatus === "loading" ? (
Checking the published package release...
@@ -314,6 +316,7 @@ export default function PackagesPage() {
1. Start DocumentDB
With Docker running, replace the username and password, then run:
{selectionReady && }
+ {selectionReady && }
It takes a few seconds to accept connections. Volumes, image versions, and readiness checks are in the{" "}
Docker quickstart.
diff --git a/app/page.tsx b/app/page.tsx
index f014430..e522afa 100644
--- a/app/page.tsx
+++ b/app/page.tsx
@@ -3,6 +3,7 @@ import Link from "next/link";
import QuickStartTabs from "./components/QuickStartTabs";
import {
documentdbKubernetesOperatorQuickStartUrl,
+ documentdbReleasePageUrl,
documentdbVsCodeLocalQuickStartDeepLink,
} from "./services/externalLinks";
import { getMetadata } from "./services/metadataService";
@@ -38,9 +39,9 @@ type Capability = {
const quickRunCommand = `docker run -dt --name documentdb \\
-p 127.0.0.1:10260:10260 \\
- ghcr.io/documentdb/documentdb/documentdb-local:latest \\
- --username '' \\
- --password ''`;
+ -e USERNAME='' \\
+ -e PASSWORD='' \\
+ ghcr.io/documentdb/documentdb/documentdb-local:latest`;
const kubernetesOperatorEntryPoints = [
{
@@ -117,12 +118,37 @@ const capabilities: Capability[] = [
];
const trustBadges = [
+ "1.0 with planned long-term support",
"Built on PostgreSQL",
"Native BSON",
"MIT licensed",
"Runs locally with Docker",
];
+const releaseHighlights = [
+ {
+ eyebrow: "Versioning",
+ title: "Long-term support or development?",
+ description:
+ "How the proposed 1.0 LTS track and the development track differ, and which one fits your team.",
+ href: "/blogs/posts/versioning/",
+ },
+ {
+ eyebrow: "Tools",
+ title: "DocumentDB extension for Visual Studio Code 1.0",
+ description:
+ "Start DocumentDB Local in a few clicks, bring your data, and understand it with Query Insights.",
+ href: "/blogs/posts/documentdb-for-vs-code-1-0/",
+ },
+ {
+ eyebrow: "Kubernetes",
+ title: "DocumentDB 1.0 on Kubernetes",
+ description:
+ "Operator 1.0.0 is generally available. Deploy and manage DocumentDB clusters declaratively.",
+ href: "/blogs/posts/kubernetes-operator-versioning/",
+ },
+];
+
const credibilityPoints = [
{
value: documentdbGitHubStars,
@@ -313,7 +339,7 @@ export default function Home() {
DocumentDB
- A powerful, scalable, fully MongoDB compatible open-source database built for modern applications
+ A powerful, scalable, MongoDB-compatible open-source database built for modern applications
Open source and MIT licensed, with native BSON, advanced
@@ -386,6 +412,50 @@ export default function Home() {
- Preview with local, hybrid, and multi-cluster paths
+ Local, hybrid, and multi-cluster paths
- The operator is still in preview. Start with the overview, then
- follow the quick start or multi-cluster guides.
+ Start with the overview, then follow the quick start or
+ multi-cluster guides.
diff --git a/app/services/articleService.ts b/app/services/articleService.ts
index 0b0007d..7f0d15e 100644
--- a/app/services/articleService.ts
+++ b/app/services/articleService.ts
@@ -30,6 +30,10 @@ const virtualSections: Record [!NOTE]
+> The DocumentDB Local image sends usage telemetry by default. To turn it off, add \`-e DOCUMENTDB_USAGE_TELEMETRY=false\` before the image name. See [Usage telemetry](/docs/documentdb-local#usage-telemetry) and the [privacy statement](https://github.com/documentdb/documentdb/blob/v1.0-0/documentdb-local/PRIVACY.md).`;
+
const dockerGuideContent = `# Docker Quick Start
Run DocumentDB locally with Docker and verify the setup before moving to driver code. For installation choices, open [Docker installation](/packages?method=docker) or [Linux packages installation](/packages?method=packages).
@@ -53,12 +57,14 @@ Then start the container:
\`\`\`bash
docker run -dt --name documentdb \\
-p 127.0.0.1:10260:10260 \\
+ -e USERNAME='' \\
+ -e PASSWORD='' \\
ghcr.io/documentdb/documentdb/documentdb-local:latest \\
- --username '' \\
- --password '' \\
--init-data true
\`\`\`
+${documentdbLocalTelemetryNote}
+
> Replace \`\` and \`\` with your own credentials.
>
> \`-p 127.0.0.1:10260:10260\` keeps the endpoint on loopback. A bare \`-p 10260:10260\`
@@ -97,7 +103,7 @@ The certificate bypass below is for **local development only**. Use a trusted ce
\`\`\`bash
mongosh localhost:10260 \\
-u '' \\
- -p '' \\
+ -p \\
--authenticationMechanism SCRAM-SHA-256 \\
--tls \\
--tlsAllowInvalidCertificates
@@ -155,6 +161,11 @@ Until you remove it, re-running \`docker run --name documentdb\` fails with
\`Conflict. The container name "/documentdb" is already in use\`. Mount a named volume
(\`-v documentdb-data:/data\`) before storing anything you want to keep.
+A newer image on an existing data volume does not update the DocumentDB schema in that
+volume ([documentdb#773](https://github.com/documentdb/documentdb/issues/773)). To move data
+from an earlier release or a 1.0 release candidate to 1.0, start the 1.0 image on a new
+volume and reload your data, for example with \`mongodump\` and \`mongorestore\`.
+
## Troubleshooting and debugging
If something does not work as expected:
@@ -185,13 +196,10 @@ The current official release publishes the full stack — extension, gateway, se
**Recommended:** install the complete stack, then create a new private PostgreSQL 18 instance. The commands detect architecture on the Linux host where you run them. For containers or macOS/Windows evaluation, choose [Docker installation](/packages?method=docker).
> [!IMPORTANT]
-> This pre-GA release supports **fresh installation only**, not in-place package upgrades from earlier releases. Use a clean host or a new, empty PostgreSQL instance. Removing packages preserves database files; reinstalling is not a data reset.
+> Already running v0.116 or v0.117 from packages? Follow [Upgrading](/docs/linux-packages#upgrading) instead of installing again. Hosts that ran a 1.0 release candidate have no upgrade path; use a clean host. Removing packages preserves database files; reinstalling is not a data reset.
> [!NOTE]
-> Need another distribution or PostgreSQL major? We welcome community builds. Check out the matching release tag and use the version-parameterized [packaging scripts](https://github.com/documentdb/documentdb/blob/v0.117-0/packaging/README.md). \`build_packages.sh\` builds the extension, \`gateway/build_gateway_packages.sh\` builds the gateway, and \`build_extra_packages.sh\` builds the common, tools, stand-alone, and meta packages. PostgreSQL 15 is extension-only because the setup tools require PostgreSQL 16 or newer. These builds are on demand and are not official release assets hosted by documentdb.io.
-
-> [!NOTE]
-> Want to try DocumentDB 1.0? [v1.0-RC2](/docs/getting-started/release-candidate) is for testing only, gets no fixes (those go into a later RC or 1.0) and has no upgrade path. It isn't in the package repository, so the commands below install v0.117-0.
+> Need another distribution or PostgreSQL major? We welcome community builds. Check out the matching release tag, pass \`--version 1.0.0\` (an RC tag shares the 1.0 commit), and use the version-parameterized [packaging scripts](https://github.com/documentdb/documentdb/blob/v1.0-0/packaging/README.md). \`build_packages.sh\` builds the extension, \`gateway/build_gateway_packages.sh\` builds the gateway, and \`build_extra_packages.sh\` builds the common, tools, stand-alone, and meta packages. PostgreSQL 15 is extension-only because the setup tools require PostgreSQL 16 or newer. These builds are on demand and are not official release assets hosted by documentdb.io.
You do not need PostgreSQL already installed — the setup wizard creates and manages its own instance. The install does add the PGDG repository and pull PostgreSQL, PostGIS and around 160 packages (about 140 MB), so pick a host you are willing to have PGDG on.
@@ -204,11 +212,8 @@ curl -fsSLo documentdb-install.sh https://documentdb.io/install.sh &&
sudo sh documentdb-install.sh
\`\`\`
-This installs v0.117-0 from the package repository on PostgreSQL 18; add \`--pg-major 17\` for 17.
-To try RC2, run \`sudo sh documentdb-install.sh --version v1.0-RC2\` instead.
-It downloads this host's packages from the [v1.0-RC2 release](https://github.com/documentdb/documentdb/releases/tag/v1.0-RC2), verifies them against its \`SHA256SUMS\` and doesn't use the package repository.
-The \`pgNN-1.0-rc2\` container image also runs RC2; it sends anonymous usage telemetry by default (opt out with \`-e DOCUMENTDB_USAGE_TELEMETRY=false\`). See the [RC guide](/docs/getting-started/release-candidate).
-RC2 gets no fixes and has no upgrade path, so use a clean host.
+This installs the current release (v1.0-0) from the package repository on PostgreSQL 18; add \`--pg-major 17\` for 17.
+On a host where DocumentDB is already set up, the installer only reports its status and doesn't upgrade it; to move an existing install to 1.0, follow [Upgrading](/docs/linux-packages#upgrading).
## Install
@@ -412,7 +417,7 @@ Use the extension package for your PostgreSQL major: \`postgresql-N-documentdb\`
or \`postgresqlN-documentdb\` on EL9. You own PostgreSQL configuration, extension activation,
and service restarts. Create \`documentdb_extended_rum\` as well as \`documentdb\`:
\`CREATE EXTENSION documentdb CASCADE\` does not pull it in, and without it every index
-creation fails. Follow the matching release's [manual package instructions](https://github.com/documentdb/documentdb/blob/v0.117-0/packaging/README.md),
+creation fails. Follow the matching release's [manual package instructions](https://github.com/documentdb/documentdb/blob/v1.0-0/packaging/README.md),
or the [extension-only offline instructions](/docs/linux-packages/offline#smaller-offline-cases)
when PostgreSQL and all extension dependencies are already installed.
@@ -433,51 +438,85 @@ For an adopted instance, use the operator's existing PostgreSQL connection inste
## Upgrading
-> [!WARNING]
-> In-place package upgrades from earlier releases are not supported yet. Use a clean host
-> or a new, empty PostgreSQL instance and follow the current
-> [fresh installation](/docs/getting-started/packages). Removing packages alone does not
-> create a fresh database: package removal preserves PostgreSQL data and in-database content,
-> and a later setup run reuses an initialized data directory. Upgrading only
-> \`postgresql-N-documentdb\` does not install the gateway, tools, common payload, or
-> \`documentdb-N\`.
+Package installs from v0.116 or later upgrade in place to 1.0. Move the entire stack
+together; upgrading only \`postgresql-N-documentdb\` does not update the gateway, tools,
+common payload, or \`documentdb-N\`. These steps use systemd; upgrading a host without it isn't covered here.
+On a package-managed private PostgreSQL 18 instance:
-For a later point release that uses the same multi-package layout, move the entire stack
-together. On a package-managed private PostgreSQL 18 instance:
+> [!WARNING]
+> A host that ran a 1.0 release candidate (RC1 or RC2) has no upgrade path. Move it to a
+> clean host or a new, empty PostgreSQL instance and follow the
+> [fresh installation](/docs/getting-started/packages). Removing packages alone does not create a
+> fresh database: package removal preserves PostgreSQL data and in-database content, and a
+> later setup run reuses an initialized data directory.
\`\`\`bash
-sudo systemctl stop documentdb-gateway-local@18.service
-
# Debian / Ubuntu
-sudo apt update
+sudo systemctl stop documentdb-gateway-local@18.service &&
+sudo apt update &&
sudo apt install --only-upgrade documentdb-18 postgresql-18-documentdb \\
documentdb-common documentdb-gateway documentdb-postgresql-tools
# EL9: use this instead of the apt commands above
+sudo systemctl stop documentdb-gateway-local@18.service &&
sudo dnf upgrade documentdb-18 postgresql18-documentdb \\
documentdb-common documentdb-gateway documentdb-postgresql-tools
+\`\`\`
-# PostgreSQL has the old shared library loaded until it restarts.
-sudo systemctl restart documentdb-postgresql@18.service
+Upgrading the packages does not update the database catalog. The simplest way is to restart
+PostgreSQL so it loads the new libraries, then re-run setup with the options you installed with.
+Setup updates the extensions and then starts the gateway:
+
+\`\`\`bash
+sudo systemctl restart documentdb-postgresql@18.service &&
+sudo documentdb-setup --pg-version 18 --use-new-postgres-instance --admin-user admin
\`\`\`
-Then update the extensions in **every database** that has DocumentDB installed:
+Setup adds any missing \`shared_preload_libraries\` entries and updates the extensions, but only in
+the \`postgres\` database. If your gateway uses another database, take the manual route below. It also asks for the admin password and sets it on the existing admin
+user: enter the current password to keep it.
-\`\`\`sql
-ALTER EXTENSION documentdb_core UPDATE;
-ALTER EXTENSION documentdb UPDATE;
-ALTER EXTENSION documentdb_extended_rum UPDATE; -- only if installed
+To update by hand, or for every other database that has DocumentDB installed, first check that
+the extended RUM library is preloaded:
+
+\`\`\`bash
+sudo -u documentdb-local psql -h /run/documentdb-local/18/postgresql -p 9718 -d postgres -X -Atc "SHOW shared_preload_libraries;"
\`\`\`
-Finally restart the gateway:
+If \`pg_documentdb_extended_rum\` is missing (possible on a 0.116 install), add it before updating;
+the update below would succeed without it, and index builds would fail later. If the gateway uses
+\`postgres\`, re-run setup as above. If it uses another database, add the library to
+\`shared_preload_libraries\` in the instance's \`postgresql.conf\` yourself: setup would point the
+gateway back at \`postgres\`. Then restart
+PostgreSQL, update the extensions in one transaction, and start the gateway only if that worked:
\`\`\`bash
+sudo systemctl restart documentdb-postgresql@18.service &&
+sudo -u documentdb-local psql -h /run/documentdb-local/18/postgresql -p 9718 -d postgres \\
+ -X -1 -v ON_ERROR_STOP=1 \\
+ -c 'ALTER EXTENSION documentdb_core UPDATE;' \\
+ -c 'ALTER EXTENSION documentdb UPDATE;' \\
+ -c 'CREATE EXTENSION IF NOT EXISTS documentdb_extended_rum CASCADE;' \\
+ -c 'ALTER EXTENSION documentdb_extended_rum UPDATE;' &&
sudo systemctl start documentdb-gateway-local@18.service
\`\`\`
-PostgreSQL applies intermediate upgrade scripts automatically. Take a backup first. For an
-adopted PostgreSQL instance, restart its operator-managed PostgreSQL service instead of
-\`documentdb-postgresql@18.service\`.
+\`-1\` runs the statements as one transaction: if any fails, every extension stays at its old version
+and the gateway stays stopped. \`-X\` skips \`~/.psqlrc\`, which could otherwise turn \`ON_ERROR_STOP\` off. If DocumentDB is installed in other databases too, run the \`psql\` part for each of them, with
+that \`-d\`, before the last line, so the gateway starts only after every database is updated.
+PostgreSQL applies intermediate upgrade scripts automatically. Take a backup first.
+
+On a host with both PostgreSQL 17 and 18, \`documentdb-common\`, \`documentdb-gateway\` and
+\`documentdb-postgresql-tools\` serve both majors, so upgrading them affects both: stop both gateways
+(\`documentdb-gateway-local@17.service\` and \`@18.service\`) before upgrading, then update each major.
+
+For an adopted PostgreSQL instance, setup never restarts PostgreSQL. Stop the gateway
+(\`documentdb-gateway-local@18.service\`) before upgrading, restart the operator-managed PostgreSQL
+service yourself, then re-run
+\`documentdb-setup --pg-version 18 --target-postgres-instance 18/main --admin-user admin\` (with your cluster name); it
+updates the extensions and then starts the gateway. If
+setup has to change \`shared_preload_libraries\`, it exits without updating the extensions: restart
+PostgreSQL and run it once more. By hand, use that instance's own \`psql\` connection.
## Remove or reset
@@ -662,7 +701,7 @@ Then continue with [Set up and connect](/docs/getting-started/packages#set-up-an
If the target already has PostgreSQL, the PGDG extension dependencies (\`postgresql-N-cron\`, \`-pgvector\`, \`-postgis-3\`) and \`jq\`, you do not need a bundle:
-- **Extension only, one file** — \`sudo apt install ./ubuntu24.04-postgresql-18-documentdb_0.117-0_amd64.deb\`. No gateway and no \`documentdb-setup\`.
+- **Extension only, one file** — \`sudo apt install ./ubuntu24.04-postgresql-18-documentdb_1.0-0_amd64.deb\`. No gateway and no \`documentdb-setup\`.
- **Full stack from the release assets** — pass the five packages for the selected PostgreSQL major to a *single* \`apt install\` / \`dnf install\`: \`documentdb-N\`, the matching \`postgresql-N-documentdb\` / \`postgresqlN-documentdb\` extension, \`documentdb-common\`, \`documentdb-gateway\`, and \`documentdb-postgresql-tools\`. For PostgreSQL 18 only, the optional \`documentdb\` meta package may be included; it selects \`documentdb-18\`. Local files resolve dependencies only against enabled repositories, so a package whose dependencies are not included still fails.
`;
@@ -694,7 +733,7 @@ const optionalSampleDataContent = `Sample data is **opt-in**, not required for y
const vscodeQuickStartGuideContent = `# Visual Studio Code Quick Start
-Use DocumentDB for VS Code to set up a local DocumentDB instance, browse sample data, and create your first database without leaving the editor.
+Use the DocumentDB extension for Visual Studio Code to set up a local DocumentDB instance, browse sample data, and create your first database without leaving the editor.
The extension can create the instance for you: it pulls the official image, creates a container and persistent data volume, generates credentials, waits until the database accepts connections, and saves the connection. It does not install Docker.
@@ -703,7 +742,7 @@ Already running DocumentDB? Skip provisioning and [connect your existing instanc
## Prerequisites
- [Visual Studio Code](https://code.visualstudio.com/)
-- The [DocumentDB for VS Code extension](https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-documentdb)
+- The [DocumentDB extension for Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-documentdb)
- Docker Desktop or Docker Engine, set to Linux containers, running wherever VS Code is
- Optional: [mongosh](https://www.mongodb.com/docs/mongodb-shell/install/) for independent connection checks
@@ -745,11 +784,13 @@ Start it with Docker:
\`\`\`bash
docker run -dt --name documentdb \\
-p 127.0.0.1:10260:10260 \\
- ghcr.io/documentdb/documentdb/documentdb-local:latest \\
- --username '' \\
- --password ''
+ -e USERNAME='' \\
+ -e PASSWORD='' \\
+ ghcr.io/documentdb/documentdb/documentdb-local:latest
\`\`\`
+${documentdbLocalTelemetryNote}
+
If you prefer a host installation instead of Docker, use the [Linux Packages Quick Start](/docs/getting-started/packages) on a distribution in the current release matrix.
## ${vscodeExistingConnectionSectionTitle}
@@ -818,7 +859,7 @@ For extension-specific help or bugs:
## Next steps
-- [DocumentDB for VS Code docs](https://github.com/microsoft/vscode-documentdb/tree/main/docs)
+- [Documentation for the DocumentDB extension for Visual Studio Code](https://github.com/microsoft/vscode-documentdb/tree/main/docs)
- [Docker Quick Start](/docs/getting-started/docker)
- [Linux Packages Quick Start](/docs/getting-started/packages)
- [Mongo Shell Quick Start](/docs/getting-started/mongo-shell-quickstart)
@@ -851,11 +892,13 @@ export DOCUMENTDB_PASSWORD=''
docker run -dt --name documentdb \\
-p 127.0.0.1:10260:10260 \\
- ghcr.io/documentdb/documentdb/documentdb-local:latest \\
- --username "\${DOCUMENTDB_USERNAME:?Set DOCUMENTDB_USERNAME}" \\
- --password "\${DOCUMENTDB_PASSWORD:?Set DOCUMENTDB_PASSWORD}"
+ -e USERNAME="\${DOCUMENTDB_USERNAME:?Set DOCUMENTDB_USERNAME}" \\
+ -e PASSWORD="\${DOCUMENTDB_PASSWORD:?Set DOCUMENTDB_PASSWORD}" \\
+ ghcr.io/documentdb/documentdb/documentdb-local:latest
\`\`\`
+${documentdbLocalTelemetryNote}
+
Wait for the readiness banner in \`docker logs documentdb\` before connecting; see [Docker Quick Start](/docs/getting-started/docker#verify-the-container).
## Create a project
@@ -926,7 +969,10 @@ async function main() {
}
}
-main().catch(console.error);
+main().catch((error) => {
+ console.error(error);
+ process.exitCode = 1;
+});
\`\`\`
Run the script:
@@ -985,11 +1031,13 @@ export DOCUMENTDB_PASSWORD=''
docker run -dt --name documentdb \\
-p 127.0.0.1:10260:10260 \\
- ghcr.io/documentdb/documentdb/documentdb-local:latest \\
- --username "\${DOCUMENTDB_USERNAME:?Set DOCUMENTDB_USERNAME}" \\
- --password "\${DOCUMENTDB_PASSWORD:?Set DOCUMENTDB_PASSWORD}"
+ -e USERNAME="\${DOCUMENTDB_USERNAME:?Set DOCUMENTDB_USERNAME}" \\
+ -e PASSWORD="\${DOCUMENTDB_PASSWORD:?Set DOCUMENTDB_PASSWORD}" \\
+ ghcr.io/documentdb/documentdb/documentdb-local:latest
\`\`\`
+${documentdbLocalTelemetryNote}
+
Wait for the readiness banner in \`docker logs documentdb\` before connecting; see [Docker Quick Start](/docs/getting-started/docker#verify-the-container).
## Create a virtual environment (optional)
@@ -1141,11 +1189,13 @@ Skip this if you installed Linux packages or already have a running instance. If
\`\`\`bash
docker run -dt --name documentdb \\
-p 127.0.0.1:10260:10260 \\
- ghcr.io/documentdb/documentdb/documentdb-local:latest \\
- --username '' \\
- --password ''
+ -e USERNAME='' \\
+ -e PASSWORD='' \\
+ ghcr.io/documentdb/documentdb/documentdb-local:latest
\`\`\`
+${documentdbLocalTelemetryNote}
+
Replace the placeholders with your own credentials. Wait for the readiness banner in \`docker logs documentdb\` before connecting; see [Docker Quick Start](/docs/getting-started/docker#verify-the-container).
## Connect and verify the connection
@@ -1155,7 +1205,7 @@ Use your existing instance's credentials. The certificate bypass is for **local
\`\`\`bash
mongosh localhost:10260 \\
-u '' \\
- -p '' \\
+ -p \\
--authenticationMechanism SCRAM-SHA-256 \\
--tls \\
--tlsAllowInvalidCertificates
@@ -1222,7 +1272,7 @@ Then pass your certificate file to \`mongosh\`:
\`\`\`bash
mongosh localhost:10260 \\
-u '' \\
- -p '' \\
+ -p \\
--authenticationMechanism SCRAM-SHA-256 \\
--tls \\
--tlsCAFile ~/documentdb-cert.pem
@@ -1250,75 +1300,14 @@ If \`mongosh\` does not connect on the first try:
- [Samples Gallery](/samples)
`;
-const documentdbLocalDataInitializationContent = `## Container image tags
-
-The \`latest\` tag is a convenience alias. Pin an explicit tag for anything reproducible:
-
-| Tag | Contents |
-|---|---|
-| \`ghcr.io/documentdb/documentdb/documentdb-local:pg18-0.117.0\` | DocumentDB 0.117.0 on PostgreSQL 18 |
-| \`…:pg17-0.117.0\` | DocumentDB 0.117.0 on PostgreSQL 17 |
-| \`…:pg16-0.117.0\` · \`…:pg15-0.117.0\` | PostgreSQL 16 and 15 |
-| \`…:pg15-1.0-rc2\` · \`…:pg16-1.0-rc2\` · \`…:pg17-1.0-rc2\` · \`…:pg18-1.0-rc2\` | [v1.0-RC2](https://github.com/documentdb/documentdb/releases/tag/v1.0-RC2), for testing only, with [no fixes to RC2 and no upgrade path](/docs/getting-started/release-candidate). No date for 1.0 yet. Use a new, empty data volume. Sends anonymous usage telemetry by default; see the [privacy statement](https://github.com/documentdb/documentdb/blob/v1.0-RC2/documentdb-local/PRIVACY.md) to opt out. |
-| \`…:latest\` | Currently identical to \`pg17-0.117.0\` |
-
-> \`latest\` tracks **PostgreSQL 17**, while the \`documentdb\` package on Linux pins
-> **PostgreSQL 18**. If you evaluate in Docker and then deploy from packages, you change
-> major version unless you pin the tag deliberately.
-
-Every image records what it was built from:
-
-\`\`\`bash
-docker run --rm --entrypoint cat ghcr.io/documentdb/documentdb/documentdb-local:pg18-0.117.0 /version.txt
-\`\`\`
-
-## Data initialization
-
-DocumentDB Local starts **empty**. Pass \`--init-data true\` to seed the \`StoreData\` database
-with the \`stores\` and \`ratings\` collections:
-
-\`\`\`bash
-docker run -dt -p 127.0.0.1:10260:10260 --name documentdb \\
- ghcr.io/documentdb/documentdb/documentdb-local:latest \\
- --username '' --password '' --init-data true
-\`\`\`
-
-Seeding happens once per data volume, on a fresh volume. Existing volumes are not migrated
-automatically; re-create the volume to seed again.
-
-### Control initialization behavior
-
-| Requirement | Arg | Env | Default | Description |
-|---|---|---|---|---|
-| Load built-in sample data | \`--init-data [true\\|false]\` | \`INIT_DATA\` | \`false\` | Seed the \`StoreData\` sample collections on a fresh data volume. |
-| Skip built-in sample data | \`--skip-init-data\` | \`SKIP_INIT_DATA\` | — | Legacy alias for \`--init-data false\`. Does not affect \`--init-data-path\`. |
-| Run custom initialization scripts | \`--init-data-path [PATH]\` | \`INIT_DATA_PATH\` | \`/init_doc_db.d\` | Execute every \`.js\` file in the mounted directory with \`mongosh\`. |
-
-The built-in sample dataset currently includes 41,505 store documents and 2 rating documents.
-
-### Use custom initialization scripts
-
-\`\`\`bash
-docker run -dt --name documentdb \\
- -p 127.0.0.1:10260:10260 \\
- -v /path/to/init/scripts:/init_doc_db.d \\
- ghcr.io/documentdb/documentdb/documentdb-local:latest \\
- --username '' \\
- --password '' \\
- --init-data-path /init_doc_db.d
-\`\`\`
-
-When \`--init-data-path\` is provided, DocumentDB Local skips the built-in sample data
-and runs only the scripts you mounted.
-`;
-
const gettingStartedIndexArchitectureContent = `## Architecture Components
-DocumentDB consists of three primary components:
+DocumentDB consists of four primary components:
1. **pg_documentdb_core**: Core PostgreSQL extension that provides native BSON storage, field access, and indexing primitives.
2. **pg_documentdb**: Public API surface that implements document commands, CRUD operations, query execution, and index management.
3. **pg_documentdb_gw**: Gateway that translates MongoDB wire protocol requests into PostgreSQL operations and handles authentication, sessions, and TLS.
+4. **pg_documentdb_extended_rum**: The index access method behind DocumentDB's document indexes, required in 1.0.
Together, these components let you use DocumentDB through MongoDB-compatible tools and drivers while still benefiting from PostgreSQL internals.
`;
@@ -1331,8 +1320,6 @@ Choose your environment once, create a working instance, then connect with the c
2. **Create a working instance.** Follow the [Docker Quick Start](/docs/getting-started/docker) or [Linux Packages Quick Start](/docs/getting-started/packages). Linux package installation has two stages: install packages, then run the setup wizard. Neither copying a command nor installing files alone proves the endpoint is ready.
3. **Insert and read your first document.** Use the [Visual Studio Code Quick Start](/docs/getting-started/vscode-quickstart), [Node.js Quick Start](/docs/getting-started/nodejs-setup), or [Python Quick Start](/docs/getting-started/python-setup). Keep the same running instance; no second server installation is needed.
-Linux packages are pre-GA and support **fresh installation only**, not in-place upgrades from earlier releases. Removing packages preserves database files; reinstalling does not reset data.
-
For advanced control, [use an existing local PostgreSQL instance](/docs/linux-packages#adopt-an-existing-postgre-sql-instance) with administrator-managed configuration and restart, or [install the PostgreSQL extension only](/docs/linux-packages#install-the-postgre-sql-extension-only). Extension-only installation does not install the gateway, so apps and drivers cannot connect; you use it through SQL.
`;
@@ -1470,10 +1457,6 @@ function normalizeArticle(section: string, file: string, frontmatter: Record
+
+
+
+
Generally available · October 19, 2026
+
DocumentDB 1.0
+
+ The open-source, MongoDB-compatible document database built on PostgreSQL.
+
+
+ Our first generally available release focuses on security, stability and correctness. MIT licensed,
+ with native BSON storage on PostgreSQL.
+
+ DocumentDB 1.0 on PostgreSQL 17; images for PostgreSQL 15 to 18 are published too. With Docker
+ running, replace the username and password, then run the command. On Windows, run it in WSL.
+
+
+
+
+ Docker quick start →
+
+
+
+
+
Linux packages
+
+ Ubuntu 24.04 and EL9, PostgreSQL 17 or 18, amd64 or arm64, from the documentdb.io APT and YUM
+ repositories. On a clean host:
+
+
+
+ apt and dnf commands →
+
+
+
+
+
VS Code
+
+ The DocumentDB extension for Visual Studio Code 1.0 sets up DocumentDB Local for you, then lets you browse, query and copy
+ data between connections. Needs desktop VS Code and Docker running.
+
+ The DocumentDB Kubernetes Operator 1.0.0 is generally available alongside the engine. The quick start prepares a
+ cluster, installs cert-manager and the operator, and creates your first DocumentDB database.
+
+ Linux packages from v0.116 or v0.117 upgrade in
+ place. Upgrade steps
+
+
+ Containers: start the 1.0 image on a new volume
+ and reload your data; a newer image does not update an existing volume.{" "}
+ Upgrading the image
+
+
+ Release candidates have no upgrade path. Start
+ from a clean host or volume.
+
+
+
+ Known issues
+ {" · "}
+ Release notes
+ {" · "}
+ v1.0-0 on GitHub
+