v0.0.14

every-app/open-seov0.0.14May 20, 2026by bensenescu

AI Summary

This release fixes a critical bug where simultaneous requests could create multiple auto-created Default projects per organization. It introduces a migration script to clean up duplicates while preserving rank-tracking history.

Key Highlights

  • Prevents duplicate auto-created Default projects per organization
  • Migration script to handle unique-constraint errors for Default projects
  • Preserves rank-tracking history and remaps child rows during cleanup

Breaking Changes

  • Unique constraint enforcement for Default projects (`projects_one_default_per_organization_idx`)

New Features

  • Automated duplicate project cleanup
  • Migration documentation for manual intervention if needed

Full Release Notes

OpenSEO now prevents duplicate auto-created Default projects per organization.

## Migration Note

Most installs do not need manual cleanup. If running the latest migrations fails
with a unique-constraint error for
`projects_one_default_per_organization_idx`, follow
`docs/default-project-cleanup.md`.

## What happened

Several simultaneous requests could initialize the same organization at once,
creating more than one auto-created `Default` project.

## What the cleanup does

The cleanup keeps one canonical `Default` project per organization, remaps
supported child rows onto it, preserves rank-tracking history where possible,
then removes duplicate Default projects.

Full Changelog: https://github.com/every-app/open-seo/compare/v0.0.13...v0.0.14