feat(monolith): Core and Ent v3.2.0 release notes and generation script:
- Add v3.2.0 release notes for Core and Enterprise 3- Add a script to help analyze the diff between tags and generate release notes in a standard format following style guidelinesjts-3-2-release-notes
parent
a925e3eebe
commit
a712d5bbeb
|
|
@ -5,6 +5,56 @@
|
|||
> All updates to Core are automatically included in Enterprise.
|
||||
> The Enterprise sections below only list updates exclusive to Enterprise.
|
||||
|
||||
## v3.2.0 {date="2025-06-25"}
|
||||
**Core**: revision 1ca3168bee
|
||||
|
||||
**Enterprise**: revision 1ca3168bee
|
||||
|
||||
### Core
|
||||
|
||||
#### Features
|
||||
|
||||
- **Hard delete for databases and tables**: Permanently delete databases and tables, enabling complete removal of data structures for compliance and storage management ([#26553](https://github.com/influxdata/influxdb/pull/26553))
|
||||
- **AWS credentials auto-reload**: Support dynamic reloading of ephemeral AWS credentials from files, improving security and reliability when using AWS services ([#26537](https://github.com/influxdata/influxdb/pull/26537))
|
||||
- **Database retention period support**: Add retention period support for databases via CLI commands (`create database` and `update database` commands) and HTTP APIs ([#26520](https://github.com/influxdata/influxdb/pull/26520))
|
||||
- **Configurable lookback duration**: Users can specify lookback duration for PersistedFiles buffer, providing better control over query performance ([#26528](https://github.com/influxdata/influxdb/pull/26528))
|
||||
- **WAL replay concurrency control**: Add concurrency limits for WAL (Write-Ahead Log) replay to improve startup performance and resource management ([#26483](https://github.com/influxdata/influxdb/pull/26483))
|
||||
- **Enhanced write path**: Separate write path executor with unbounded memory for improved write performance ([#26455](https://github.com/influxdata/influxdb/pull/26455))
|
||||
|
||||
#### Bug Fixes
|
||||
|
||||
- **WAL corruption handling**: Handle corrupt WAL files during replay without panic, improving data recovery and system resilience ([#26556](https://github.com/influxdata/influxdb/pull/26556))
|
||||
- **Database naming validation**: Disallow underscores in database names when created via API to ensure consistency ([#26507](https://github.com/influxdata/influxdb/pull/26507))
|
||||
- **Object store cleanup**: Automatic intermediate directory cleanup for file object store, preventing storage bloat ([#26480](https://github.com/influxdata/influxdb/pull/26480))
|
||||
|
||||
#### Additional Updates
|
||||
|
||||
- Track generation 1 duration in catalog for better performance monitoring ([#26508](https://github.com/influxdata/influxdb/pull/26508))
|
||||
- Add retention period support to the catalog ([#26479](https://github.com/influxdata/influxdb/pull/26479))
|
||||
- Update help text for improved user experience ([#26509](https://github.com/influxdata/influxdb/pull/26509))
|
||||
|
||||
### Enterprise
|
||||
|
||||
All Core updates are included in Enterprise. Additional Enterprise-specific features and fixes:
|
||||
|
||||
#### Features
|
||||
|
||||
- **License management improvements**:
|
||||
- New `influxdb3 show license` command to display current license information
|
||||
- **Table-level retention period support**: Add retention period support for individual tables in addition to database-level retention, providing granular data lifecycle management
|
||||
- New CLI commands: `create table --retention-period` and `update table --retention-period`
|
||||
- Set or clear table-specific retention policies independent of database settings
|
||||
- **Compaction improvements**:
|
||||
- Address compactor restart issues for better reliability
|
||||
- Track compacted generation durations in catalog for monitoring
|
||||
- Disable parquet cache for ingest mode to optimize memory usage
|
||||
|
||||
#### Bug Fixes
|
||||
|
||||
- **Query optimization**: Correctly partition query chunks into generations for improved performance
|
||||
- **Data integrity**: Don't delete generation 1 files as part of compaction process
|
||||
- **License handling**: Trim whitespace from license file contents after reading to prevent validation issues
|
||||
|
||||
## v3.1.0 {date="2025-05-29"}
|
||||
**Core**: revision 482dd8aac580c04f37e8713a8fffae89ae8bc264
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,135 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Script to generate release notes for InfluxDB v3.x releases
|
||||
# Usage: ./generate-release-notes.sh <from_version> <to_version> <repo_path>
|
||||
|
||||
set -e
|
||||
|
||||
# Default values
|
||||
REPO_PATH="${3:-/Users/ja/Documents/github/influxdb}"
|
||||
FROM_VERSION="${1:-v3.1.0}"
|
||||
TO_VERSION="${2:-v3.2.0}"
|
||||
|
||||
# Colors for output
|
||||
RED='\033[0;31m'
|
||||
GREEN='\033[0;32m'
|
||||
YELLOW='\033[0;33m'
|
||||
BLUE='\033[0;34m'
|
||||
NC='\033[0m' # No Color
|
||||
|
||||
echo -e "${BLUE}Generating release notes for ${TO_VERSION}${NC}"
|
||||
echo -e "Repository: ${REPO_PATH}"
|
||||
echo -e "From: ${FROM_VERSION} To: ${TO_VERSION}\n"
|
||||
|
||||
# Function to extract PR number from commit message
|
||||
extract_pr_number() {
|
||||
echo "$1" | grep -oE '#[0-9]+' | head -1 | sed 's/#//'
|
||||
}
|
||||
|
||||
# Get the release date
|
||||
RELEASE_DATE=$(git -C "$REPO_PATH" log -1 --format=%ai "$TO_VERSION" | cut -d' ' -f1)
|
||||
echo -e "${GREEN}Release Date: ${RELEASE_DATE}${NC}\n"
|
||||
|
||||
# Collect commits by category
|
||||
echo -e "${YELLOW}Analyzing commits...${NC}"
|
||||
|
||||
# Features
|
||||
echo -e "\n${GREEN}Features:${NC}"
|
||||
FEATURES=$(git -C "$REPO_PATH" log --format="%h %s" "${FROM_VERSION}..${TO_VERSION}" | grep -E "^[a-f0-9]+ feat:" | sed 's/^[a-f0-9]* feat: //')
|
||||
|
||||
# Fixes
|
||||
echo -e "\n${GREEN}Bug Fixes:${NC}"
|
||||
FIXES=$(git -C "$REPO_PATH" log --format="%h %s" "${FROM_VERSION}..${TO_VERSION}" | grep -E "^[a-f0-9]+ fix:" | sed 's/^[a-f0-9]* fix: //')
|
||||
|
||||
# Breaking changes
|
||||
echo -e "\n${GREEN}Breaking Changes:${NC}"
|
||||
BREAKING=$(git -C "$REPO_PATH" log --format="%h %s" "${FROM_VERSION}..${TO_VERSION}" | grep -iE "^[a-f0-9]+ .*(BREAKING|breaking change)" | sed 's/^[a-f0-9]* //')
|
||||
|
||||
# Performance improvements
|
||||
echo -e "\n${GREEN}Performance:${NC}"
|
||||
PERF=$(git -C "$REPO_PATH" log --format="%h %s" "${FROM_VERSION}..${TO_VERSION}" | grep -E "^[a-f0-9]+ perf:" | sed 's/^[a-f0-9]* perf: //')
|
||||
|
||||
# Generate markdown output
|
||||
OUTPUT_FILE="release-notes-${TO_VERSION}.md"
|
||||
cat > "$OUTPUT_FILE" << EOF
|
||||
## ${TO_VERSION} {date="${RELEASE_DATE}"}
|
||||
|
||||
### Features
|
||||
|
||||
EOF
|
||||
|
||||
# Add features
|
||||
if [ -n "$FEATURES" ]; then
|
||||
while IFS= read -r line; do
|
||||
PR=$(extract_pr_number "$line")
|
||||
# Clean up the commit message
|
||||
CLEAN_LINE=$(echo "$line" | sed -E 's/ \(#[0-9]+\)$//')
|
||||
if [ -n "$PR" ]; then
|
||||
echo "- $CLEAN_LINE ([#$PR](https://github.com/influxdata/influxdb/pull/$PR))" >> "$OUTPUT_FILE"
|
||||
else
|
||||
echo "- $CLEAN_LINE" >> "$OUTPUT_FILE"
|
||||
fi
|
||||
done <<< "$FEATURES"
|
||||
else
|
||||
echo "- No new features in this release" >> "$OUTPUT_FILE"
|
||||
fi
|
||||
|
||||
# Add bug fixes
|
||||
cat >> "$OUTPUT_FILE" << EOF
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
EOF
|
||||
|
||||
if [ -n "$FIXES" ]; then
|
||||
while IFS= read -r line; do
|
||||
PR=$(extract_pr_number "$line")
|
||||
CLEAN_LINE=$(echo "$line" | sed -E 's/ \(#[0-9]+\)$//')
|
||||
if [ -n "$PR" ]; then
|
||||
echo "- $CLEAN_LINE ([#$PR](https://github.com/influxdata/influxdb/pull/$PR))" >> "$OUTPUT_FILE"
|
||||
else
|
||||
echo "- $CLEAN_LINE" >> "$OUTPUT_FILE"
|
||||
fi
|
||||
done <<< "$FIXES"
|
||||
else
|
||||
echo "- No bug fixes in this release" >> "$OUTPUT_FILE"
|
||||
fi
|
||||
|
||||
# Add breaking changes if any
|
||||
if [ -n "$BREAKING" ]; then
|
||||
cat >> "$OUTPUT_FILE" << EOF
|
||||
|
||||
### Breaking Changes
|
||||
|
||||
EOF
|
||||
while IFS= read -r line; do
|
||||
PR=$(extract_pr_number "$line")
|
||||
CLEAN_LINE=$(echo "$line" | sed -E 's/ \(#[0-9]+\)$//')
|
||||
if [ -n "$PR" ]; then
|
||||
echo "- $CLEAN_LINE ([#$PR](https://github.com/influxdata/influxdb/pull/$PR))" >> "$OUTPUT_FILE"
|
||||
else
|
||||
echo "- $CLEAN_LINE" >> "$OUTPUT_FILE"
|
||||
fi
|
||||
done <<< "$BREAKING"
|
||||
fi
|
||||
|
||||
# Add performance improvements if any
|
||||
if [ -n "$PERF" ]; then
|
||||
cat >> "$OUTPUT_FILE" << EOF
|
||||
|
||||
### Performance Improvements
|
||||
|
||||
EOF
|
||||
while IFS= read -r line; do
|
||||
PR=$(extract_pr_number "$line")
|
||||
CLEAN_LINE=$(echo "$line" | sed -E 's/ \(#[0-9]+\)$//')
|
||||
if [ -n "$PR" ]; then
|
||||
echo "- $CLEAN_LINE ([#$PR](https://github.com/influxdata/influxdb/pull/$PR))" >> "$OUTPUT_FILE"
|
||||
else
|
||||
echo "- $CLEAN_LINE" >> "$OUTPUT_FILE"
|
||||
fi
|
||||
done <<< "$PERF"
|
||||
fi
|
||||
|
||||
echo -e "\n${GREEN}Release notes generated in: ${OUTPUT_FILE}${NC}"
|
||||
echo -e "${YELLOW}Please review and edit the generated notes before adding to documentation.${NC}"
|
||||
Loading…
Reference in New Issue