Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: structured-world/gitlab-mcp
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v6.8.0
Choose a base ref
...
head repository: structured-world/gitlab-mcp
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v6.9.0
Choose a head ref
  • 3 commits
  • 65 files changed
  • 4 contributors

Commits on Jan 19, 2026

  1. chore: Migrate license from MIT to Apache 2.0 (#46)

    * Initial plan
    
    * chore(license): migrate from MIT to Apache 2.0
    
    - Create NOTICE file with SW Foundation copyright and original attribution
    - Create LICENSE.MIT to preserve original MIT license
    - Replace LICENSE with Apache 2.0 license (SW Foundation copyright)
    - Update package.json license field to Apache-2.0
    - Add Apache 2.0 badge to README
    - Add License section to README with attribution information
    
    Co-authored-by: polaz <[email protected]>
    
    ---------
    
    Co-authored-by: copilot-swe-agent[bot] <[email protected]>
    Co-authored-by: polaz <[email protected]>
    Copilot and polaz authored Jan 19, 2026
    Configuration menu
    Copy the full SHA
    ef60a20 View commit details
    Browse the repository at this point in the history
  2. feat(schema): add dynamic action filtering with schema transformation…

    … pipeline (#44)
    
    * feat(schema): add dynamic action filtering with schema transformation pipeline
    
    - Add GITLAB_DENIED_ACTIONS config for filtering specific actions from CQRS tools
    - Add GITLAB_ACTION_{TOOL}_{ACTION} for action description overrides
    - Add GITLAB_PARAM_{TOOL}_{PARAM} for parameter description overrides
    - Add GITLAB_SCHEMA_FORMAT config (flat|discriminated) for schema output format
    - Create schema-utils.ts with transformation pipeline:
      1. Filter denied actions (remove oneOf branches)
      2. Apply description overrides (to oneOf or flat)
      3. Conditional flatten based on config
    - Migrate manage_milestone to discriminated union schema (pilot)
    - Add runtime validation for denied actions in handlers
    - Add comprehensive unit tests for config parsing and schema transformations
    
    Closes #32
    
    * refactor(milestones): migrate browse_milestones to discriminated union schema
    
    - Convert BrowseMilestonesSchema from flat z.object().refine() to z.discriminatedUnion()
    - Define separate schemas for each action: list, get, issues, merge_requests, burndown
    - Remove assertDefined calls - TypeScript narrowing handles type safety
    - Update integration tests with type narrowing for action-specific properties
    
    * refactor(labels): migrate browse_labels and manage_label to discriminated union schema
    
    - Convert BrowseLabelsSchema from flat z.object().refine() to z.discriminatedUnion()
    - Convert ManageLabelSchema from flat z.object().refine() to z.discriminatedUnion()
    - Add runtime validation for denied actions in handlers
    - Update integration tests with type narrowing for action-specific properties
    
    * refactor(variables): migrate to discriminated union schema pattern
    
    - Convert BrowseVariablesSchema to z.discriminatedUnion with list/get actions
    - Convert ManageVariableSchema to z.discriminatedUnion with create/update/delete actions
    - Add runtime validation for denied actions via isActionDenied()
    - Update unit tests with proper type narrowing for action-specific properties
    - Update integration tests with type narrowing
    
    * refactor(wiki): migrate to discriminated union schema pattern
    
    - Convert BrowseWikiSchema to z.discriminatedUnion with list/get actions
    - Convert ManageWikiSchema to z.discriminatedUnion with create/update/delete actions
    - Add runtime validation for denied actions via isActionDenied()
    - Remove assertDefined calls since types are now properly narrowed
    - Update integration tests with proper type narrowing
    
    * refactor(pipelines): migrate to discriminated union schema pattern
    
    - Convert BrowsePipelinesSchema to z.discriminatedUnion with 6 actions: list, get, jobs, triggers, job, logs
    - Convert ManagePipelineSchema to z.discriminatedUnion with create/retry/cancel actions
    - Convert ManagePipelineJobSchema to z.discriminatedUnion with play/retry/cancel actions
    - Add runtime validation for denied actions via isActionDenied()
    - Remove assertDefined calls since types are now properly narrowed
    
    * feat(schemas): migrate all CQRS schemas to discriminatedUnion pattern
    
    Migrate all entity schemas from z.object().refine() pattern to
    z.discriminatedUnion() for type-safe action handling and better
    AI client compatibility.
    
    Changes:
    - core: browse_commits, browse_events, browse_projects, browse_namespaces,
      manage_project schemas now use discriminatedUnion
    - files: browse_files, manage_files schemas migrated
    - mrs: browse_merge_requests, browse_mr_discussions, manage_merge_request,
      manage_mr_discussions schemas with action-specific field validation
    - snippets: browse_snippets, manage_snippet schemas migrated
    - webhooks: list_webhooks, manage_webhook schemas migrated
    - workitems: list_work_items, manage_work_item schemas migrated
    - integrations: manage_integration schema migrated
    
    Schema improvements:
    - Added .passthrough() to preserve unknown fields for validation
    - Added superRefine validation for action-specific fields
    - Updated tests for requiredId string coercion behavior
    - Fixed type narrowing in test assertions
    
    Closes #32
    
    * refactor(tests): remove unused path import in config.test.ts
    polaz authored Jan 19, 2026
    Configuration menu
    Copy the full SHA
    10069c9 View commit details
    Browse the repository at this point in the history
  3. chore(release): 6.9.0 [skip ci]

    ## [6.9.0](v6.8.0...v6.9.0) (2026-01-19)
    
    ### Features
    
    * **schema:** add dynamic action filtering with schema transformation pipeline ([#44](#44)) ([10069c9](10069c9)), closes [#32](#32) [#32](#32)
    semantic-release-bot committed Jan 19, 2026
    Configuration menu
    Copy the full SHA
    5fcea9d View commit details
    Browse the repository at this point in the history
Loading