2
0

5125 Commits

Author SHA1 Message Date
015318aa0a feat(plugins): add PluginRouter interface for route registration
Some checks failed
Build and Release / Build Binaries (arm64, darwin, macos) (push) Has been cancelled
Build and Release / Build Binaries (amd64, windows, windows-latest) (push) Has been cancelled
Build and Release / Build Binary (linux/arm64) (push) Has been cancelled
Build and Release / Lint (push) Has been cancelled
Build and Release / Unit Tests (push) Has been cancelled
Build and Release / Build Binaries (amd64, linux, linux-latest) (push) Has been cancelled
Build and Release / Build Binaries (amd64, darwin, macos) (push) Has been cancelled
Build and Release / Create Release (push) Has been cancelled
Build and Release / Integration Tests (PostgreSQL) (push) Has been cancelled
Introduce PluginRouter interface to standardize plugin route registration and replace the previous 'any' type approach. Add WebRouterAdapter to wrap web.Router and handle path prefixes correctly. This provides a cleaner, type-safe API for plugins to register routes without needing to know about the underlying router implementation.
2026-01-21 10:35:56 -05:00
264365523a Fix flaky TestEntriesCustomSort test
Some checks failed
Build and Release / Create Release (push) Has been skipped
Build and Release / Build Binaries (amd64, windows, windows-latest) (push) Has been skipped
Build and Release / Build Binaries (amd64, linux, linux-latest) (push) Has been skipped
Build and Release / Build Binaries (amd64, darwin, macos) (push) Has been skipped
Build and Release / Build Binaries (arm64, darwin, macos) (push) Has been skipped
Build and Release / Build Binary (linux/arm64) (push) Has been skipped
Build and Release / Integration Tests (PostgreSQL) (push) Has been cancelled
Build and Release / Lint (push) Has been cancelled
Build and Release / Unit Tests (push) Has been cancelled
The test was using rand.Shuffle and asserting the result was different
from the original order. This is inherently flaky as there's a small
chance the shuffle produces the same order.

Changed to use a deterministic reversed order instead.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-19 23:56:47 -05:00
d5bda0495a fix(lint): resolve all formatting and nolint issues
Some checks failed
Build and Release / Create Release (push) Successful in 0s
Build and Release / Integration Tests (PostgreSQL) (push) Successful in 3m5s
Build and Release / Unit Tests (push) Successful in 5m22s
Build and Release / Lint (push) Successful in 5m27s
Build and Release / Build Binaries (amd64, linux, linux-latest) (push) Successful in 2m55s
Build and Release / Build Binaries (amd64, windows, windows-latest) (push) Successful in 9h5m17s
Build and Release / Build Binaries (arm64, darwin, macos) (push) Successful in 11m24s
Build and Release / Build Binaries (amd64, darwin, macos) (push) Successful in 11m48s
Build and Release / Build Binary (linux/arm64) (push) Failing after 2m37s
- Fix gofumpt extra-rules: combine repeated types in function signature
- Fix gofmt formatting in setting/ai.go and web.go
- Add explanations to nolint:dupl directives as required by nolintlint

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-19 19:01:48 -05:00
293714ed0b fix: resolve lint errors in AI modules
Some checks failed
Build and Release / Create Release (push) Has been skipped
Build and Release / Unit Tests (push) Failing after 52s
Build and Release / Integration Tests (PostgreSQL) (push) Failing after 1m21s
Build and Release / Lint (push) Failing after 1m53s
Build and Release / Build Binaries (amd64, linux, linux-latest) (push) Has been skipped
Build and Release / Build Binaries (amd64, windows, windows-latest) (push) Has been skipped
Build and Release / Build Binaries (amd64, darwin, macos) (push) Has been skipped
Build and Release / Build Binaries (arm64, darwin, macos) (push) Has been skipped
Build and Release / Build Binary (linux/arm64) (push) Has been skipped
- Replace fmt.Errorf with errors.New for static error messages
- Use modules/json instead of encoding/json (depguard)
- Add nolint:dupl for intentionally similar API handlers
- Explicitly ignore Session.Set return values (errcheck)
- Apply gofmt formatting

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-19 18:11:10 -05:00
d352b138d7 feat(i18n): add organization license settings and AI template helpers
Some checks failed
Build and Release / Create Release (push) Has been skipped
Build and Release / Integration Tests (PostgreSQL) (push) Failing after 1m46s
Build and Release / Unit Tests (push) Successful in 3m14s
Build and Release / Lint (push) Failing after 3m39s
Build and Release / Build Binaries (amd64, windows, windows-latest) (push) Has been skipped
Build and Release / Build Binaries (amd64, linux, linux-latest) (push) Has been skipped
Build and Release / Build Binaries (amd64, darwin, macos) (push) Has been skipped
Build and Release / Build Binaries (arm64, darwin, macos) (push) Has been skipped
Build and Release / Build Binary (linux/arm64) (push) Has been skipped
Add organization-level license management with new settings page and locale strings across all languages. Add AI feature detection helpers (IsAIEnabled, IsAICodeReviewEnabled, IsAIIssueTriageEnabled) to template functions. Add license scanning functionality to repository settings.
2026-01-19 17:19:32 -05:00
61e835358c feat(actions-manager): add AI service integration for code review and issue triage
Integrate GitCaddy AI service with support for code review, issue triage, documentation generation, code explanation, and chat interface. Add AI client module with HTTP communication, configuration settings, API routes (web and REST), service layer, and UI templates for issue sidebar. Include comprehensive configuration options in app.example.ini for enabling/disabling features and service connection settings.
2026-01-19 11:06:39 -05:00
d8ca27861b feat: expose ChiRouter method for plugin compatibility
Some checks failed
Build and Release / Create Release (push) Successful in 0s
Build and Release / Lint (push) Successful in 4m1s
Build and Release / Integration Tests (PostgreSQL) (push) Successful in 3m55s
Build and Release / Unit Tests (push) Successful in 4m23s
Build and Release / Build Binaries (amd64, linux, linux-latest) (push) Successful in 2m54s
Build and Release / Build Binaries (amd64, darwin, macos) (push) Successful in 6m17s
Build and Release / Build Binaries (amd64, windows, windows-latest) (push) Failing after 8h4m44s
Build and Release / Build Binary (linux/arm64) (push) Failing after 1m48s
Build and Release / Build Binaries (arm64, darwin, macos) (push) Successful in 5m40s
Plugins need access to the underlying chi.Router for route registration.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-18 00:33:39 -05:00
057bb1a90e fix: resolve lint issues from /v3 refactor
All checks were successful
Build and Release / Create Release (push) Successful in 1s
Trigger Vault Plugin Rebuild / Trigger Vault Rebuild (push) Successful in 0s
Build and Release / Unit Tests (push) Successful in 4m17s
Build and Release / Integration Tests (PostgreSQL) (push) Successful in 4m54s
Build and Release / Lint (push) Successful in 5m10s
Build and Release / Build Binaries (amd64, darwin, linux-latest) (push) Successful in 3m9s
Build and Release / Build Binaries (arm64, darwin, linux-latest) (push) Successful in 3m2s
Build and Release / Build Binaries (amd64, linux, linux-latest) (push) Successful in 4m10s
Build and Release / Build Binaries (arm64, linux, linux-latest) (push) Successful in 3m42s
Build and Release / Build Binaries (amd64, windows, windows-latest) (push) Successful in 9h6m57s
- Fix gofmt formatting in tools/codeformat/formatimports.go
- Remove unused nolint directive in modules/git/gitcmd/command.go

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-17 18:11:26 -05:00
12f4ea03a8 refactor: add /v3 suffix to module path for proper Go semver
Some checks failed
Build and Release / Create Release (push) Successful in 0s
Trigger Vault Plugin Rebuild / Trigger Vault Rebuild (push) Successful in 0s
Build and Release / Integration Tests (PostgreSQL) (push) Successful in 2m48s
Build and Release / Lint (push) Failing after 5m2s
Build and Release / Build Binaries (amd64, windows, windows-latest) (push) Has been skipped
Build and Release / Build Binaries (amd64, darwin, linux-latest) (push) Has been skipped
Build and Release / Build Binaries (amd64, linux, linux-latest) (push) Has been skipped
Build and Release / Build Binaries (arm64, darwin, linux-latest) (push) Has been skipped
Build and Release / Build Binaries (arm64, linux, linux-latest) (push) Has been skipped
Build and Release / Unit Tests (push) Successful in 5m37s
Go's semantic import versioning requires v2+ modules to include the
major version in the module path. This enables using proper version
tags (v3.x.x) instead of pseudo-versions.

Updated module path: code.gitcaddy.com/server/v3
2026-01-17 17:53:59 -05:00
71bf7c06e7 feat(vault): Solo tier now includes limited versioning and CI/CD tokens
All checks were successful
Build and Release / Create Release (push) Successful in 0s
Build and Release / Unit Tests (push) Successful in 3m5s
Build and Release / Integration Tests (PostgreSQL) (push) Successful in 4m44s
Build and Release / Lint (push) Successful in 5m5s
Build and Release / Build Binaries (amd64, darwin, linux-latest) (push) Successful in 2m51s
Build and Release / Build Binaries (arm64, darwin, linux-latest) (push) Successful in 3m42s
Build and Release / Build Binaries (amd64, linux, linux-latest) (push) Successful in 4m1s
Build and Release / Build Binaries (arm64, linux, linux-latest) (push) Successful in 4m6s
Build and Release / Build Binaries (amd64, windows, windows-latest) (push) Successful in 9h4m37s
- Solo tier changes:
  - 2 versions history (limited rollback capability)
  - 1 CI/CD token (24h max TTL, read-only access)
  - SSO remains Pro+ only

- Added granular license limits:
  - MaxVersions, MaxTokens, MaxTokenTTLHours, TokensReadOnly

- Added token limit enforcement with CheckTokenLimit()

- Updated all 28 locale files with new translations

- Added templates:
  - feature_upgrade.tmpl (for SSO upgrade prompts)
  - not_installed.tmpl (when vault plugin missing)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-17 11:49:12 -05:00
e82aaf9a72 vault changes 2026-01-17 11:31:19 -05:00
1c15c3c45a fix: lint errors in plugin loader
All checks were successful
Build and Release / Create Release (push) Successful in 0s
Build and Release / Integration Tests (PostgreSQL) (push) Successful in 2m31s
Build and Release / Unit Tests (push) Successful in 5m10s
Build and Release / Lint (push) Successful in 5m21s
Build and Release / Build Binaries (amd64, darwin, linux-latest) (push) Successful in 3m20s
Build and Release / Build Binaries (amd64, linux, linux-latest) (push) Successful in 3m28s
Build and Release / Build Binaries (arm64, darwin, linux-latest) (push) Successful in 3m55s
Build and Release / Build Binaries (arm64, linux, linux-latest) (push) Successful in 4m2s
Build and Release / Build Binaries (amd64, windows, windows-latest) (push) Successful in 8h6m19s
- Use errors.New instead of fmt.Errorf for simple strings
- Run gofmt on new files

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-17 10:24:55 -05:00
b91b9c5711 feat: implement plugin loading system
Some checks failed
Build and Release / Create Release (push) Successful in 0s
Build and Release / Lint (push) Failing after 4m23s
Build and Release / Build Binaries (amd64, darwin, linux-latest) (push) Has been skipped
Build and Release / Build Binaries (amd64, windows, windows-latest) (push) Has been skipped
Build and Release / Build Binaries (amd64, linux, linux-latest) (push) Has been skipped
Build and Release / Build Binaries (arm64, darwin, linux-latest) (push) Has been skipped
Build and Release / Build Binaries (arm64, linux, linux-latest) (push) Has been skipped
Build and Release / Integration Tests (PostgreSQL) (push) Has been cancelled
Build and Release / Unit Tests (push) Has been cancelled
- Add modules/plugins/loader.go to load .so plugins from plugins directory
- Add modules/setting/plugins.go for [plugins] configuration section
- Wire up plugin loading before DB init so plugins can register models
- Wire up plugin migrations and initialization after DB init
- Register plugin routes in web.go

Plugins can now be loaded at runtime by placing .so files in the plugins
directory and enabling [plugins] ENABLED = true in app.ini.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-17 10:16:42 -05:00
af6d4addd4 code.caddy rename
All checks were successful
Build and Release / Create Release (push) Successful in 0s
Build and Release / Integration Tests (PostgreSQL) (push) Successful in 3m7s
Build and Release / Lint (push) Successful in 5m21s
Build and Release / Unit Tests (push) Successful in 5m46s
Build and Release / Build Binaries (amd64, linux, linux-latest) (push) Successful in 3m44s
Build and Release / Build Binaries (amd64, darwin, linux-latest) (push) Successful in 4m4s
Build and Release / Build Binaries (arm64, darwin, linux-latest) (push) Successful in 3m23s
Build and Release / Build Binaries (arm64, linux, linux-latest) (push) Successful in 3m47s
Build and Release / Build Binaries (amd64, windows, windows-latest) (push) Successful in 8h6m28s
2026-01-17 09:02:21 -05:00
a579977667 vault templates and translations
Some checks failed
Build and Release / Create Release (push) Successful in 0s
Build and Release / Unit Tests (push) Successful in 3m3s
Build and Release / Integration Tests (PostgreSQL) (push) Successful in 4m16s
Build and Release / Lint (push) Successful in 5m27s
Build and Release / Build Binaries (arm64, darwin, macos-latest) (push) Failing after 42s
Build and Release / Build Binaries (arm64, linux, linux-latest) (push) Successful in 2m34s
Build and Release / Build Binaries (amd64, linux, linux-latest) (push) Successful in 2m48s
Build and Release / Build Binaries (amd64, darwin, macos-latest) (push) Successful in 3m20s
Build and Release / Build Binaries (amd64, windows, windows-latest) (push) Successful in 8h7m8s
2026-01-17 02:54:23 -05:00
7d852159aa Server fixes
Some checks failed
Build and Release / Create Release (push) Has been skipped
Build and Release / Unit Tests (push) Successful in 3m20s
Build and Release / Lint (push) Failing after 4m55s
Build and Release / Build Binaries (amd64, windows, windows-latest) (push) Has been skipped
Build and Release / Build Binaries (amd64, linux, linux-latest) (push) Has been skipped
Build and Release / Build Binaries (amd64, darwin, macos-latest) (push) Has been skipped
Build and Release / Build Binaries (arm64, darwin, macos-latest) (push) Has been skipped
Build and Release / Build Binaries (arm64, linux, linux-latest) (push) Has been skipped
Build and Release / Integration Tests (PostgreSQL) (push) Successful in 4m59s
2026-01-17 01:59:38 -05:00
725e66e001 GitSecrets endpoints 2026-01-17 01:51:56 -05:00
0d36b892eb Plugin entry 2026-01-16 22:38:01 -05:00
GitCaddy
7e1332b035 v2.1.4: Add bandwidth-aware job routing
Some checks are pending
Build and Release / Build Binaries (amd64, darwin) (push) Blocked by required conditions
Build and Release / Build Binaries (amd64, linux) (push) Blocked by required conditions
Build and Release / Build Binaries (amd64, windows) (push) Blocked by required conditions
Build and Release / Build Binaries (arm64, darwin) (push) Blocked by required conditions
Build and Release / Build Binaries (arm64, linux) (push) Blocked by required conditions
Build and Release / Lint (push) Waiting to run
Build and Release / Unit Tests (push) Waiting to run
Build and Release / Integration Tests (PostgreSQL) (push) Waiting to run
Build and Release / Create Release (push) Waiting to run
- Prefer faster runners when multiple can handle a job
- Score runners by bandwidth (log scale) minus latency penalty
- Configurable threshold (default 20 points) prevents slow runner starvation
- Slower runners still get jobs when faster ones are busy or unavailable
- New settings: BANDWIDTH_AWARE_ROUTING, BANDWIDTH_SCORE_THRESHOLD

🤖 Generated with Claude Code
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-15 15:33:51 +00:00
GitCaddy
70452a9477 v2.1.3: Add AI Learning admin UI and server status dashboard tiles
Some checks are pending
Build and Release / Lint (push) Waiting to run
Build and Release / Unit Tests (push) Waiting to run
Build and Release / Integration Tests (PostgreSQL) (push) Waiting to run
Build and Release / Create Release (push) Waiting to run
Build and Release / Build Binaries (amd64, darwin) (push) Blocked by required conditions
Build and Release / Build Binaries (amd64, linux) (push) Blocked by required conditions
Build and Release / Build Binaries (amd64, windows) (push) Blocked by required conditions
Build and Release / Build Binaries (arm64, darwin) (push) Blocked by required conditions
Build and Release / Build Binaries (arm64, linux) (push) Blocked by required conditions
- Add AI Learning admin section for viewing/editing error patterns
- Add server status tiles to admin dashboard (CPU load, memory, disk)
- Auto-refresh dashboard tiles using HTMX
- Fix error template text (GitCaddy Server)
- Dark mode compatibility for all new UI elements

🤖 Generated with Claude Code
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-15 14:55:06 +00:00
GitCaddy
9a9597a926 Add runner capacity display in UI 2026-01-15 13:02:41 +00:00
GitCaddy
a9c04be5cc chore: Fix linter issues and update copyrights
Some checks are pending
Build and Release / Lint (push) Waiting to run
Build and Release / Unit Tests (push) Waiting to run
Build and Release / Integration Tests (PostgreSQL) (push) Waiting to run
Build and Release / Create Release (push) Waiting to run
Build and Release / Build Binaries (amd64, darwin) (push) Blocked by required conditions
Build and Release / Build Binaries (amd64, linux) (push) Blocked by required conditions
Build and Release / Build Binaries (amd64, windows) (push) Blocked by required conditions
Build and Release / Build Binaries (arm64, darwin) (push) Blocked by required conditions
Build and Release / Build Binaries (arm64, linux) (push) Blocked by required conditions
- Format Go files with gofmt
- Fix perfsprint lint issues in mail_runner_health.go
- Fix editorconfig issues in templates

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-14 09:41:09 +00:00
GitCaddy
ba5d406157 feat: Add runner health UI - unhealthy status display and CPU monitoring tile
- Add unhealthy status display on runners list page (yellow color when online but unhealthy)
- Add is_healthy field to RunnersStatusJSON API response
- Add CPUInfo struct to RunnerCapability for CPU load monitoring
- Add CPU tile to runner edit page showing load percentage and CPU count
- Add real-time JavaScript polling for CPU tile updates
- Add locale string for unhealthy status

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-14 09:09:44 +00:00
GitCaddy
8a904de418 feat: Add runner health monitoring with CPU load and disk cleanup
- Add RunnerHealthCheckSettings with CPU load threshold (MaxCPULoadPercent)
- Add CPUInfo struct to runner capabilities
- Add RunnerCleanupRequest model for tracking cleanup requests
- Add GetPendingCleanupRequest for FetchTask cleanup signaling
- Server FetchTask now sets RequestCleanup flag when cleanup is needed
- Add health monitoring background service with email alerts
- Skip unhealthy runners (low disk, high CPU, high latency) during job assignment

🤖 Generated with Claude Code
2026-01-14 08:48:36 +00:00
GitCaddy
a197cd7648 fix: Replace Gitea branding with GitCaddy throughout codebase
- Fix lint errors in AI learning MCP tools (interface{} -> any, append pattern)
- Update OAuth realm names from Gitea to GitCaddy
- Update User-Agent strings to GitCaddy
- Update default git user.name, mailer X-Mailer header
- Update API docs descriptions
- Update template comments and swagger descriptions
- Keep Gitea attribution in footer and as OAuth provider option

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-14 06:41:05 +00:00
GitCaddy
1600d1b274 Fix linter issues: gofmt and modernize for loops
Some checks are pending
Build and Release / Lint (push) Waiting to run
Build and Release / Unit Tests (push) Waiting to run
Build and Release / Integration Tests (PostgreSQL) (push) Waiting to run
Build and Release / Create Release (push) Waiting to run
Build and Release / Build Binaries (amd64, darwin) (push) Blocked by required conditions
Build and Release / Build Binaries (amd64, linux) (push) Blocked by required conditions
Build and Release / Build Binaries (amd64, windows) (push) Blocked by required conditions
Build and Release / Build Binaries (arm64, darwin) (push) Blocked by required conditions
Build and Release / Build Binaries (arm64, linux) (push) Blocked by required conditions
- Fix gofmt formatting in modules/pages/config.go
- Fix gofmt formatting in routers/web/repo/setting/pages.go
- Modernize for loops to use range over int (Go 1.22+)
- Use strings.SplitSeq for efficient iteration (Go 1.24+)

🤖 Generated with Claude Code
2026-01-13 06:24:19 +00:00
GitCaddy
5c6c7dada5 feat: Landing Page Settings UI and template improvements
Some checks are pending
Build and Release / Lint (push) Waiting to run
Build and Release / Unit Tests (push) Waiting to run
Build and Release / Integration Tests (PostgreSQL) (push) Waiting to run
Build and Release / Create Release (push) Waiting to run
Build and Release / Build Binaries (amd64, darwin) (push) Blocked by required conditions
Build and Release / Build Binaries (amd64, linux) (push) Blocked by required conditions
Build and Release / Build Binaries (amd64, windows) (push) Blocked by required conditions
Build and Release / Build Binaries (arm64, darwin) (push) Blocked by required conditions
Build and Release / Build Binaries (arm64, linux) (push) Blocked by required conditions
- Add full UI-based landing page configuration (Brand, Hero, Content, Social, Pricing, Footer, Theme)
- Replace old templates with new designs: open-source-hero, minimalist-docs, saas-conversion, bold-marketing
- Add pricing section support to all landing page templates
- Add social links with icons to footer across all templates
- Fix footer copyright to use configured value from settings
- Add copyright symbol button in Footer & CTA settings
- Fix ThemeStruct missing HideExploreUsers and HelpURL fields
- Replace Gitea logo with GitCaddy icon in navbar, favicon, and assets
- Add testimonials array with random selection to templates

🤖 Generated with Claude Code (https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-13 04:54:42 +00:00
GitCaddy
f16c3bf327 feat: GitCaddy Server v2.0.0 rebrand and enhancements
Some checks are pending
Build and Release / Lint (push) Waiting to run
Build and Release / Unit Tests (push) Waiting to run
Build and Release / Integration Tests (PostgreSQL) (push) Waiting to run
Build and Release / Create Release (push) Waiting to run
Build and Release / Build Binaries (amd64, darwin) (push) Blocked by required conditions
Build and Release / Build Binaries (amd64, linux) (push) Blocked by required conditions
Build and Release / Build Binaries (amd64, windows) (push) Blocked by required conditions
Build and Release / Build Binaries (arm64, darwin) (push) Blocked by required conditions
Build and Release / Build Binaries (arm64, linux) (push) Blocked by required conditions
Rebrand:
- Binary renamed to gitcaddy-server
- Default AppName: GitCaddy
- New favicon and homepage logo
- Updated licenses.txt with MarketAlly copyright
- Footer: Powered by GitCaddy Server (Based on Gitea)

Homepage:
- Title: GitCaddy
- Tagline: Steeped in your workflow
- AI-Native Platform, Deploy Anywhere, Lightning Fast, Open Source

New Features:
- Explore Organizations tile cards display option
- Pinned repos show DisplayTitle if set

Fixes:
- Pages renamed to Landing Page in settings

Environment Variables (backward compatible):
- GITCADDY__ prefix (GITEA__ still supported)
- GITCADDY_WORK_DIR, GITCADDY_CUSTOM
2026-01-12 21:42:20 +00:00
GitCaddy
d74e0e6694 fix: update config_env_test.go for new function signature 2026-01-12 20:38:54 +00:00
GitCaddy
bd121045e8 feat: rebrand to GitCaddy Server
Major rebrand from Gitea to GitCaddy Server:

Binary & Package:
- Rename binary from gitea to gitcaddy-server
- Update Makefile EXECUTABLE variable
- Update Docker image name to gitcaddy/gitcaddy-server
- Update release artifact names

Environment Variables (backward compatible):
- Add GITCADDY__ prefix for config env vars
- Add GITCADDY_WORK_DIR and GITCADDY_CUSTOM
- Keep GITEA__ and GITEA_* as fallback for compatibility

UI Branding:
- Update footer to Powered by GitCaddy Server
- Add Based on Gitea attribution in footer
- Update Swagger API title and description
- Update webhook placeholders

Code References:
- Update cmd/main.go app name, usage, description
- Update error messages in setting.go
- Add based_on locale key

This rebrand maintains full backward compatibility with existing
Gitea installations while establishing GitCaddy Server identity.
2026-01-12 20:27:32 +00:00
GitCaddy
4bd493a297 style: fix gofmt/gofumpt formatting issues
Some checks failed
Build and Release / Create Release (push) Has been cancelled
Build and Release / Build Binaries (amd64, darwin) (push) Has been cancelled
Build and Release / Build Binaries (amd64, linux) (push) Has been cancelled
Build and Release / Build Binaries (amd64, windows) (push) Has been cancelled
Build and Release / Build Binaries (arm64, darwin) (push) Has been cancelled
Build and Release / Build Binaries (arm64, linux) (push) Has been cancelled
Build and Release / Unit Tests (push) Has been cancelled
Build and Release / Lint (push) Has been cancelled
Build and Release / Integration Tests (PostgreSQL) (push) Has been cancelled
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-12 17:23:38 +00:00
GitCaddy
268db4e935 feat(repo): add display title, license settings, and API header link
- Add repository display title field shown in header and explore listings
- Add license settings page with predefined license types
- Auto-create LICENSE.md when license type is selected
- Show license in repo sidebar with link to LICENSE.md
- Add API header link option in theme settings
- Default explore/organizations sort to alphabetical
- Show org DisplayName only in /explore/organizations

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-12 17:15:41 +00:00
GitCaddy
67505cb7c6 feat(theme): add homepage customization and pinned organizations
- Add customizable homepage title and tagline via admin theme settings
- Add ability for site admins to pin organizations to homepage
- Add pinned organization display format option (condensed/regular)
- Hide promotional text when pinned organizations are displayed
- Add database migration for is_homepage_pinned column
- Add custom site icon support for favicon and navbar

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-12 16:17:51 +00:00
GitCaddy
ea53c3a6c1 fix(mcp): use json.RawMessage for proper JSON unmarshaling
Some checks failed
Build and Release / Create Release (push) Successful in 0s
Build and Release / Lint (push) Successful in 5m59s
Build and Release / Integration Tests (PostgreSQL) (push) Successful in 3m26s
Build and Release / Build Binaries (amd64, darwin) (push) Has been cancelled
Build and Release / Build Binaries (amd64, linux) (push) Has been cancelled
Build and Release / Build Binaries (amd64, windows) (push) Has been cancelled
Build and Release / Build Binaries (arm64, darwin) (push) Has been cancelled
Build and Release / Build Binaries (arm64, linux) (push) Has been cancelled
Build and Release / Unit Tests (push) Has been cancelled
Add RawMessage type alias to modules/json and use it in MCP handler.
The custom RawMessage type was not implementing json.Unmarshaler,
causing parse errors when receiving MCP tool calls with params object.

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-12 00:37:16 +00:00
GitCaddy
d2d89132e4 feat(runners): display Xcode SDKs, Simulators, BuildTools, and PackageManagers
Some checks are pending
Build and Release / Lint (push) Waiting to run
Build and Release / Unit Tests (push) Waiting to run
Build and Release / Integration Tests (PostgreSQL) (push) Waiting to run
Build and Release / Create Release (push) Waiting to run
Build and Release / Build Binaries (amd64, darwin) (push) Blocked by required conditions
Build and Release / Build Binaries (amd64, linux) (push) Blocked by required conditions
Build and Release / Build Binaries (amd64, windows) (push) Blocked by required conditions
Build and Release / Build Binaries (arm64, darwin) (push) Blocked by required conditions
Build and Release / Build Binaries (arm64, linux) (push) Blocked by required conditions
- Add XcodeInfo struct for macOS runner capabilities (version, build, SDKs, simulators)
- Add BuildTools and PackageManagers fields to RunnerCapability struct
- Update runner_edit.tmpl to display:
  - Xcode info with SDKs and Simulators for macOS runners
  - Build Tools (gcc, g++, msbuild, etc.) for all platforms
  - Package Managers (apt, brew, chocolatey, etc.) for all platforms

This aligns with act_runner capability detection which already reports these fields.

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-12 00:07:49 +00:00
GitCaddy
0ca5a7fa90 fix: format HasSuffix function properly
Some checks are pending
Build and Release / Lint (push) Waiting to run
Build and Release / Unit Tests (push) Waiting to run
Build and Release / Integration Tests (PostgreSQL) (push) Waiting to run
Build and Release / Build Binaries (amd64, darwin) (push) Blocked by required conditions
Build and Release / Build Binaries (amd64, linux) (push) Blocked by required conditions
Build and Release / Build Binaries (amd64, windows) (push) Blocked by required conditions
Build and Release / Build Binaries (arm64, darwin) (push) Blocked by required conditions
Build and Release / Build Binaries (arm64, linux) (push) Blocked by required conditions
Build and Release / Create Release (push) Successful in 0s
🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-11 22:59:29 +00:00
GitCaddy
14072ba013 chore: update copyright headers to MarketAlly
- New files: Copyright 2026 MarketAlly
- Modified files: Copyright YYYY The Gitea Authors and MarketAlly

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-11 22:56:56 +00:00
GitCaddy
e842ca0cc9 feat: use SuggestedLabels from runner capabilities
- Add StringUtils.HasSuffix template function
- Update runner edit template to use SuggestedLabels from capabilities
- Auto-suggest -latest variants for OS-type labels (ios, macos, xcode, etc.)
- Falls back to OS-based suggestions if no SuggestedLabels available

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-11 22:53:18 +00:00
GitCaddy
f14cde6e37 fix: run gofmt/gofumpt to fix lint formatting errors
🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-11 21:27:24 +00:00
GitCaddy
46be02bb7f feat(runners): Add suggested labels and label management
- Add DistroInfo struct to parse Linux distribution from capabilities
- Add runner label management endpoints (add/remove/use-suggested)
- Update runner edit UI with:
  - Clickable labels with X to remove
  - Suggested labels with + to add individually
  - Use All Suggested Labels button
  - Buttons moved to full-width row below columns
- Suggested labels derived from OS and distro (linux, linux-latest, debian, debian-latest, etc)

🤖 Generated with Claude Code
2026-01-11 17:25:01 +00:00
GitCaddy
9acc016465 feat: add bandwidth display to runner capabilities panel
- Add BandwidthInfo struct for bandwidth test results
- Display download speed and latency in runner edit page
- Show when the bandwidth test was last performed
- Add locale string for bandwidth label

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-11 07:45:39 +00:00
GitCaddy
41723da478 Add disk space display to runner capabilities page
- Add DiskInfo struct to RunnerCapability for disk space data
- Add disk space progress bar with color coding (green/yellow/red)
- Add Int64ToFloat64 and DivideFloat64 template helper functions
- Add locale strings for disk space labels and warnings
- Show disk usage percentage, free space, and total space
- Display warning icons when disk usage is high (85%+) or critical (95%+)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-11 05:26:03 +00:00
493db275f9 fix: release page improvements and dark mode dropzone
- Latest release downloads always expanded (no collapsible)
- Show archived checkbox moved to right of Release/Tag toggle
- 8px top padding for OS group sections
- Improved OS detection patterns for zip files
- Fixed dark mode dropzone styling
- Renamed slice to newSlice to avoid conflict with Go builtin

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-11 04:43:36 +00:00
ba8ae2a209 feat: group release downloads by OS, load primary language for pinned repos
- Add ToLower to StringUtils template helper
- Add slice and Append template functions for grouping
- Group release attachments by OS (Windows, macOS, Linux, Other)
- Load primary language for org pinned repos to show in cards

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-11 04:27:55 +00:00
7d675ffe35 fix: org overview stats field names and add star count
- Rename OrgOverviewStats fields to match template expectations
- Add TotalStars field to show aggregate star count
- Add CountOrgRepoStars function to repo model
- Fix API struct and handler to use new field names

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-11 02:30:54 +00:00
Claude Code
684e4d0dac feat: Add SSL external option for Pages custom domains
- Add checkbox to mark SSL as handled externally (e.g., Cloudflare)
- Add Activate SSL button for verified domains with pending SSL
- Add SSLExternal option to API
- Useful when using CDN/reverse proxy that handles SSL certificates
2026-01-11 00:40:44 +01:00
b3ed4f74b6 fix: Minio tests and release upload URL
Some checks failed
Build and Release / Lint (push) Has been cancelled
Build and Release / Unit Tests (push) Has been cancelled
Build and Release / Integration Tests (PostgreSQL) (push) Has been cancelled
Build and Release / Create Release (push) Has been cancelled
Build and Release / Build Binaries (amd64, darwin) (push) Has been cancelled
Build and Release / Build Binaries (amd64, linux) (push) Has been cancelled
Build and Release / Build Binaries (amd64, windows) (push) Has been cancelled
Build and Release / Build Binaries (arm64, darwin) (push) Has been cancelled
Build and Release / Build Binaries (arm64, linux) (push) Has been cancelled
- Skip Minio tests in CI (service not available)
- Use direct.git.marketally.com for release API calls

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 16:35:54 -05:00
19a5f47f6c fix: Azure Blob tests and release workflow race condition
Some checks failed
Build and Release / Lint (push) Has been cancelled
Build and Release / Unit Tests (push) Has been cancelled
Build and Release / Integration Tests (PostgreSQL) (push) Has been cancelled
Build and Release / Create Release (push) Has been cancelled
Build and Release / Build Binaries (amd64, darwin) (push) Has been cancelled
Build and Release / Build Binaries (amd64, linux) (push) Has been cancelled
Build and Release / Build Binaries (amd64, windows) (push) Has been cancelled
Build and Release / Build Binaries (arm64, darwin) (push) Has been cancelled
Build and Release / Build Binaries (arm64, linux) (push) Has been cancelled
- Azure Blob tests now skip in CI and when Azurite is unavailable
- Added proper nil checks to prevent panic on storage creation failure
- Release workflow now creates release in separate job before builds
- Build jobs upload to existing release ID instead of racing to create

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 15:07:23 -05:00
efb82c1763 feat(api): Add v2 API for public releases and app updates
- Add public_landing option to allow private repos to have public landing pages
- Add public_releases option to allow private repos to serve releases publicly
- Add /api/v2/repos/{owner}/{repo}/releases/update endpoint for Electron/Squirrel compatible app updates
- Add /api/v2/repos/{owner}/{repo}/pages/config and /content endpoints
- Add repoAssignmentWithPublicAccess middleware to bypass auth for public landing/releases
- Update README with documentation for new features

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 08:10:41 -05:00
fa6a0e764f fix: Resolve all linter issues
- Use modules/json instead of encoding/json (depguard)
- Rename 'cap' variable to avoid shadowing builtin (revive)
- Simplify conditional assignment (staticcheck)
- Fix gofmt formatting issues

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 05:51:01 -05:00