Skip to content

release: promote develop to main - #145

Merged
Serph91P merged 291 commits into
mainfrom
develop
Jul 11, 2026
Merged

release: promote develop to main#145
Serph91P merged 291 commits into
mainfrom
develop

Conversation

@Serph91P

Copy link
Copy Markdown
Owner

Summary

Promote the completed and reviewed integration branch develop to the stable main branch.

Verification

  • Preserve the complete integration history.
  • Do not merge until all current-head checks complete successfully.
  • Verify the stable branch contains the promotion commit after merge.

dependabot Bot and others added 30 commits February 2, 2026 05:33
Bumps [date-fns](https://github.com/date-fns/date-fns) from 3.6.0 to 4.1.0.
- [Release notes](https://github.com/date-fns/date-fns/releases)
- [Changelog](https://github.com/date-fns/date-fns/blob/main/CHANGELOG.md)
- [Commits](date-fns/date-fns@v3.6.0...v4.1.0)

---
updated-dependencies:
- dependency-name: date-fns
  dependency-version: 4.1.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
…/date-fns-4.1.0

chore(deps): Bump date-fns from 3.6.0 to 4.1.0 in /frontend
…/npm-minor-ad640cb911

chore(deps): Bump eslint-plugin-react-refresh from 0.4.26 to 0.5.0 in /frontend in the npm-minor group
- Add inline schedule editor for backup targets
- Allow adding/editing/removing cron schedules directly from Targets page
- Add proper logging configuration to backend (main.py)
- Add detailed logging to backup creation endpoint
- Improve error messages in frontend for failed backups
- Update Targets page UI with schedule editing interface
- Add AppSettings database table for storing settings
- Create settings API endpoints for Komodo configuration
- Make Komodo settings editable in Settings page (enable/disable, URL, API key)
- Add connection test button with detailed feedback
- Remove redundant Backup Settings section (retention is on Retention page)
- Add System Information section with fixed config display
- Improve settings UI with toggle switch and password field
- Remove linux/arm64 platform from Docker build (amd64 only now)
- Remove QEMU setup step (not needed without ARM builds)
- Significantly speeds up build process

ARM64 support can be added via feature request if needed.
- Remove unused HTTPException import from settings.py
- Fix useEffect setState pattern in Settings.tsx (use useMemo instead)
- Remove unused imports and variables from Settings.tsx
- Apply black formatting to modified files
- Add standalone Schedule model with CRUD API
- Create 7-step BackupWizard component for target creation
- Implement wizard steps: Target, Dependencies, Schedule, Storage, Retention, Options, Summary
- Update Targets page with 'New Target' button
- Add schedule dropdown to target cards
- Maintain backwards compatibility with legacy schedule_cron
- Replace target_name with name property
- Add target_count display for schedules
- Add keep_last to RetentionPolicy response/request models
- Add RetentionPolicyInfo embedded model for target responses
- Include retention_policy in BackupTarget API responses
- Display retention policy badge in Targets page
- Show keep_last in backup wizard retention and summary steps
- Add run_migrations() function to handle schema updates
- Add encrypted and encryption_key_path columns if missing
- Fixes 'table backups has no column named encrypted' error
- Fix E501 errors in schedules.py, targets.py, scheduler.py
- Remove unused Schedule import from scheduler.py (F401)
Mock targets need schedule = None so _get_target_cron falls back
to schedule_cron field for legacy compatibility
…ep_last

- Add schedule_id column to backup_targets if missing
- Add retention_policy_id column to backup_targets if missing
- Add keep_last column to retention_policies if missing
- Fixes 'no such column: backup_targets.schedule_id' error
- Update Dashboard test to use name instead of target_name
- Fix schedulesApi.trigger test path (/schedules/target/:id/trigger)
- Update handlers.ts mock to return ScheduleEntity format
- Add stack target type handling in _create_backup_archive
- Collect all volumes from stack containers for backup
- Add stack validation in _validate_target
- Use multi-source tar for stack backups (like container backups)

Fixes 'Unknown target type: stack' error
…ckups page

- Remove Containers, Volumes, Stacks pages
- Create unified Backups page with 3 tabs (Containers, Volumes, Stacks)
- Add search, filter, and sort functionality
- Show backup status badges and history per item
- Remove container start/stop functionality from frontend
- Update navigation and routes
- Update all related tests
Docker volumes are owned by root, so the container needs root access
to read them for backup. The docker socket access already provides
near-root privileges, so this doesn't significantly change the
security posture.
- Remove user=dockervault from supervisord.conf to allow root access
- Update README.md security section to reflect root requirement
- Merge TESTING.md and TESTING_GUIDE.md into single comprehensive guide
- Update FEATURES_TODO.md with completed Stack-Backup and UI restructuring
- Delete redundant TESTING.md from root directory
- Parse com.docker.compose.depends_on labels from containers
- Implement topological sort (Kahn's algorithm) for stop/start order
- BackupEngine now uses correct dependency order for stack backups
- Add GET /stacks/{name}/dependencies API endpoint
- ContainerInfo/StackInfo extended with dependency fields

Closes: Feature 6 - Automatische Dependency-Erkennung bei Stacks
…& backup browser

- Add selected_volumes field to backup targets for selective volume backup
- Add include_paths/exclude_paths for path filtering with fnmatch patterns
- Redesign Backups page to show only configured targets (not all containers/volumes)
- Add 'New Backup' button with wizard flow
- Create BackupBrowser component to browse files inside backup archives
- Add GET /backups/{id}/files endpoint to list archive contents
- Add GET /backups/{id}/files/{path} endpoint to download individual files
- Add StepVolumeConfig wizard step for volume selection and path configuration
- Enable/disable toggle for backup targets
Serph91P and others added 29 commits April 29, 2026 14:47
…sqlalchemy-gte-2.0.49

chore(deps): Update sqlalchemy requirement from >=2.0.48 to >=2.0.49 in /backend
…python-dateutil-gte-2.9.0.post0

chore(deps): Update python-dateutil requirement from >=2.9.0 to >=2.9.0.post0 in /backend
…pydantic-settings-gte-2.14.0

chore(deps): Update pydantic-settings requirement from >=2.13.1 to >=2.14.0 in /backend
…fastapi-gte-0.136.1

chore(deps): Update fastapi requirement from >=0.135.1 to >=0.136.1 in /backend
…pytest-cov-gte-7.1.0

chore(deps): Update pytest-cov requirement from >=4.1.0 to >=7.1.0 in /backend
…d/develop/lucide-react-1.8.0

chore(deps): Bump lucide-react from 0.577.0 to 1.8.0 in /frontend
…d/develop/jsdom-29.0.2

chore(deps): Bump jsdom from 28.1.0 to 29.0.2 in /frontend
…p/actions/github-script-9

chore(deps): Bump actions/github-script from 8 to 9
…p/codecov/codecov-action-6

chore(deps): Bump codecov/codecov-action from 5 to 6
…p/softprops/action-gh-release-3

chore(deps): Bump softprops/action-gh-release from 2 to 3
Fail closed in both manual backup endpoints and the scheduler trigger path.
Return HTTP 409 without creating or enqueueing a backup.

Fixes #133
Resolve unrelated conflicts by keeping the current develop versions.
Pin build toolchains, install checksum-verified rclone, and make
container health and advertised binary checks block CI.
Validate remote upload results before deleting local artifacts.
Require complete encryption output and clean partial files on failure.
Abort on container stop failures and retry required restarts.
Persist cancellation as a failed backup while preserving cancellation.

Fixes #134
Use a literal npm version in the Dockerfile so Hadolint can verify the pin.
Add a regression test that keeps it aligned with packageManager.
Persist explicit failures for missing remote results, defer cancellation
until archive workers finish, and redact hook arguments and output.
…ge-design

docs: define storage recovery and Komodo roadmap
@Serph91P
Serph91P merged commit c985b37 into main Jul 11, 2026
29 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants