## [6.61.0](https://github.com/structured-world/gitlab-mcp/compare/v6.60.3...v6.61.0) (2026-02-13)
### Features
* **workitems:** add verification status and test reports for requirements ([#325](https://github.com/structured-world/gitlab-mcp/issues/325)) ([0dcfd59](https://github.com/structured-world/gitlab-mcp/commit/0dcfd59692687084037301586c026e2cd06ff9c2)), closes [#324](https://github.com/structured-world/gitlab-mcp/issues/324)
## [6.60.3](https://github.com/structured-world/gitlab-mcp/compare/v6.60.2...v6.60.3) (2026-02-07)
### Bug Fixes
* **server:** validate session ID in StreamableHTTP transport ([#318](https://github.com/structured-world/gitlab-mcp/issues/318)) ([2262fb8](https://github.com/structured-world/gitlab-mcp/commit/2262fb8c840a5be0d9739bbe5823bbbb23f83c9b)), closes [#317](https://github.com/structured-world/gitlab-mcp/issues/317)
## [6.60.2](https://github.com/structured-world/gitlab-mcp/compare/v6.60.1...v6.60.2) (2026-02-06)
### Bug Fixes
* **server:** TCP keepalive and stale connection detection ([#316](https://github.com/structured-world/gitlab-mcp/issues/316)) ([2b2b183](https://github.com/structured-world/gitlab-mcp/commit/2b2b1837d048d9f2154d76f0b127fe18549a6180)), closes [#315](https://github.com/structured-world/gitlab-mcp/issues/315)
## [6.60.1](https://github.com/structured-world/gitlab-mcp/compare/v6.60.0...v6.60.1) (2026-02-06)
### Bug Fixes
* **fetch:** proper timeout architecture and connection pool tuning ([#314](https://github.com/structured-world/gitlab-mcp/issues/314)) ([4977828](https://github.com/structured-world/gitlab-mcp/commit/4977828214ab2bf49923586ec8032130ede0c3ca)), closes [#313](https://github.com/structured-world/gitlab-mcp/issues/313) [#313](https://github.com/structured-world/gitlab-mcp/issues/313)
## [6.60.0](https://github.com/structured-world/gitlab-mcp/compare/v6.59.2...v6.60.0) (2026-02-06)
### Features
* **workitems:** add timelog deletion support via delete_timelog action ([#312](https://github.com/structured-world/gitlab-mcp/issues/312)) ([52172ea](https://github.com/structured-world/gitlab-mcp/commit/52172ea39645e18f2d7430f6ed330fa7a746c930)), closes [#311](https://github.com/structured-world/gitlab-mcp/issues/311)
## [6.59.2](https://github.com/structured-world/gitlab-mcp/compare/v6.59.1...v6.59.2) (2026-02-06)
### Bug Fixes
* **pipelines:** position-aware log truncation and pagination metadata ([#310](https://github.com/structured-world/gitlab-mcp/issues/310)) ([e3dc1db](https://github.com/structured-world/gitlab-mcp/commit/e3dc1dbb0275b1ed60416e0f0a0839759e372baa)), closes [#309](https://github.com/structured-world/gitlab-mcp/issues/309)
## [6.59.1](https://github.com/structured-world/gitlab-mcp/compare/v6.59.0...v6.59.1) (2026-02-05)
### Bug Fixes
* **docs:** replace Structured World with sw.foundation ([#308](https://github.com/structured-world/gitlab-mcp/issues/308)) ([eef1e8d](https://github.com/structured-world/gitlab-mcp/commit/eef1e8d95c92d98bf2301690c1a42c0a3975129d)), closes [#307](https://github.com/structured-world/gitlab-mcp/issues/307)
## [6.59.0](https://github.com/structured-world/gitlab-mcp/compare/v6.58.1...v6.59.0) (2026-02-05)
### Features
* **docs:** add JSON-LD structured data for SEO ([#306](https://github.com/structured-world/gitlab-mcp/issues/306)) ([07e6261](https://github.com/structured-world/gitlab-mcp/commit/07e62612a67ff2ebab8c11c5ec99721842595366)), closes [#305](https://github.com/structured-world/gitlab-mcp/issues/305)
## [6.58.1](https://github.com/structured-world/gitlab-mcp/compare/v6.58.0...v6.58.1) (2026-02-05)
### Bug Fixes
* **docs:** move generated API reference to /tools/ directory ([#304](https://github.com/structured-world/gitlab-mcp/issues/304)) ([2b262b3](https://github.com/structured-world/gitlab-mcp/commit/2b262b349c52903ae22bdc12a0a388cd92f69947)), closes [#303](https://github.com/structured-world/gitlab-mcp/issues/303)
## [6.58.0](https://github.com/structured-world/gitlab-mcp/compare/v6.57.0...v6.58.0) (2026-02-05)
### Features
* **logging:** add LOG_FILTER for access log noise reduction ([#295](https://github.com/structured-world/gitlab-mcp/issues/295)) ([d0c3d0d](https://github.com/structured-world/gitlab-mcp/commit/d0c3d0dafb2c8775cbb8e2ffcf55f6dd3ccdbc1d)), closes [#290](https://github.com/structured-world/gitlab-mcp/issues/290)
### Bug Fixes
* **ci:** configure git credentials for semantic-release tag upload ([#298](https://github.com/structured-world/gitlab-mcp/issues/298)) ([6563291](https://github.com/structured-world/gitlab-mcp/commit/6563291a7e22967573c12b6a60e945a8c791dc9a)), closes [#297](https://github.com/structured-world/gitlab-mcp/issues/297)
* **ci:** remove duplicate Authorization header, add token scope ([#300](https://github.com/structured-world/gitlab-mcp/issues/300)) ([4032584](https://github.com/structured-world/gitlab-mcp/commit/4032584a3de4f72db68c1a04522af84019870c6f)), closes [#299](https://github.com/structured-world/gitlab-mcp/issues/299)
## [6.58.0](https://github.com/structured-world/gitlab-mcp/compare/v6.57.0...v6.58.0) (2026-02-05)
### Features
* **logging:** add LOG_FILTER for access log noise reduction ([#295](https://github.com/structured-world/gitlab-mcp/issues/295)) ([d0c3d0d](https://github.com/structured-world/gitlab-mcp/commit/d0c3d0dafb2c8775cbb8e2ffcf55f6dd3ccdbc1d)), closes [#290](https://github.com/structured-world/gitlab-mcp/issues/290)
## [6.57.0](https://github.com/structured-world/gitlab-mcp/compare/v6.56.0...v6.57.0) (2026-02-05)
### Features
* **server:** add /health endpoint for load balancer health checks ([#289](https://github.com/structured-world/gitlab-mcp/issues/289)) ([5f4f00c](https://github.com/structured-world/gitlab-mcp/commit/5f4f00c5bbc277cf2935b81611cd8e08d6dba571)), closes [#288](https://github.com/structured-world/gitlab-mcp/issues/288)
## [6.56.0](https://github.com/structured-world/gitlab-mcp/compare/v6.55.1...v6.56.0) (2026-02-04)
### Features
* **dashboard:** add instance health dashboard on GET / endpoint ([#286](https://github.com/structured-world/gitlab-mcp/issues/286)) ([de47c40](https://github.com/structured-world/gitlab-mcp/commit/de47c404c56ea32257127f4ef57d4f2d7d5ac662)), closes [#275](https://github.com/structured-world/gitlab-mcp/issues/275) [#287](https://github.com/structured-world/gitlab-mcp/issues/287) [#285](https://github.com/structured-world/gitlab-mcp/issues/285)
## [6.55.1](https://github.com/structured-world/gitlab-mcp/compare/v6.55.0...v6.55.1) (2026-02-04)
### Bug Fixes
* **docs:** rename gtag.d.ts to gtag.ts for Vite compatibility ([#287](https://github.com/structured-world/gitlab-mcp/issues/287)) ([b3e980e](https://github.com/structured-world/gitlab-mcp/commit/b3e980e182ee586f5d8465ac7784104a88a406ff)), closes [#285](https://github.com/structured-world/gitlab-mcp/issues/285)
## [6.55.0](https://github.com/structured-world/gitlab-mcp/compare/v6.54.0...v6.55.0) (2026-02-04)
### Features
* **multi-instance:** Multi-Instance OAuth Federation with per-session introspection ([#277](https://github.com/structured-world/gitlab-mcp/issues/277)) ([1fc0a8f](https://github.com/structured-world/gitlab-mcp/commit/1fc0a8ffe12c1e72a403de7dd905e3228b26414d)), closes [#274](https://github.com/structured-world/gitlab-mcp/issues/274) [#274](https://github.com/structured-world/gitlab-mcp/issues/274) [#274](https://github.com/structured-world/gitlab-mcp/issues/274) [#274](https://github.com/structured-world/gitlab-mcp/issues/274) [#274](https://github.com/structured-world/gitlab-mcp/issues/274) [#274](https://github.com/structured-world/gitlab-mcp/issues/274)
## [6.54.0](https://github.com/structured-world/gitlab-mcp/compare/v6.53.1...v6.54.0) (2026-02-04)
### Features
* **docs:** upgrade vue-privacy with GA4 tracking + dependency updates ([#284](https://github.com/structured-world/gitlab-mcp/issues/284)) ([9d43ae6](https://github.com/structured-world/gitlab-mcp/commit/9d43ae67208ab21e60fe520b2429eb18786810aa)), closes [#282](https://github.com/structured-world/gitlab-mcp/issues/282)
## [6.53.1](https://github.com/structured-world/gitlab-mcp/compare/v6.53.0...v6.53.1) (2026-02-04)
### Bug Fixes
* **ci:** exclude dismissed CodeQL alerts from thread blocking ([#279](https://github.com/structured-world/gitlab-mcp/issues/279)) ([19a97ce](https://github.com/structured-world/gitlab-mcp/commit/19a97ce4018b2517ecf4c7b381bbe09dce53169f)), closes [#278](https://github.com/structured-world/gitlab-mcp/issues/278)
## [6.53.0](https://github.com/structured-world/gitlab-mcp/compare/v6.52.0...v6.53.0) (2026-02-04)
### Features
* **mrs:** add MR versions support (list and get diff versions) ([#271](https://github.com/structured-world/gitlab-mcp/issues/271)) ([12424fe](https://github.com/structured-world/gitlab-mcp/commit/12424fe308d941ee8763572dc16af37264699a9e)), closes [#268](https://github.com/structured-world/gitlab-mcp/issues/268)
* **pipelines:** add inputs parameter for typed pipeline inputs (GitLab 15.5+) ([#273](https://github.com/structured-world/gitlab-mcp/issues/273)) ([2c2d31c](https://github.com/structured-world/gitlab-mcp/commit/2c2d31cf10cbed415fd35ee3f80ad79ef8d2bf91)), closes [#272](https://github.com/structured-world/gitlab-mcp/issues/272)
## [6.52.0](https://github.com/structured-world/gitlab-mcp/compare/v6.51.0...v6.52.0) (2026-02-04)
### Features
* **mrs:** add file exclusion patterns for MR diffs ([#270](https://github.com/structured-world/gitlab-mcp/issues/270)) ([39d6dd0](https://github.com/structured-world/gitlab-mcp/commit/39d6dd04a0ffe49c04e6eb1613b8269ed1268e85)), closes [#269](https://github.com/structured-world/gitlab-mcp/issues/269)
## [6.51.0](https://github.com/structured-world/gitlab-mcp/compare/v6.50.0...v6.51.0) (2026-02-02)
### Features
* **docs:** consent banner + vue-privacy 1.2.2 with gtag fix ([#255](https://github.com/structured-world/gitlab-mcp/issues/255)) ([75eb54b](https://github.com/structured-world/gitlab-mcp/commit/75eb54b28118cbae404e4ed1e3f8c42db459c75f))
### Bug Fixes
* **ci:** prevent transitive skip propagation in release pipeline ([#266](https://github.com/structured-world/gitlab-mcp/issues/266)) ([f809a7a](https://github.com/structured-world/gitlab-mcp/commit/f809a7ae72965a0e46206e01a490bf22602ad002)), closes [#264](https://github.com/structured-world/gitlab-mcp/issues/264) [#265](https://github.com/structured-world/gitlab-mcp/issues/265) [#265](https://github.com/structured-world/gitlab-mcp/issues/265)
* **ci:** replace heredoc with quoted strings in thread-gate job ([#246](https://github.com/structured-world/gitlab-mcp/issues/246)) ([9470b50](https://github.com/structured-world/gitlab-mcp/commit/9470b509358ed07f13c2758204722261f5bbdc7c)), closes [#243](https://github.com/structured-world/gitlab-mcp/issues/243) [#245](https://github.com/structured-world/gitlab-mcp/issues/245)
* **ci:** unblock release pipeline on push to main ([#264](https://github.com/structured-world/gitlab-mcp/issues/264)) ([59b8cbe](https://github.com/structured-world/gitlab-mcp/commit/59b8cbec583ae948ace8e6bbbc0cbf62f6d67851)), closes [#263](https://github.com/structured-world/gitlab-mcp/issues/263)
* **deps:** update hono from 4.11.5 to 4.11.7 ([#248](https://github.com/structured-world/gitlab-mcp/issues/248)) ([71cc831](https://github.com/structured-world/gitlab-mcp/commit/71cc831682f01e7f06bdc450e1cb498ac27d7bae)), closes [#247](https://github.com/structured-world/gitlab-mcp/issues/247)
* **docs:** resolve SEO issues in VitePress documentation ([#249](https://github.com/structured-world/gitlab-mcp/issues/249)) ([#250](https://github.com/structured-world/gitlab-mcp/issues/250)) ([3e05717](https://github.com/structured-world/gitlab-mcp/commit/3e057177b8e200157c7bfbb7ff470ec8ac5b4c2f))
* **docs:** use canonical URL for TOOLS reference in README ([#252](https://github.com/structured-world/gitlab-mcp/issues/252)) ([5ac56cc](https://github.com/structured-world/gitlab-mcp/commit/5ac56cc25099031168003a50e30013e8059e0a31)), closes [#251](https://github.com/structured-world/gitlab-mcp/issues/251)
* **pipelines:** serialize array query params as key[] for GitLab Rails API ([#262](https://github.com/structured-world/gitlab-mcp/issues/262)) ([955a3c1](https://github.com/structured-world/gitlab-mcp/commit/955a3c1cc7e21e373ba25197e4738d2758416ba1)), closes [#261](https://github.com/structured-world/gitlab-mcp/issues/261)
## [6.50.0](https://github.com/structured-world/gitlab-mcp/compare/v6.49.0...v6.50.0) (2026-01-27)
### Features
* **workitems:** include time tracking in browse_work_items ([#241](https://github.com/structured-world/gitlab-mcp/issues/241)) ([1886a7f](https://github.com/structured-world/gitlab-mcp/commit/1886a7fae88f0ec85c2a0899962a5e63d2673294))
## [6.49.0](https://github.com/structured-world/gitlab-mcp/compare/v6.48.2...v6.49.0) (2026-01-26)
### Features
* **workitems:** support linkType/targetId in update action ([#233](https://github.com/structured-world/gitlab-mcp/issues/233)) ([a336638](https://github.com/structured-world/gitlab-mcp/commit/a33663832ca02a02f0dc1b4961d4dbad871253e3)), closes [#232](https://github.com/structured-world/gitlab-mcp/issues/232) [#232](https://github.com/structured-world/gitlab-mcp/issues/232) [#232](https://github.com/structured-world/gitlab-mcp/issues/232)
## [6.48.2](https://github.com/structured-world/gitlab-mcp/compare/v6.48.1...v6.48.2) (2026-01-26)
### Bug Fixes
* **docs:** add GA4 consent mode to enable analytics tracking ([#230](https://github.com/structured-world/gitlab-mcp/issues/230)) ([aac2fa5](https://github.com/structured-world/gitlab-mcp/commit/aac2fa58c7102f3422910224fef061cb48c6e59b)), closes [#229](https://github.com/structured-world/gitlab-mcp/issues/229)
## [6.48.1](https://github.com/structured-world/gitlab-mcp/compare/v6.48.0...v6.48.1) (2026-01-25)
### Bug Fixes
* **ci:** remove deleted worker deploy job ([#227](https://github.com/structured-world/gitlab-mcp/issues/227)) ([f33f3ba](https://github.com/structured-world/gitlab-mcp/commit/f33f3ba7d11474d426b14a4a54bcc0d6fd2cb6b6)), closes [#223](https://github.com/structured-world/gitlab-mcp/issues/223) [#226](https://github.com/structured-world/gitlab-mcp/issues/226)
* **docs:** track SPA navigation in Google Analytics ([#221](https://github.com/structured-world/gitlab-mcp/issues/221)) ([252f0be](https://github.com/structured-world/gitlab-mcp/commit/252f0bed2be4213ec6bb867f25cb44159088f728)), closes [#220](https://github.com/structured-world/gitlab-mcp/issues/220)
## [6.48.0](https://github.com/structured-world/gitlab-mcp/compare/v6.47.1...v6.48.0) (2026-01-25)
### Features
* **logging:** add LOG_FORMAT env var and improve session ID truncation ([#215](https://github.com/structured-world/gitlab-mcp/issues/215)) ([df655f2](https://github.com/structured-world/gitlab-mcp/commit/df655f2bdfb5ff82fadafd80771471f3f6880209)), closes [#213](https://github.com/structured-world/gitlab-mcp/issues/213)
* **mcp:** MCP Ecosystem Compatibility - Graceful Startup, Static Manifest, and Release Pipeline Improvements ([#212](https://github.com/structured-world/gitlab-mcp/issues/212)) ([2ecb70d](https://github.com/structured-world/gitlab-mcp/commit/2ecb70dc2cac68f50593ba05c79958d0ec24565d)), closes [#210](https://github.com/structured-world/gitlab-mcp/issues/210)
## [6.47.1](https://github.com/structured-world/gitlab-mcp/compare/v6.47.0...v6.47.1) (2026-01-25)
### Bug Fixes
* **docs:** redirect edit links for generated .md files to .md.in templates ([#218](https://github.com/structured-world/gitlab-mcp/issues/218)) ([2889e23](https://github.com/structured-world/gitlab-mcp/commit/2889e2378e988b157d96ad65c967392d7429801f)), closes [#217](https://github.com/structured-world/gitlab-mcp/issues/217)
## [6.47.0](https://github.com/structured-world/gitlab-mcp/compare/v6.46.1...v6.47.0) (2026-01-25)
### Features
* **docs:** add Google Analytics tracking to VitePress documentation ([#216](https://github.com/structured-world/gitlab-mcp/issues/216)) ([675ea12](https://github.com/structured-world/gitlab-mcp/commit/675ea12cb1104250361f8131934eb5b98bb9aa9e)), closes [#214](https://github.com/structured-world/gitlab-mcp/issues/214)
## [6.46.1](https://github.com/structured-world/gitlab-mcp/compare/v6.46.0...v6.46.1) (2026-01-25)
### Bug Fixes
* **logging:** Apply LOG_JSON pattern to all logger calls ([#211](https://github.com/structured-world/gitlab-mcp/issues/211)) ([168783a](https://github.com/structured-world/gitlab-mcp/commit/168783a47286c323379602f476ac01cfff75c9ee)), closes [#209](https://github.com/structured-world/gitlab-mcp/issues/209) [#209](https://github.com/structured-world/gitlab-mcp/issues/209) [#209](https://github.com/structured-world/gitlab-mcp/issues/209) [#209](https://github.com/structured-world/gitlab-mcp/issues/209) [#209](https://github.com/structured-world/gitlab-mcp/issues/209)
## [6.46.0](https://github.com/structured-world/gitlab-mcp/compare/v6.45.1...v6.46.0) (2026-01-25)
### Features
* **context:** add whoami action for token introspection ([#203](https://github.com/structured-world/gitlab-mcp/issues/203)) ([#205](https://github.com/structured-world/gitlab-mcp/issues/205)) ([fc0c568](https://github.com/structured-world/gitlab-mcp/commit/fc0c568ac1ad054ea6b0b27789470a7d1e465a36))
## [6.45.1](https://github.com/structured-world/gitlab-mcp/compare/v6.45.0...v6.45.1) (2026-01-25)
### Bug Fixes
* **logging:** Access logs output single-line format with LOG_JSON mode ([#208](https://github.com/structured-world/gitlab-mcp/issues/208)) ([499854d](https://github.com/structured-world/gitlab-mcp/commit/499854dc30f4adcaf171dbc8e4da1c93ffe4eed0)), closes [#207](https://github.com/structured-world/gitlab-mcp/issues/207)
## [6.45.0](https://github.com/structured-world/gitlab-mcp/compare/v6.44.0...v6.45.0) (2026-01-25)
### Features
* **logging:** Implement condensed access log format with request stack aggregation ([#196](https://github.com/structured-world/gitlab-mcp/issues/196)) ([8871fad](https://github.com/structured-world/gitlab-mcp/commit/8871fadfcefc43752d8526fd6e786199f546d8df)), closes [#194](https://github.com/structured-world/gitlab-mcp/issues/194)
### Bug Fixes
* **docs:** replace hardcoded 'latest' MCPB link with versioned URL in README ([#206](https://github.com/structured-world/gitlab-mcp/issues/206)) ([a0266a4](https://github.com/structured-world/gitlab-mcp/commit/a0266a443288ac6ed01b8f2d07248214b863afe7)), closes [#204](https://github.com/structured-world/gitlab-mcp/issues/204)
## [6.44.0](https://github.com/structured-world/gitlab-mcp/compare/v6.43.1...v6.44.0) (2026-01-25)
### Features
* **docs:** use versioned MCPB download links with __VERSION__ placeholder ([#200](https://github.com/structured-world/gitlab-mcp/issues/200)) ([68b284f](https://github.com/structured-world/gitlab-mcp/commit/68b284f3f7bf499e67747a7f88e5f27346b53613)), closes [#199](https://github.com/structured-world/gitlab-mcp/issues/199)
## [6.43.1](https://github.com/structured-world/gitlab-mcp/compare/v6.43.0...v6.43.1) (2026-01-25)
### Bug Fixes
* **mcpb:** preserve yaml/dist/doc and install required peer deps ([#202](https://github.com/structured-world/gitlab-mcp/issues/202)) ([a96d258](https://github.com/structured-world/gitlab-mcp/commit/a96d25807d4a2617f5d7a98813dd9c090e7e6bd7)), closes [#201](https://github.com/structured-world/gitlab-mcp/issues/201)
## [6.43.0](https://github.com/structured-world/gitlab-mcp/compare/v6.42.1...v6.43.0) (2026-01-25)
### Features
* MCP Registry integration with dynamic tool counts and MCPB toggles ([#192](https://github.com/structured-world/gitlab-mcp/issues/192)) ([9ba94e2](https://github.com/structured-world/gitlab-mcp/commit/9ba94e2cd6893295109e8518350176a2f8942340)), closes [#191](https://github.com/structured-world/gitlab-mcp/issues/191)
## [6.42.1](https://github.com/structured-world/gitlab-mcp/compare/v6.42.0...v6.42.1) (2026-01-25)
### Bug Fixes
* **mrs:** Pre-check mergeability before calling merge API to avoid 405 errors ([#198](https://github.com/structured-world/gitlab-mcp/issues/198)) ([aa9bb83](https://github.com/structured-world/gitlab-mcp/commit/aa9bb83d8a84d001b38d20796c49eacee973368f)), closes [#197](https://github.com/structured-world/gitlab-mcp/issues/197)
## [6.42.0](https://github.com/structured-world/gitlab-mcp/compare/v6.41.4...v6.42.0) (2026-01-25)
### Features
* Token scope detection at startup with graceful degradation ([#190](https://github.com/structured-world/gitlab-mcp/issues/190)) ([28bab03](https://github.com/structured-world/gitlab-mcp/commit/28bab03809638414e9891fd0b3d689e67be98e81)), closes [#188](https://github.com/structured-world/gitlab-mcp/issues/188)
### Bug Fixes
* **workitems:** use two-step approach for timeEstimate on create ([#195](https://github.com/structured-world/gitlab-mcp/issues/195)) ([98abf4e](https://github.com/structured-world/gitlab-mcp/commit/98abf4ec5393d19078c05f96e810062d2e586877)), closes [#193](https://github.com/structured-world/gitlab-mcp/issues/193)
## [6.41.4](https://github.com/structured-world/gitlab-mcp/compare/v6.41.3...v6.41.4) (2026-01-24)
### Bug Fixes
* **auth:** use PRIVATE-TOKEN header for PAT authentication instead of Bearer ([#189](https://github.com/structured-world/gitlab-mcp/issues/189)) ([7799dde](https://github.com/structured-world/gitlab-mcp/commit/7799ddeeafa169273aed725774e3132c7ccb63db)), closes [#187](https://github.com/structured-world/gitlab-mcp/issues/187)
## [6.41.3](https://github.com/structured-world/gitlab-mcp/compare/v6.41.2...v6.41.3) (2026-01-24)
### Bug Fixes
* **docs:** use raw HTML for MCPB download link to prevent VitePress .html suffix ([#186](https://github.com/structured-world/gitlab-mcp/issues/186)) ([fffe90b](https://github.com/structured-world/gitlab-mcp/commit/fffe90bf04f932c2089aa9bb67a0e8754fb781dc)), closes [#185](https://github.com/structured-world/gitlab-mcp/issues/185)
## [6.41.2](https://github.com/structured-world/gitlab-mcp/compare/v6.41.1...v6.41.2) (2026-01-24)
### Bug Fixes
* **ci:** remove generated artifacts from repo, fix MCPB 404 race condition ([#181](https://github.com/structured-world/gitlab-mcp/issues/181)) ([#182](https://github.com/structured-world/gitlab-mcp/issues/182)) ([6f17c99](https://github.com/structured-world/gitlab-mcp/commit/6f17c9977aeec20f0e8acad4e96f6a03dece33b1))
* **mcpb:** reduce bundle size from 84MB to ~45MB ([#184](https://github.com/structured-world/gitlab-mcp/issues/184)) ([37f9c29](https://github.com/structured-world/gitlab-mcp/commit/37f9c29f270073a6cc67d2094c813f21ebfd226f)), closes [#183](https://github.com/structured-world/gitlab-mcp/issues/183)
## [6.41.1](https://github.com/structured-world/gitlab-mcp/compare/v6.41.0...v6.41.1) (2026-01-24)
### Bug Fixes
* **workitems:** align linkType enum to GitLab API values ([#178](https://github.com/structured-world/gitlab-mcp/issues/178)) ([3b4ba6e](https://github.com/structured-world/gitlab-mcp/commit/3b4ba6ecd1760856bcc45cee4ea8b79d0e6da224)), closes [#177](https://github.com/structured-world/gitlab-mcp/issues/177)
## [6.41.0](https://github.com/structured-world/gitlab-mcp/compare/v6.40.0...v6.41.0) (2026-01-24)
### Features
* **ux:** graceful startup without credentials + docs clarity ([#180](https://github.com/structured-world/gitlab-mcp/issues/180)) ([6f77771](https://github.com/structured-world/gitlab-mcp/commit/6f77771c74cc7538a77db51ded8a84cb5eb22d03)), closes [#179](https://github.com/structured-world/gitlab-mcp/issues/179)
## [6.40.0](https://github.com/structured-world/gitlab-mcp/compare/v6.39.0...v6.40.0) (2026-01-24)
### Features
* **config:** GITLAB_CROSS_REFS toggle for Related description hints ([#174](https://github.com/structured-world/gitlab-mcp/issues/174)) ([871dc6c](https://github.com/structured-world/gitlab-mcp/commit/871dc6cf6bfcabddb00df83499db82e8a36b9c20)), closes [#170](https://github.com/structured-world/gitlab-mcp/issues/170)
### Bug Fixes
* **docs:** reorder MCPB download before VitePress build ([#176](https://github.com/structured-world/gitlab-mcp/issues/176)) ([b4c1205](https://github.com/structured-world/gitlab-mcp/commit/b4c1205405be2a0d288300900091fd86c0af4a1d))
## [6.39.0](https://github.com/structured-world/gitlab-mcp/compare/v6.38.1...v6.39.0) (2026-01-24)
### Features
* **descriptions:** intent-first tool descriptions with dynamic Related resolution ([#172](https://github.com/structured-world/gitlab-mcp/issues/172)) ([065e53b](https://github.com/structured-world/gitlab-mcp/commit/065e53bd53177b0696aed00abaf7a843dda9c58d)), closes [#169](https://github.com/structured-world/gitlab-mcp/issues/169)
## [6.38.1](https://github.com/structured-world/gitlab-mcp/compare/v6.38.0...v6.38.1) (2026-01-24)
### Bug Fixes
* **docs:** add Codecov badge and always generate VitePress report ([#168](https://github.com/structured-world/gitlab-mcp/issues/168)) ([2e5e004](https://github.com/structured-world/gitlab-mcp/commit/2e5e0042b1870f91b4a942dc37d59e6702ce561a)), closes [#167](https://github.com/structured-world/gitlab-mcp/issues/167)
## [6.38.0](https://github.com/structured-world/gitlab-mcp/compare/v6.37.0...v6.38.0) (2026-01-24)
### Features
* **tools:** consolidate legacy tool names into CQRS pattern ([#149](https://github.com/structured-world/gitlab-mcp/issues/149)) ([#166](https://github.com/structured-world/gitlab-mcp/issues/166)) ([82718ab](https://github.com/structured-world/gitlab-mcp/commit/82718abd4646f0c5f9634f19c951d80d6bdb124c))
## [6.37.0](https://github.com/structured-world/gitlab-mcp/compare/v6.36.0...v6.37.0) (2026-01-24)
### Features
* **workitems:** extend manage_work_item with date, time tracking, and tier-specific widgets ([#163](https://github.com/structured-world/gitlab-mcp/issues/163)) ([d63a757](https://github.com/structured-world/gitlab-mcp/commit/d63a757c3cb1d0a7eddecae6612aeace2d39e849)), closes [#135](https://github.com/structured-world/gitlab-mcp/issues/135)
## [6.36.0](https://github.com/structured-world/gitlab-mcp/compare/v6.35.0...v6.36.0) (2026-01-23)
### Features
* **availability:** extend tier matrix with per-parameter gating ([#150](https://github.com/structured-world/gitlab-mcp/issues/150)) ([1ae98c8](https://github.com/structured-world/gitlab-mcp/commit/1ae98c88bf4d8059befd81144d3bd66559c6f191)), closes [#136](https://github.com/structured-world/gitlab-mcp/issues/136) [#143](https://github.com/structured-world/gitlab-mcp/issues/143) [#125](https://github.com/structured-world/gitlab-mcp/issues/125)
## [6.35.0](https://github.com/structured-world/gitlab-mcp/compare/v6.34.1...v6.35.0) (2026-01-23)
### Features
* **docs:** add sponsor heart icon and donate page ([#161](https://github.com/structured-world/gitlab-mcp/issues/161)) ([e0d68bd](https://github.com/structured-world/gitlab-mcp/commit/e0d68bde3748cc515c996dc00443971ae6e3ab1f)), closes [#160](https://github.com/structured-world/gitlab-mcp/issues/160)
## [6.34.1](https://github.com/structured-world/gitlab-mcp/compare/v6.34.0...v6.34.1) (2026-01-23)
### Bug Fixes
* **docs:** inline constants removed with dead code cleanup ([#158](https://github.com/structured-world/gitlab-mcp/issues/158)) ([c93585f](https://github.com/structured-world/gitlab-mcp/commit/c93585f74780efdcdee31db2a699e0f74d2d9e0d)), closes [#157](https://github.com/structured-world/gitlab-mcp/issues/157)
## [6.34.0](https://github.com/structured-world/gitlab-mcp/compare/v6.33.3...v6.34.0) (2026-01-23)
### Features
* **docs:** migrate domain, add branding assets, remove dead code ([#156](https://github.com/structured-world/gitlab-mcp/issues/156)) ([ce8f18f](https://github.com/structured-world/gitlab-mcp/commit/ce8f18f6e64570655f4655ab0a16d415a701b4ec)), closes [#145](https://github.com/structured-world/gitlab-mcp/issues/145)
## [6.33.3](https://github.com/structured-world/gitlab-mcp/compare/v6.33.2...v6.33.3) (2026-01-23)
### Bug Fixes
* **docs:** migrate domain from docs.gitlab-mcp to gitlab-mcp.sw.foundation ([#155](https://github.com/structured-world/gitlab-mcp/issues/155)) ([42ebef3](https://github.com/structured-world/gitlab-mcp/commit/42ebef33505a52fa7af1697c5f5d5217d259b0ca)), closes [#145](https://github.com/structured-world/gitlab-mcp/issues/145) [PKCS#1](https://github.com/structured-world/PKCS/issues/1) [PKCS#8](https://github.com/structured-world/PKCS/issues/8) [PKCS#1](https://github.com/structured-world/PKCS/issues/1) [PKCS#8](https://github.com/structured-world/PKCS/issues/8) [#153](https://github.com/structured-world/gitlab-mcp/issues/153)
## [6.33.2](https://github.com/structured-world/gitlab-mcp/compare/v6.33.1...v6.33.2) (2026-01-23)
### Bug Fixes
* **docs:** deploy bug report API as CF Worker + improve widget & layout ([#154](https://github.com/structured-world/gitlab-mcp/issues/154)) ([e8284bc](https://github.com/structured-world/gitlab-mcp/commit/e8284bce4d521f8e85e76f203ee53a0697b442e4)), closes [#145](https://github.com/structured-world/gitlab-mcp/issues/145) [PKCS#1](https://github.com/structured-world/PKCS/issues/1) [PKCS#8](https://github.com/structured-world/PKCS/issues/8) [PKCS#1](https://github.com/structured-world/PKCS/issues/1) [PKCS#8](https://github.com/structured-world/PKCS/issues/8) [#153](https://github.com/structured-world/gitlab-mcp/issues/153)
## [6.33.1](https://github.com/structured-world/gitlab-mcp/compare/v6.33.0...v6.33.1) (2026-01-23)
### Bug Fixes
* **deps:** resolve esbuild CORS vulnerability (GHSA-67mh-4wv8-2f99) ([#152](https://github.com/structured-world/gitlab-mcp/issues/152)) ([b1e0c3a](https://github.com/structured-world/gitlab-mcp/commit/b1e0c3ad0fc0534449075c63cac7511450d89d52)), closes [#151](https://github.com/structured-world/gitlab-mcp/issues/151)
## [6.33.0](https://github.com/structured-world/gitlab-mcp/compare/v6.32.0...v6.33.0) (2026-01-23)
### Features
* **docs:** add "Report a Bug" feedback widget to documentation site ([#148](https://github.com/structured-world/gitlab-mcp/issues/148)) ([00ff2ed](https://github.com/structured-world/gitlab-mcp/commit/00ff2ed45a59bec97b5f187cc17fc473bb06926d)), closes [#145](https://github.com/structured-world/gitlab-mcp/issues/145) [PKCS#1](https://github.com/structured-world/PKCS/issues/1) [PKCS#8](https://github.com/structured-world/PKCS/issues/8) [PKCS#1](https://github.com/structured-world/PKCS/issues/1) [PKCS#8](https://github.com/structured-world/PKCS/issues/8)
## [6.32.0](https://github.com/structured-world/gitlab-mcp/compare/v6.31.2...v6.32.0) (2026-01-23)
### Features
* **availability:** use WidgetAvailability for version-based widget validation ([#140](https://github.com/structured-world/gitlab-mcp/issues/140)) ([66e0215](https://github.com/structured-world/gitlab-mcp/commit/66e0215d08d25afa90cb9463113c1a59e06dc6c9)), closes [#137](https://github.com/structured-world/gitlab-mcp/issues/137) [#132](https://github.com/structured-world/gitlab-mcp/issues/132) [#129](https://github.com/structured-world/gitlab-mcp/issues/129) [#135](https://github.com/structured-world/gitlab-mcp/issues/135)
## [6.31.2](https://github.com/structured-world/gitlab-mcp/compare/v6.31.1...v6.31.2) (2026-01-23)
### Bug Fixes
* **transport:** add SSE keepalive and configure HTTP server timeouts for proxy chain ([#147](https://github.com/structured-world/gitlab-mcp/issues/147)) ([382490b](https://github.com/structured-world/gitlab-mcp/commit/382490be0df8147991af7d99000cfb27b9a3ca41)), closes [#139](https://github.com/structured-world/gitlab-mcp/issues/139)
## [6.31.1](https://github.com/structured-world/gitlab-mcp/compare/v6.31.0...v6.31.1) (2026-01-23)
### Bug Fixes
* **transport:** single Server instance causes response routing to wrong clients ([#141](https://github.com/structured-world/gitlab-mcp/issues/141)) ([86f5317](https://github.com/structured-world/gitlab-mcp/commit/86f5317f7d6cca446d9641bf052b4b3d3001f19c)), closes [#138](https://github.com/structured-world/gitlab-mcp/issues/138)
## [6.31.0](https://github.com/structured-world/gitlab-mcp/compare/v6.30.1...v6.31.0) (2026-01-23)
### Features
* **cli:** add unified setup wizard consolidating init/install/docker flows ([#132](https://github.com/structured-world/gitlab-mcp/issues/132)) ([ae5d009](https://github.com/structured-world/gitlab-mcp/commit/ae5d0095736b5201dd74d2c606684b32c734e44b)), closes [#129](https://github.com/structured-world/gitlab-mcp/issues/129)
## [6.30.1](https://github.com/structured-world/gitlab-mcp/compare/v6.30.0...v6.30.1) (2026-01-23)
### Refactoring
* **read-only:** move read-only actions from manage_* to browse_* tools ([#142](https://github.com/structured-world/gitlab-mcp/issues/142)) ([0c325e2](https://github.com/structured-world/gitlab-mcp/commit/0c325e205b1175d4b52a9d6b61e552276a5a02c1)), closes [#134](https://github.com/structured-world/gitlab-mcp/issues/134)
## [6.30.0](https://github.com/structured-world/gitlab-mcp/compare/v6.29.1...v6.30.0) (2026-01-22)
### Features
* **fetch:** add retry logic for idempotent API operations ([#120](https://github.com/structured-world/gitlab-mcp/issues/120)) ([bc6d1ac](https://github.com/structured-world/gitlab-mcp/commit/bc6d1ac7d6fa30081eb611251814e59967ff1bea)), closes [#119](https://github.com/structured-world/gitlab-mcp/issues/119)
## [6.29.1](https://github.com/structured-world/gitlab-mcp/compare/v6.29.0...v6.29.1) (2026-01-22)
### Bug Fixes
* **cli:** add input validation and security hardening ([#128](https://github.com/structured-world/gitlab-mcp/issues/128)) ([1e6f28c](https://github.com/structured-world/gitlab-mcp/commit/1e6f28c9a1a8bfc3d12e80a57176c32c4a11c9af))
## [6.29.0](https://github.com/structured-world/gitlab-mcp/compare/v6.28.0...v6.29.0) (2026-01-22)
### Features
* **cli:** add install and docker subcommands ([#122](https://github.com/structured-world/gitlab-mcp/issues/122)) ([36d38d0](https://github.com/structured-world/gitlab-mcp/commit/36d38d02e31e3db2341799487d2942dafb6e8eea)), closes [#100](https://github.com/structured-world/gitlab-mcp/issues/100)
## [6.28.0](https://github.com/structured-world/gitlab-mcp/compare/v6.27.1...v6.28.0) (2026-01-22)
### Features
* **logging:** structured request context and rate limit debugging ([#124](https://github.com/structured-world/gitlab-mcp/issues/124)) ([e4b212d](https://github.com/structured-world/gitlab-mcp/commit/e4b212db00569d789ff3ba17f57d467d560d0f8c)), closes [#123](https://github.com/structured-world/gitlab-mcp/issues/123)
## [6.27.1](https://github.com/structured-world/gitlab-mcp/compare/v6.27.0...v6.27.1) (2026-01-22)
### Bug Fixes
* **milestones:** simplify schema to use single milestone_id field ([#121](https://github.com/structured-world/gitlab-mcp/issues/121)) ([00f93d2](https://github.com/structured-world/gitlab-mcp/commit/00f93d268a6c12cc23648d0bb7b562a9708b9d29))
## [6.27.0](https://github.com/structured-world/gitlab-mcp/compare/v6.26.1...v6.27.0) (2026-01-22)
### Features
* **schemas:** add paginationFields() utility for dynamic pagination descriptions ([#118](https://github.com/structured-world/gitlab-mcp/issues/118)) ([963b08e](https://github.com/structured-world/gitlab-mcp/commit/963b08e661d19a8e718f5336820dcb42d072d110)), closes [#117](https://github.com/structured-world/gitlab-mcp/issues/117)
## [6.26.1](https://github.com/structured-world/gitlab-mcp/compare/v6.26.0...v6.26.1) (2026-01-22)
### Bug Fixes
* **mrs:** use global API endpoints for code change proposals ([#116](https://github.com/structured-world/gitlab-mcp/issues/116)) ([891b5b1](https://github.com/structured-world/gitlab-mcp/commit/891b5b1ee3bf20d902177d950798c656fa48c993)), closes [#115](https://github.com/structured-world/gitlab-mcp/issues/115)
## [6.26.0](https://github.com/structured-world/gitlab-mcp/compare/v6.25.0...v6.26.0) (2026-01-22)
### Features
* **cli:** add interactive setup wizard (gitlab-mcp init) ([#101](https://github.com/structured-world/gitlab-mcp/issues/101)) ([cb6f080](https://github.com/structured-world/gitlab-mcp/commit/cb6f0800cc45288a5f3bba62d3148dd58e5c6791)), closes [#62](https://github.com/structured-world/gitlab-mcp/issues/62)
## [6.25.0](https://github.com/structured-world/gitlab-mcp/compare/v6.24.1...v6.25.0) (2026-01-22)
### Features
* **iid:** add IID support for work items and milestones ([#102](https://github.com/structured-world/gitlab-mcp/issues/102)) ([513e9ce](https://github.com/structured-world/gitlab-mcp/commit/513e9ce299d9539c13d462af45c3626b01ed48f4)), closes [#99](https://github.com/structured-world/gitlab-mcp/issues/99) [#99](https://github.com/structured-world/gitlab-mcp/issues/99) [#99](https://github.com/structured-world/gitlab-mcp/issues/99) [#99](https://github.com/structured-world/gitlab-mcp/issues/99)
## [6.24.1](https://github.com/structured-world/gitlab-mcp/compare/v6.24.0...v6.24.1) (2026-01-21)
### Bug Fixes
* **mrs:** add default per_page=20 to browse_mr_discussions ([#98](https://github.com/structured-world/gitlab-mcp/issues/98)) ([4819a8c](https://github.com/structured-world/gitlab-mcp/commit/4819a8c58016bd3cf929a5ef0eeb7bfe57e7a97d)), closes [#97](https://github.com/structured-world/gitlab-mcp/issues/97)
## [6.24.0](https://github.com/structured-world/gitlab-mcp/compare/v6.23.2...v6.24.0) (2026-01-21)
### Features
* **context:** add manage_context CQRS tool for runtime session management ([#96](https://github.com/structured-world/gitlab-mcp/issues/96)) ([5108186](https://github.com/structured-world/gitlab-mcp/commit/5108186688ae43fa29f39a7aabf8af3276866978)), closes [#58](https://github.com/structured-world/gitlab-mcp/issues/58)
## [6.23.2](https://github.com/structured-world/gitlab-mcp/compare/v6.23.1...v6.23.2) (2026-01-21)
### Bug Fixes
* **mrs:** use bracket notation for position in form-encoded requests ([#95](https://github.com/structured-world/gitlab-mcp/issues/95)) ([02b9ae7](https://github.com/structured-world/gitlab-mcp/commit/02b9ae75b3b3cf17f4ef5b626768f81e68217ba5))
## [6.23.1](https://github.com/structured-world/gitlab-mcp/compare/v6.23.0...v6.23.1) (2026-01-21)
### Bug Fixes
* **workitems:** normalize legacy GIDs and improve ID field descriptions ([#92](https://github.com/structured-world/gitlab-mcp/issues/92)) ([54db7de](https://github.com/structured-world/gitlab-mcp/commit/54db7de2f75b4d653b39296d9121d7ad5e86cef1)), closes [#90](https://github.com/structured-world/gitlab-mcp/issues/90)
## [6.23.0](https://github.com/structured-world/gitlab-mcp/compare/v6.22.0...v6.23.0) (2026-01-21)
### Features
* **search:** add global search entity with CQRS browse_search tool ([#93](https://github.com/structured-world/gitlab-mcp/issues/93)) ([90aecdc](https://github.com/structured-world/gitlab-mcp/commit/90aecdcc2f4b36672a2fa093e15a5e69eaef02be)), closes [#82](https://github.com/structured-world/gitlab-mcp/issues/82)
## [6.22.0](https://github.com/structured-world/gitlab-mcp/compare/v6.21.0...v6.22.0) (2026-01-21)
### Features
* **members:** add members management entity with CQRS tools ([#89](https://github.com/structured-world/gitlab-mcp/issues/89)) ([aa0924d](https://github.com/structured-world/gitlab-mcp/commit/aa0924d774b262ebc76a997a1400b7b1b694308e)), closes [#81](https://github.com/structured-world/gitlab-mcp/issues/81)
## [6.21.0](https://github.com/structured-world/gitlab-mcp/compare/v6.20.0...v6.21.0) (2026-01-21)
### Features
* **refs:** add refs management entity with CQRS tools ([#88](https://github.com/structured-world/gitlab-mcp/issues/88)) ([852cccc](https://github.com/structured-world/gitlab-mcp/commit/852ccccb161d675794605a3469a24d92b395c51d)), closes [#83](https://github.com/structured-world/gitlab-mcp/issues/83)
## [6.20.0](https://github.com/structured-world/gitlab-mcp/compare/v6.19.0...v6.20.0) (2026-01-21)
### Features
* **releases:** add releases management entity with CQRS tools ([#87](https://github.com/structured-world/gitlab-mcp/issues/87)) ([a38ad60](https://github.com/structured-world/gitlab-mcp/commit/a38ad608d6bbc0d1fd9cd1afc16cb6acb48b5433)), closes [#78](https://github.com/structured-world/gitlab-mcp/issues/78)
## [6.19.0](https://github.com/structured-world/gitlab-mcp/compare/v6.18.0...v6.19.0) (2026-01-21)
### Features
* **mrs:** add MR approval and discussion management actions ([#86](https://github.com/structured-world/gitlab-mcp/issues/86)) ([8e719ff](https://github.com/structured-world/gitlab-mcp/commit/8e719ffd4c78a8da093a0b6770ddfe1f375128f5)), closes [#76](https://github.com/structured-world/gitlab-mcp/issues/76)
## [6.18.0](https://github.com/structured-world/gitlab-mcp/compare/v6.17.0...v6.18.0) (2026-01-21)
### Features
* **errors:** add structured error handling with tier awareness ([#75](https://github.com/structured-world/gitlab-mcp/issues/75)) ([2b5088c](https://github.com/structured-world/gitlab-mcp/commit/2b5088c2e7b13e27d1cb2228c109b6f3ce7b42f9)), closes [#50](https://github.com/structured-world/gitlab-mcp/issues/50) [#50](https://github.com/structured-world/gitlab-mcp/issues/50)
* **mrs:** implement GitLab Suggestions API integration ([#70](https://github.com/structured-world/gitlab-mcp/issues/70)) ([b9ca090](https://github.com/structured-world/gitlab-mcp/commit/b9ca09094abe986a1048e2a243ed2f2a8d4d4c95)), closes [#66](https://github.com/structured-world/gitlab-mcp/issues/66)
* **tiers:** add action-level tier requirements for consolidated tools ([#77](https://github.com/structured-world/gitlab-mcp/issues/77)) ([8e5ae0e](https://github.com/structured-world/gitlab-mcp/commit/8e5ae0eaa577c2e1ab3ef168596ceeb1398962ba)), closes [#48](https://github.com/structured-world/gitlab-mcp/issues/48)
## [6.17.0](https://github.com/structured-world/gitlab-mcp/compare/v6.16.0...v6.17.0) (2026-01-20)
### Features
* **discovery:** add auto-discovery from git remote ([#67](https://github.com/structured-world/gitlab-mcp/issues/67)) ([dba44ff](https://github.com/structured-world/gitlab-mcp/commit/dba44ff20ca8d8394ef076b07b754f356c4a68e6)), closes [#57](https://github.com/structured-world/gitlab-mcp/issues/57)
## [6.16.0](https://github.com/structured-world/gitlab-mcp/compare/v6.15.0...v6.16.0) (2026-01-20)
### Features
* **profiles:** add project-level configuration support ([#65](https://github.com/structured-world/gitlab-mcp/issues/65)) ([94e8e99](https://github.com/structured-world/gitlab-mcp/commit/94e8e9907cae6e08e8498df1d16586abfc3f3b2e)), closes [#61](https://github.com/structured-world/gitlab-mcp/issues/61) [#61](https://github.com/structured-world/gitlab-mcp/issues/61)
## [6.15.0](https://github.com/structured-world/gitlab-mcp/compare/v6.14.0...v6.15.0) (2026-01-20)
### Features
* **cli:** add profile/preset inspection flags to list-tools ([#64](https://github.com/structured-world/gitlab-mcp/issues/64)) ([70f7994](https://github.com/structured-world/gitlab-mcp/commit/70f7994453f9276488ce36d8fefab9921a43a788)), closes [#56](https://github.com/structured-world/gitlab-mcp/issues/56)
## [6.14.0](https://github.com/structured-world/gitlab-mcp/compare/v6.13.0...v6.14.0) (2026-01-20)
### Features
* **profiles:** add 7 role-based presets ([#63](https://github.com/structured-world/gitlab-mcp/issues/63)) ([5f05913](https://github.com/structured-world/gitlab-mcp/commit/5f059135d5901a7fea33b5f99ca1219c71baebfb)), closes [#55](https://github.com/structured-world/gitlab-mcp/issues/55)
## [6.13.0](https://github.com/structured-world/gitlab-mcp/compare/v6.12.0...v6.13.0) (2026-01-20)
### Features
* **profiles:** add configuration profiles infrastructure ([#60](https://github.com/structured-world/gitlab-mcp/issues/60)) ([171b625](https://github.com/structured-world/gitlab-mcp/commit/171b6257ac61ceb6742efde31075acf74a6bca0a)), closes [#54](https://github.com/structured-world/gitlab-mcp/issues/54) [#54](https://github.com/structured-world/gitlab-mcp/issues/54)
## [6.12.0](https://github.com/structured-world/gitlab-mcp/compare/v6.11.0...v6.12.0) (2026-01-20)
### Features
* **cli:** add --env-gates flag to list-tools for USE_* documentation ([#59](https://github.com/structured-world/gitlab-mcp/issues/59)) ([579c682](https://github.com/structured-world/gitlab-mcp/commit/579c682e1276cc7034c38b00b2043d7bdc86920b)), closes [#53](https://github.com/structured-world/gitlab-mcp/issues/53)
## [6.11.0](https://github.com/structured-world/gitlab-mcp/compare/v6.10.0...v6.11.0) (2026-01-20)
### Features
* **schema:** add auto-detection schema mode from clientInfo ([#52](https://github.com/structured-world/gitlab-mcp/issues/52)) ([9ec6368](https://github.com/structured-world/gitlab-mcp/commit/9ec6368c7431e95b0d83851462e267575d3118af)), closes [#49](https://github.com/structured-world/gitlab-mcp/issues/49)
## [6.10.0](https://github.com/structured-world/gitlab-mcp/compare/v6.9.0...v6.10.0) (2026-01-20)
### Features
* **docs:** add --export flag to list-tools for TOOLS.md generation ([#51](https://github.com/structured-world/gitlab-mcp/issues/51)) ([25f5393](https://github.com/structured-world/gitlab-mcp/commit/25f53933240a11111e89247ea39e5acdd598f899)), closes [#47](https://github.com/structured-world/gitlab-mcp/issues/47) [#49](https://github.com/structured-world/gitlab-mcp/issues/49)
## [6.9.0](https://github.com/structured-world/gitlab-mcp/compare/v6.8.0...v6.9.0) (2026-01-19)
### Features
* **schema:** add dynamic action filtering with schema transformation pipeline ([#44](https://github.com/structured-world/gitlab-mcp/issues/44)) ([10069c9](https://github.com/structured-world/gitlab-mcp/commit/10069c9398d46e566a8788ece883ecc32098510e)), closes [#32](https://github.com/structured-world/gitlab-mcp/issues/32) [#32](https://github.com/structured-world/gitlab-mcp/issues/32)
## [6.8.0](https://github.com/structured-world/gitlab-mcp/compare/v6.7.0...v6.8.0) (2026-01-19)
### Features
* **integrations:** Add project integrations management entity ([#38](https://github.com/structured-world/gitlab-mcp/issues/38)) ([7e68150](https://github.com/structured-world/gitlab-mcp/commit/7e681505973ad10e50bfe68b4c857a491c363cc8)), closes [#7](https://github.com/structured-world/gitlab-mcp/issues/7)
## [6.7.0](https://github.com/structured-world/gitlab-mcp/compare/v6.6.0...v6.7.0) (2026-01-19)
### Features
* **snippets:** Add snippets management entity with consolidated tools ([#39](https://github.com/structured-world/gitlab-mcp/issues/39)) ([6ebbbe1](https://github.com/structured-world/gitlab-mcp/commit/6ebbbe1a0ab26e961fbecbdddf20ec109b9c620e))
## [6.6.0](https://github.com/structured-world/gitlab-mcp/compare/v6.5.0...v6.6.0) (2026-01-19)
### Features
* **variables:** consolidate 5 CI/CD variable tools into 2 CQRS tools ([#43](https://github.com/structured-world/gitlab-mcp/issues/43)) ([4b6b82a](https://github.com/structured-world/gitlab-mcp/commit/4b6b82a79d2388ffde045db1f9dcc106cc16ac4d)), closes [#9](https://github.com/structured-world/gitlab-mcp/issues/9)
## [6.5.0](https://github.com/structured-world/gitlab-mcp/compare/v6.4.1...v6.5.0) (2026-01-19)
### Features
* **labels:** consolidate 5 label tools into 2 CQRS tools ([fc18e60](https://github.com/structured-world/gitlab-mcp/commit/fc18e60cac2bdaedf88710bf2308b0cbbc8e2664)), closes [#8](https://github.com/structured-world/gitlab-mcp/issues/8)
* **webhooks:** Add webhooks management entity with action-based CRUD ([#35](https://github.com/structured-world/gitlab-mcp/issues/35)) ([2b7761d](https://github.com/structured-world/gitlab-mcp/commit/2b7761d2845b4415d09100e8c437d79048a9e4ff))
## [6.4.1](https://github.com/structured-world/gitlab-mcp/compare/v6.4.0...v6.4.1) (2026-01-19)
### Bug Fixes
* **ci:** handle null values from jq in coverage report formatting ([5621352](https://github.com/structured-world/gitlab-mcp/commit/56213521b541e17baa5d845312a8d7527c25515c))
* conditionally append % to coverage metrics, avoiding N/A% ([b984c75](https://github.com/structured-world/gitlab-mcp/commit/b984c756e78fbac1fd5f23cbc0cf5f76a829aac6))
## [6.4.0](https://github.com/structured-world/gitlab-mcp/compare/v6.3.1...v6.4.0) (2026-01-19)
### Features
* **wiki:** consolidate 5 wiki tools into 2 CQRS tools ([9185496](https://github.com/structured-world/gitlab-mcp/commit/918549658d75b53553c39b164a47edac336ecfd8)), closes [#10](https://github.com/structured-world/gitlab-mcp/issues/10)
## [6.3.1](https://github.com/structured-world/gitlab-mcp/compare/v6.3.0...v6.3.1) (2026-01-19)
### Bug Fixes
* **ci:** use JSON summary for coverage report percentages ([07f05ca](https://github.com/structured-world/gitlab-mcp/commit/07f05caf842c406bf88039147378f79a586b3c32))
## [6.3.0](https://github.com/structured-world/gitlab-mcp/compare/v6.2.3...v6.3.0) (2026-01-19)
### Features
* **milestones:** consolidate 9 milestone tools into 2 CQRS tools ([2d054dd](https://github.com/structured-world/gitlab-mcp/commit/2d054ddf86842dd845cebe11096e6e460f6f708c)), closes [#13](https://github.com/structured-world/gitlab-mcp/issues/13)
## [6.2.3](https://github.com/structured-world/gitlab-mcp/compare/v6.2.2...v6.2.3) (2026-01-19)
### Refactoring
* **core:** convert remaining discriminated unions to flat schemas ([32efcdc](https://github.com/structured-world/gitlab-mcp/commit/32efcdc52a1cf5e4792f2dbb8086ad88181c2d32))
* **files:** remove unnecessary Uint8Array wrapper ([322bc4b](https://github.com/structured-world/gitlab-mcp/commit/322bc4b927e0823954f864d2396b8fb713c76366))
* **schemas:** convert CQRS schemas from discriminated unions to flat schemas ([f934cfd](https://github.com/structured-world/gitlab-mcp/commit/f934cfdfb10be98a3c8db790c940c1ba8c781077)), closes [#29](https://github.com/structured-world/gitlab-mcp/issues/29)
## [6.2.2](https://github.com/structured-world/gitlab-mcp/compare/v6.2.1...v6.2.2) (2026-01-19)
### Refactoring
* **schemas:** replace z.coerce.string() with requiredId for all required ID fields ([3461cfb](https://github.com/structured-world/gitlab-mcp/commit/3461cfbc3fba458d1e1fc03ea2b33ea7c4e20c6b)), closes [#27](https://github.com/structured-world/gitlab-mcp/issues/27)
## [6.2.1](https://github.com/structured-world/gitlab-mcp/compare/v6.2.0...v6.2.1) (2026-01-19)
### Bug Fixes
* **pipelines:** add proper validation for required ID fields ([bd8f431](https://github.com/structured-world/gitlab-mcp/commit/bd8f43140c7cd7b15665d00d19bec5a170aea153))
* **utils:** use nullish coalescing for requiredId helper ([9a7c395](https://github.com/structured-world/gitlab-mcp/commit/9a7c3950e2bf5db35231739e6a656b8133c0a359))
### Refactoring
* **pipelines:** consolidate 12 tools into 3 CQRS tools ([85de70f](https://github.com/structured-world/gitlab-mcp/commit/85de70ffd444be036ac795ba1d8774235ecc4e8d)), closes [#14](https://github.com/structured-world/gitlab-mcp/issues/14)
## [6.2.0](https://github.com/structured-world/gitlab-mcp/compare/v6.1.0...v6.2.0) (2026-01-19)
### Features
* **workitems:** consolidate 5 work item tools into 2 CQRS tools ([#11](https://github.com/structured-world/gitlab-mcp/issues/11)) ([cd12ffc](https://github.com/structured-world/gitlab-mcp/commit/cd12ffc25911d7f761515089bf1746d72719f931))
### Bug Fixes
* **tests:** make Todos tests resilient to GitLab API variations ([c51f997](https://github.com/structured-world/gitlab-mcp/commit/c51f997ac31a3198573cb77dba9c64c37d836d46))
* **tests:** update integration tests to use CQRS tool names ([32b88fb](https://github.com/structured-world/gitlab-mcp/commit/32b88fbd0693757acc176e2f5b4488ffce4e5aea))
* **workitems:** remove unused 'active' parameter from work items schema ([99a91f3](https://github.com/structured-world/gitlab-mcp/commit/99a91f3435cd544496659753161e5955fcaabd05))
* **workitems:** update comment to reflect CQRS tool name ([f9dc19b](https://github.com/structured-world/gitlab-mcp/commit/f9dc19be4e0f9c07f9641ef03af1601e75f5390d))
## [6.1.0](https://github.com/structured-world/gitlab-mcp/compare/v6.0.0...v6.1.0) (2026-01-19)
### β BREAKING CHANGES
* **mrs:** Individual MR tools replaced with action-based CQRS tools
### Features
* **mrs:** consolidate 20 MR tools into 5 CQRS tools ([#15](https://github.com/structured-world/gitlab-mcp/issues/15)) ([ec06fae](https://github.com/structured-world/gitlab-mcp/commit/ec06faefd5f59b9577dc4fc48045cf0e0205ea0d))
### Bug Fixes
* **mrs:** address PR [#23](https://github.com/structured-world/gitlab-mcp/issues/23) review comments and increase coverage ([0e6410b](https://github.com/structured-world/gitlab-mcp/commit/0e6410b045fca8b7c54ebf1de9471849e33b4ff4)), closes [#12](https://github.com/structured-world/gitlab-mcp/issues/12) [#19](https://github.com/structured-world/gitlab-mcp/issues/19) [#20](https://github.com/structured-world/gitlab-mcp/issues/20)
* **mrs:** address PR review comments from Copilot ([#23](https://github.com/structured-world/gitlab-mcp/issues/23)) ([1905ac4](https://github.com/structured-world/gitlab-mcp/commit/1905ac46ab2161d6c961429dd1a557ee1964f752))
# [6.0.0](https://github.com/structured-world/gitlab-mcp/compare/v5.8.0...v6.0.0) (2026-01-19)
* feat(files)!: CQRS consolidation - 5 tools to 2 tools ([b29c0c8](https://github.com/structured-world/gitlab-mcp/commit/b29c0c8c6b6c247401c7f45bb0c1cfe51a6c297c)), closes [#12](https://github.com/structured-world/gitlab-mcp/issues/12)
### Bug Fixes
* address additional Copilot review comments ([8759662](https://github.com/structured-world/gitlab-mcp/commit/8759662e99976402b2b94b38b59d9c2b75a2289e))
* address Copilot review comments and lockfile bin path ([ca376c1](https://github.com/structured-world/gitlab-mcp/commit/ca376c1adbbfabc1af144996a5851c16825061ef))
* **build:** include prisma generate in build script for Docker compatibility ([3a094be](https://github.com/structured-world/gitlab-mcp/commit/3a094be9793b82fa83ce591032f78039880d9820))
* **ci:** add Prisma client generation to ci-cd workflow ([7f11e80](https://github.com/structured-world/gitlab-mcp/commit/7f11e80f0d30f7c11af4128143492ecfd79a9894))
* **ci:** add Prisma dependencies and generate step to workflows ([76e2233](https://github.com/structured-world/gitlab-mcp/commit/76e22335dccf19162ad6dc7f94778c362a36c4d4))
* **ci:** use GitHub App token for semantic-release to bypass branch protection ([c8a6e1a](https://github.com/structured-world/gitlab-mcp/commit/c8a6e1acdee1c5a69b19cc535d135fb1e16b5a46))
* **core:** address PR review feedback from Copilot ([b664354](https://github.com/structured-world/gitlab-mcp/commit/b664354ee7329e6d2bfd892456eb3a211580966e))
* **deps:** add prisma generate to postinstall script ([1c41931](https://github.com/structured-world/gitlab-mcp/commit/1c41931edb2686e7313e27431d7e03d8f1f36746))
* **deps:** make postinstall conditional for Docker compatibility ([185a9a3](https://github.com/structured-world/gitlab-mcp/commit/185a9a3137a49704fcdc09f4571c794cbab77687))
* **docker:** copy prisma schema to builder stage ([42200fd](https://github.com/structured-world/gitlab-mcp/commit/42200fde71acae5c534ef940f3bd430399d031f8))
* **files:** make batch file content required per API spec ([7a0ff07](https://github.com/structured-world/gitlab-mcp/commit/7a0ff07b7e26e04e05cc12e0cd8a5ba6fe087c84))
* restore STDIO transport mode and use yarn for prisma ([0fadedf](https://github.com/structured-world/gitlab-mcp/commit/0fadedf284eb2e4c735284220332bfe0d5627f5a))
* **security:** add CodeQL suppression for rate limiting false positives ([a1be5c4](https://github.com/structured-world/gitlab-mcp/commit/a1be5c455bdfa2b9659e9456a74df3018fe2ca84))
* **tests:** add todos to TestDataState and remove unused import ([f170a95](https://github.com/structured-world/gitlab-mcp/commit/f170a95eb0c7b74c478451e720ef3a3c0b0fdd12))
* **types:** resolve TypeScript errors in server-launcher.ts ([c06a097](https://github.com/structured-world/gitlab-mcp/commit/c06a09739aacaed3424bcd9f49ddffe2b0f93292))
### Features
* **core:** add todos data lifecycle tests and address Copilot review feedback ([b909916](https://github.com/structured-world/gitlab-mcp/commit/b9099168389e75c531f42066be97788754d3a8cb))
* **core:** add todos tools and CQRS consolidation ([#4](https://github.com/structured-world/gitlab-mcp/issues/4), [#16](https://github.com/structured-world/gitlab-mcp/issues/16)) ([d6fc3ee](https://github.com/structured-world/gitlab-mcp/commit/d6fc3eebc266742f07cb5e52bec5a5b324b892f3))
* **security:** add rate limiting middleware for anonymous requests ([234a412](https://github.com/structured-world/gitlab-mcp/commit/234a4122200ae3243dbca6494d38979704eac391)), closes [#6](https://github.com/structured-world/gitlab-mcp/issues/6) [#6](https://github.com/structured-world/gitlab-mcp/issues/6)
### Reverts
* remove custom CodeQL workflow due to SARIF upload conflict ([aa47e12](https://github.com/structured-world/gitlab-mcp/commit/aa47e12eb0ebb61d71980efbb6b075834819d139))
### BREAKING CHANGES
* Replace 5 individual file tools with 2 CQRS-aligned tools
Migration guide:
- get_repository_tree β browse_files with action: "tree"
- get_file_contents β browse_files with action: "content"
- create_or_update_file β manage_files with action: "single"
- push_files β manage_files with action: "batch"
- upload_markdown β manage_files with action: "upload"
Changes:
- Add BrowseFilesSchema with discriminated union (tree/content actions)
- Add ManageFilesSchema with discriminated union (single/batch/upload actions)
- Replace filesToolRegistry with 2 consolidated tools
- Update read-only tools list to only include browse_files
- Update unit tests for new tool structure
# [5.8.0](https://github.com/structured-world/gitlab-mcp/compare/v5.7.0...v5.8.0) (2025-11-26)
### Bug Fixes
* **handlers:** handle 204 No Content responses and FormData uploads ([8ecc3ef](https://github.com/structured-world/gitlab-mcp/commit/8ecc3ef86873661e8fcc4ae04c2c27b7174b784b))
### Features
* **deps:** upgrade Zod from v3 to v4 with native JSON Schema generation ([e605eef](https://github.com/structured-world/gitlab-mcp/commit/e605eefedd87d0861ade2e1e58c1a251ef86edeb))
* **fetch:** add Node.js v24 compatibility with Undici dispatcher pattern ([da74392](https://github.com/structured-world/gitlab-mcp/commit/da74392e216a2641197bf39a4f1d848fa6d2fe7e))
* **oauth:** add OAuth 2.1 authentication with GitLab Device Flow ([3d6d34d](https://github.com/structured-world/gitlab-mcp/commit/3d6d34d729de1e448fbe27816c30efbe58fb22fa))
* **server:** add TLS/HTTPS support with reverse proxy configuration ([4203e17](https://github.com/structured-world/gitlab-mcp/commit/4203e170479348e13556143ff37cd308fa21c5d7))
# [5.7.0](https://github.com/structured-world/gitlab-mcp/compare/v5.6.1...v5.7.0) (2025-09-23)
### Bug Fixes
* **files:** correct get_file_contents API endpoint and response handling ([62fb9f8](https://github.com/structured-world/gitlab-mcp/commit/62fb9f8f5bc0fabab2982382309449c6c975c6fa))
### Features
* **tests:** improve unit test coverage from 88.48% to 90.34% ([62d0f5b](https://github.com/structured-world/gitlab-mcp/commit/62d0f5b5a88143e397ebcc62139efea2a584d57c))
## [5.6.1](https://github.com/structured-world/gitlab-mcp/compare/v5.6.0...v5.6.1) (2025-09-23)
### Bug Fixes
* **core:** clarify verify_namespace tool description for agentic usage ([2871398](https://github.com/structured-world/gitlab-mcp/commit/2871398b177875a6ca70128dcc2eca0c87fed94a))
# [5.6.0](https://github.com/structured-world/gitlab-mcp/compare/v5.5.0...v5.6.0) (2025-09-21)
### Features
* **variables:** enhance error handling and improve masking documentation ([e39dc51](https://github.com/structured-world/gitlab-mcp/commit/e39dc51909b31a69bd332a1e389824a00524d17e))
# [5.5.0](https://github.com/structured-world/gitlab-mcp/compare/v5.4.0...v5.5.0) (2025-09-21)
### Features
* **test:** improve unit test coverage and pipeline job output limits ([cf5dd75](https://github.com/structured-world/gitlab-mcp/commit/cf5dd755b1b57ceaa896d5f2ba80aad971066501))
# [5.4.0](https://github.com/structured-world/gitlab-mcp/compare/v5.3.0...v5.4.0) (2025-09-21)
### Features
* enhance pipeline job output handling and improve test coverage ([86be293](https://github.com/structured-world/gitlab-mcp/commit/86be293043e4ab30fc327c933fc31a87065806ec))
# [5.3.0](https://github.com/structured-world/gitlab-mcp/compare/v5.2.0...v5.3.0) (2025-09-21)
### Features
* fix double URL encoding issue and improve pipeline API compliance ([dc886d9](https://github.com/structured-world/gitlab-mcp/commit/dc886d946119a8de5324bd32c0ae95a5a241b1ee))
# [5.2.0](https://github.com/structured-world/gitlab-mcp/compare/v5.1.0...v5.2.0) (2025-09-19)
### Features
* comprehensive project cleanup and test verification ([5815eb8](https://github.com/structured-world/gitlab-mcp/commit/5815eb8888affe1e9412e11229bd9ed5902b4077))
* move test_mcp.sh to scripts directory and update documentation ([71a24d5](https://github.com/structured-world/gitlab-mcp/commit/71a24d54e3e768f720851a05125c5659ef22a1de))
# [5.1.0](https://github.com/structured-world/gitlab-mcp/compare/v5.0.0...v5.1.0) (2025-09-19)
### Features
* establish v5.0.0 baseline for semantic versioning ([f5ac7a5](https://github.com/structured-world/gitlab-mcp/commit/f5ac7a50df9c6f8bff723824ab0e7bdf392fea6b))
# 1.0.0 (2025-09-19)
### Bug Fixes
* add `expanded` to `start` and `end` for GitLabDiscussionNoteSchema ([5024a2a](https://github.com/structured-world/gitlab-mcp/commit/5024a2a5afb138b2fcd76407edf414bdec6a76f2))
* add `expanded` to `start` and `end` for GitLabDiscussionNoteSchema ([d99c483](https://github.com/structured-world/gitlab-mcp/commit/d99c483ab33bdbd368d804cf68e79f008f026c41))
* add package-lock.json to .gitignore ([067586c](https://github.com/structured-world/gitlab-mcp/commit/067586c665bd81ad4695c2fbbab5582b67e77cb2))
* add package-lock.json to .gitignore ([e7e49f0](https://github.com/structured-world/gitlab-mcp/commit/e7e49f0a93c8c0d542843f4a7c2d0a7d8481b674))
* avoid error caused by line_range: null in discussion ([d50b7fd](https://github.com/structured-world/gitlab-mcp/commit/d50b7fd1ac01802889bd383e39d767378204aa66))
* avoid error caused by line_range: null in discussion ([ac2cee2](https://github.com/structured-world/gitlab-mcp/commit/ac2cee27629f5833d1251dc097742c8576e44b5a))
* Correct formatting of GITLAB_API_URL environment variable in README ([06598d7](https://github.com/structured-world/gitlab-mcp/commit/06598d7adb98b146ae2a36a2cf8bcf807f59b465))
* Correct formatting of GITLAB_API_URL environment variable in README ([83f395d](https://github.com/structured-world/gitlab-mcp/commit/83f395df0547875381da5f0ab5892e34d1ef7bf0))
* fix README ([f4b265b](https://github.com/structured-world/gitlab-mcp/commit/f4b265bf2eaca6960e28aa6b444dda25b0ed596e))
* fix README ([7323405](https://github.com/structured-world/gitlab-mcp/commit/73234055d2c3785eec03ee0f2b3c835ed741eca8))
* GitHub Actions workflow syntax errors ([6d6110c](https://github.com/structured-world/gitlab-mcp/commit/6d6110c78bcef3987799c98a9fd48241236e7cf7))
* GitHub Actions workflow syntax errors ([55d9a5e](https://github.com/structured-world/gitlab-mcp/commit/55d9a5e3103f2b9f1ff17c7c56f17c52ad3ffea4))
* improve error handling for GitLab API rate limit exceeded ([11685d7](https://github.com/structured-world/gitlab-mcp/commit/11685d7a906eade7f586af1fcd08eaf270972b5e))
* improve error handling for GitLab API rate limit exceeded ([1a30d2c](https://github.com/structured-world/gitlab-mcp/commit/1a30d2ccc3abf4a7f22b07268ec207253144815c))
* **list_issues:** add hint for scope all ([478df19](https://github.com/structured-world/gitlab-mcp/commit/478df197615ce60b475bf9f27ab6ba415e3d2f04))
* **list_issues:** add hint for scope all ([aa3b2ab](https://github.com/structured-world/gitlab-mcp/commit/aa3b2ab267da609ce0e64d67a2a0282742c3848c))
* **list_issues:** make project_id optional ([b242522](https://github.com/structured-world/gitlab-mcp/commit/b2425221a6077c7fdba343e8681d1938a24d3a39))
* **list_issues:** make project_id optional ([7cd4731](https://github.com/structured-world/gitlab-mcp/commit/7cd4731cb21b5b94161ad59264b4e0b85d641eb7))
* merge_requests_template can be null ([#79](https://github.com/structured-world/gitlab-mcp/issues/79)) ([cd8f0e5](https://github.com/structured-world/gitlab-mcp/commit/cd8f0e5525a2f570d2fcb825181ca61c2ba113af))
* merge_requests_template can be null ([#79](https://github.com/structured-world/gitlab-mcp/issues/79)) ([73fdd8f](https://github.com/structured-world/gitlab-mcp/commit/73fdd8fee70e7479bfbd8ab071119bfe07884ad6))
* remove duplicate entry for get_branch_diffs in tools list ([6bc1379](https://github.com/structured-world/gitlab-mcp/commit/6bc13794c8cfe09dafa2fddeae2d05589700cac6))
* remove duplicate entry for get_branch_diffs in tools list ([8398109](https://github.com/structured-world/gitlab-mcp/commit/839810934e8ecde7a85580405b7512074a95cb81))
* rename to source branch ([7b8cbc0](https://github.com/structured-world/gitlab-mcp/commit/7b8cbc0806ed9123e033d98f4965fd6fbc532c07))
* rename to source branch ([5baa2d1](https://github.com/structured-world/gitlab-mcp/commit/5baa2d14742372571bb857c9c3cbf8299862beff))
* **schemas:** make avatar_url nullable in GitLabUserSchema ([ab571d2](https://github.com/structured-world/gitlab-mcp/commit/ab571d211de494f116a74bb403267b10e75460a8))
* **schemas:** make avatar_url nullable in GitLabUserSchema ([3f630ca](https://github.com/structured-world/gitlab-mcp/commit/3f630cac3407de2918d58fd6202dca0b61ee44fc))
* **schemas:** make illustration nullable in GitLabPipelineSchema ([40e39d7](https://github.com/structured-world/gitlab-mcp/commit/40e39d7b36362cdadcfc8315861b08484743c5d7))
* **schemas:** make illustration nullable in GitLabPipelineSchema ([87efa04](https://github.com/structured-world/gitlab-mcp/commit/87efa045868f5344699f95bb006cd6ebf86d7f65))
* Update Docker image repository name in workflow ([b97b264](https://github.com/structured-world/gitlab-mcp/commit/b97b2642c954e6cea8d3ce0c1092d04229cfd1f9))
* Update Docker image repository name in workflow ([29ac699](https://github.com/structured-world/gitlab-mcp/commit/29ac699a4c65c0c7a707c46951fa43e633d8651f))
* Update README title and remove duplicate star history chart ([92a3e95](https://github.com/structured-world/gitlab-mcp/commit/92a3e95d38048d0f4fb26a74b2bf19d95021f0a6))
* Update README title and remove duplicate star history chart ([126fa8c](https://github.com/structured-world/gitlab-mcp/commit/126fa8c2b3d79bea63748b960d8b9f6148216017))
### Features
* add branch comparison functionality and update related schemas ([c834ebc](https://github.com/structured-world/gitlab-mcp/commit/c834ebc135bf5896ab4f7982ae417f0c32d8ea42))
* add branch comparison functionality and update related schemas ([af81bd4](https://github.com/structured-world/gitlab-mcp/commit/af81bd402aeff1a6f03afcf7853d83d89231a8fe))
* add configuration files and scripts for project setup β¨ ([5b35bc1](https://github.com/structured-world/gitlab-mcp/commit/5b35bc163c3277523fbf264523601f55103d714b))
* add configuration files and scripts for project setup β¨ ([4aac7f5](https://github.com/structured-world/gitlab-mcp/commit/4aac7f576a91b14fcf7d379c5baa13df3762ef86))
* add cookie-based authentication support for enterprise GitLab ([#101](https://github.com/structured-world/gitlab-mcp/issues/101)) ([402f068](https://github.com/structured-world/gitlab-mcp/commit/402f06847056903058a5bf5bed0b65d81e0c5757)), closes [#100](https://github.com/structured-world/gitlab-mcp/issues/100)
* add cookie-based authentication support for enterprise GitLab ([#101](https://github.com/structured-world/gitlab-mcp/issues/101)) ([17b8574](https://github.com/structured-world/gitlab-mcp/commit/17b85746b5c3d9fa64f7c912dbefc7fa1184c59d)), closes [#100](https://github.com/structured-world/gitlab-mcp/issues/100)
* Add create_merge_request_thread tool for diff notes ([026dd58](https://github.com/structured-world/gitlab-mcp/commit/026dd58887079bb60187d6acacaafc6fa28d0c3d))
* Add create_merge_request_thread tool for diff notes ([23b0348](https://github.com/structured-world/gitlab-mcp/commit/23b03481eacc2b32a1f4afdf5a125ca23f87bdcf))
* Add createDraftNote api support, useful for bulk code review ([5f08153](https://github.com/structured-world/gitlab-mcp/commit/5f08153da675a6fbec780329c82c6a3395f3f691))
* Add createDraftNote api support, useful for bulk code review ([73f0c48](https://github.com/structured-world/gitlab-mcp/commit/73f0c484176796e706635f4357efc24d7c5af292))
* add docker image and push to dockerhub ([6f78969](https://github.com/structured-world/gitlab-mcp/commit/6f789692be12cf9623bd5b0d1698713385f37b88))
* add docker image and push to dockerhub ([4fd7124](https://github.com/structured-world/gitlab-mcp/commit/4fd7124ef112bdc5a6eeb41ee8af891adfa322ad))
* add GITLAB_LOCK_PROJECT environment variable ([c899a7d](https://github.com/structured-world/gitlab-mcp/commit/c899a7dc3be63bbfce25a715cd3d910255604c0b))
* add GITLAB_LOCK_PROJECT environment variable ([a102e94](https://github.com/structured-world/gitlab-mcp/commit/a102e94e4020efc9f96f3fa472e0b2cc50a87615))
* add issue discussions support ([4c57c37](https://github.com/structured-world/gitlab-mcp/commit/4c57c378886bf6e3eda8f815c654fda0d29dcd44))
* add issue discussions support ([3d06892](https://github.com/structured-world/gitlab-mcp/commit/3d06892a860e8918d4a1dad56f77ee16bdd33409))
* add milestone management commands to README ([5762b32](https://github.com/structured-world/gitlab-mcp/commit/5762b32a69c3aa13ae819335ba7549be6f36722e))
* add milestone management commands to README ([bd75140](https://github.com/structured-world/gitlab-mcp/commit/bd75140e77988cbfdef628233bbe437847b22680))
* add my_issues and list_project_members tools ([a519a56](https://github.com/structured-world/gitlab-mcp/commit/a519a56493ac40b2b6ae06e3d639cacf864b53dd))
* add my_issues and list_project_members tools ([f33f330](https://github.com/structured-world/gitlab-mcp/commit/f33f330f2b5f928feb91db78adecc6bfdc2cf5ff))
* Add NPM publish workflow for automated package publishing ([#208](https://github.com/structured-world/gitlab-mcp/issues/208)) ([7e985af](https://github.com/structured-world/gitlab-mcp/commit/7e985afadf3d99fe8596d89d2ffb1c92dda6276d))
* Add NPM publish workflow for automated package publishing ([#208](https://github.com/structured-world/gitlab-mcp/issues/208)) ([5a4d416](https://github.com/structured-world/gitlab-mcp/commit/5a4d416bd73bf79e12d4d898a16da1f2fb598d1d))
* add pagination support for CI job logs to prevent context window flooding ([2905f30](https://github.com/structured-world/gitlab-mcp/commit/2905f30af7bea788be340a3b74792dcd1e305aef))
* add pagination support for CI job logs to prevent context window flooding ([f05d8bf](https://github.com/structured-world/gitlab-mcp/commit/f05d8bf75e124ccdd3263c2d6fefe56f00c3213d))
* add read-only mode support via GITLAB_READ_ONLY_MODE environment variable ([7be17b7](https://github.com/structured-world/gitlab-mcp/commit/7be17b7afcaa407e0e0cd264e887b84b2a8bb688))
* add read-only mode support via GITLAB_READ_ONLY_MODE environment variable ([916a65a](https://github.com/structured-world/gitlab-mcp/commit/916a65ae5253f8a8f83f84edf73deafe18d4960d))
* add support for creating and updating issue notes ([dc6cc59](https://github.com/structured-world/gitlab-mcp/commit/dc6cc59434a14d102a8357034cbce719142c3b0f))
* add support for creating and updating issue notes ([96d5e49](https://github.com/structured-world/gitlab-mcp/commit/96d5e49b71bad624be8c4fb3733f066f936ff6e8))
* add support for ignoring files in branch diff results using regex patterns ([75fd5e8](https://github.com/structured-world/gitlab-mcp/commit/75fd5e83e095b218cd9230e7133d4716c51ffc9a))
* add support for ignoring files in branch diff results using regex patterns ([946c49a](https://github.com/structured-world/gitlab-mcp/commit/946c49a3eaf8ea8ca5c1bc2eb52cd535a876ce58))
* add tools for milestones ([fd1c8b9](https://github.com/structured-world/gitlab-mcp/commit/fd1c8b9704473c38413aa6bac71a3899b7413657))
* add tools for milestones ([bb0da0a](https://github.com/structured-world/gitlab-mcp/commit/bb0da0a86296a17ba71569e9ef603385f6eed9a3))
* add user retrieval functions and schemas for GitLab API integration ([005b46a](https://github.com/structured-world/gitlab-mcp/commit/005b46a1a66d2d72bc922f9f98f2df2f58c5f084))
* add user retrieval functions and schemas for GitLab API integration ([440921a](https://github.com/structured-world/gitlab-mcp/commit/440921ab10f7f71e07434fb54bf2f923b5d67ff5))
* bump version to 1.0.61 π ([ed032ba](https://github.com/structured-world/gitlab-mcp/commit/ed032bad48ee7a43d59d2c57e8ac1984d4d30dc8))
* bump version to 1.0.61 π ([9a2bc5e](https://github.com/structured-world/gitlab-mcp/commit/9a2bc5ef4b0c909772e9e59e68e52cf803022b50))
* Bump version to 5.0.0 ([9f85a7b](https://github.com/structured-world/gitlab-mcp/commit/9f85a7b8e100c86b1e4359f2150007711cfabcb3))
* Decode project_id for GitLab API calls ([08ab135](https://github.com/structured-world/gitlab-mcp/commit/08ab1357a0bfdef0bf6360f0c61759f25405652b))
* Decode project_id for GitLab API calls ([95ad321](https://github.com/structured-world/gitlab-mcp/commit/95ad3211eb534ba8e482640ef38473512605f86d))
* enhance CreateMergeRequest options with assignee, reviewer, and label support ([bf369a4](https://github.com/structured-world/gitlab-mcp/commit/bf369a43dad22d0de8117c7909948f863e90e61d))
* enhance CreateMergeRequest options with assignee, reviewer, and label support ([e692ddc](https://github.com/structured-world/gitlab-mcp/commit/e692ddc54ad35fbde8c767c357b1ae4639b6cf6c))
* enhance test infrastructure and fix code quality issues ([95b3529](https://github.com/structured-world/gitlab-mcp/commit/95b3529e6af6bedfec6ecdcffc382e195b7302e0))
* get merge request default description template on project retrieval ([808c34d](https://github.com/structured-world/gitlab-mcp/commit/808c34d0ee04fd4ec95e77dce040b3a18036e347))
* get merge request default description template on project retrieval ([886faf5](https://github.com/structured-world/gitlab-mcp/commit/886faf566a9eaf6a11f349e804f4ef06828e888f))
* Gitlab list repository tree tool ([bccd5f2](https://github.com/structured-world/gitlab-mcp/commit/bccd5f29c398a994de29e4b01fdf14cd6f6cf55c))
* Gitlab list repository tree tool ([58f51a4](https://github.com/structured-world/gitlab-mcp/commit/58f51a43e61547e3687e56d5cddb381c13297229))
* Implement add_merge_request_thread_note function for adding notes to existing MR threads ([3f2b355](https://github.com/structured-world/gitlab-mcp/commit/3f2b35535ee93b14a6649074608842d1ff8de208))
* Implement add_merge_request_thread_note function for adding notes to existing MR threads ([5f9aecd](https://github.com/structured-world/gitlab-mcp/commit/5f9aecdf21bd83a3b3928e32cec5d503809e88ad))
* implement comprehensive GitLab MCP enhancements v4.4.0 ([60fd9d8](https://github.com/structured-world/gitlab-mcp/commit/60fd9d89a93abe3fc81beb30992cc2848b7f954c))
* implement list_merge_requests functionality ([cc84777](https://github.com/structured-world/gitlab-mcp/commit/cc847772f1f8560d9ce9cba25acbb232cbbf618d))
* implement list_merge_requests functionality ([6acecd2](https://github.com/structured-world/gitlab-mcp/commit/6acecd290d1820f4d24aa719b2f845551a05c51b))
* Implement proxy configuration for HTTP/HTTPS/SOCKS ([7c2578f](https://github.com/structured-world/gitlab-mcp/commit/7c2578fd4ba140242b5f00a792a97488263cd3fc))
* Implement proxy configuration for HTTP/HTTPS/SOCKS ([94b206f](https://github.com/structured-world/gitlab-mcp/commit/94b206f72f888e53a838f64349a43449d5eaaada))
* **pipeline:** Add list_pipeline_trigger_jobs tools ([56a53b3](https://github.com/structured-world/gitlab-mcp/commit/56a53b3ab9930ca51e1e080805c402b7baa1b1a0))
* **pipeline:** Add list_pipeline_trigger_jobs tools ([0006e67](https://github.com/structured-world/gitlab-mcp/commit/0006e675a5a718f78452db995d86617871d3910c))
* **release:** 1.0.44 adds pipeline jobs tool ([ea06c21](https://github.com/structured-world/gitlab-mcp/commit/ea06c21f298feb84e93540fa3bfb8b315562fe1f))
* **release:** 1.0.44 adds pipeline jobs tool ([4e4eb46](https://github.com/structured-world/gitlab-mcp/commit/4e4eb469c6c74c4fcdb7492f15a75f99c57e1388))
* rename ignored_files_regex to excluded_file_patterns and update descriptions for clarity ([fef3606](https://github.com/structured-world/gitlab-mcp/commit/fef360664e0577f4d5ff1238f149ee2ffcb1d471))
* rename ignored_files_regex to excluded_file_patterns and update descriptions for clarity ([159da36](https://github.com/structured-world/gitlab-mcp/commit/159da36d9c25de4b58730fd5805492b89b26faba))
* replace GITLAB_LOCK_PROJECT with GITLAB_ALLOWED_PROJECT_IDS ([009ad97](https://github.com/structured-world/gitlab-mcp/commit/009ad97ef74f06b58319a08fdda11253e629b077))
* replace GITLAB_LOCK_PROJECT with GITLAB_ALLOWED_PROJECT_IDS ([6a77b04](https://github.com/structured-world/gitlab-mcp/commit/6a77b043d64778746ea5d1976720d2df8d002ad0))
* support resolving merge request notes ([bde83c0](https://github.com/structured-world/gitlab-mcp/commit/bde83c0a912ba60026abd1954e764bb09d5a013d))
* support resolving merge request notes ([4c349a3](https://github.com/structured-world/gitlab-mcp/commit/4c349a32340f47e46e900d23231d0bada30ee4ef))
* support search by branch for get_merge_request ([20f6275](https://github.com/structured-world/gitlab-mcp/commit/20f62756c197a00f334fc8b63e2cbfe22cf99a2e))
* support search by branch for get_merge_request ([eaadf24](https://github.com/structured-world/gitlab-mcp/commit/eaadf24a1df40e281dcfff32b7e8aa66d86bea10))
* trigger workflow after fix ([435c8f1](https://github.com/structured-world/gitlab-mcp/commit/435c8f1223daeb7cbb321e7be6f63e0295cd6fb4))
* trigger workflow after fix ([40e2a5d](https://github.com/structured-world/gitlab-mcp/commit/40e2a5d835e0b8eae6a79dcd4fad61d3ff11ff3c))
* trigger workflow after jq fix ([5c67d68](https://github.com/structured-world/gitlab-mcp/commit/5c67d68be41a011014dc8315cc57d4b0bf452453))
* trigger workflow after jq fix ([116d1f4](https://github.com/structured-world/gitlab-mcp/commit/116d1f4e738ee26caba8b8fffb203e12986b862a))
* trigger workflow run ([7acdff9](https://github.com/structured-world/gitlab-mcp/commit/7acdff90ef09edc88334ddc18efc9a3c51095971))
* trigger workflow run ([c047571](https://github.com/structured-world/gitlab-mcp/commit/c0475710b9e4916a21072022c1f230e150cfab4a))
* trigger workflow with GITLAB_PERSONAL_ACCESS_TOKEN ([e967bb5](https://github.com/structured-world/gitlab-mcp/commit/e967bb51c8295b3a511273d4547e4eedcc15d38a))
* trigger workflow with GITLAB_PERSONAL_ACCESS_TOKEN ([ebec8b1](https://github.com/structured-world/gitlab-mcp/commit/ebec8b19f81a7ee19549e0cebd169bb11997b178))
### BREAKING CHANGES
* Major architectural improvements and feature additions
- Migrate to Yarn 4 with strict TypeScript configuration
- Implement comprehensive GraphQL Work Items API with 1021 tests
- Add modular entity architecture (Core, Work Items, MRS, Files, Labels, etc.)
- Implement dynamic tool registry with environment-based feature gating
- Add comprehensive integration test suite with data lifecycle management
- Enhance schema validation with case normalization and error handling
- Implement smart user search with transliteration support
- Add dual transport mode (stdio/HTTP) with automatic selection
- Implement coverage reporting and CI/CD with semantic versioning
- Add tool description customization for agentic optimization
- Implement label name-to-ID conversion for improved UX
- Add comprehensive error handling and logging infrastructure
- Migrate from REST to GraphQL for work items operations
- Add support for all GitLab Ultimate features and widgets
- Implement security enhancements and read-only mode support
Version: 4.4.0 (up from upstream 2.0.5)
Tests: 1021 comprehensive tests (877 unit + 144 integration)
Coverage: 76.69% statement coverage
Architecture: Modern TypeScript with strict mode and ESM support
# 1.0.0 (2025-09-19)
### Bug Fixes
* add `expanded` to `start` and `end` for GitLabDiscussionNoteSchema ([5024a2a](https://github.com/structured-world/gitlab-mcp/commit/5024a2a5afb138b2fcd76407edf414bdec6a76f2))
* add `expanded` to `start` and `end` for GitLabDiscussionNoteSchema ([d99c483](https://github.com/structured-world/gitlab-mcp/commit/d99c483ab33bdbd368d804cf68e79f008f026c41))
* add package-lock.json to .gitignore ([067586c](https://github.com/structured-world/gitlab-mcp/commit/067586c665bd81ad4695c2fbbab5582b67e77cb2))
* add package-lock.json to .gitignore ([e7e49f0](https://github.com/structured-world/gitlab-mcp/commit/e7e49f0a93c8c0d542843f4a7c2d0a7d8481b674))
* avoid error caused by line_range: null in discussion ([d50b7fd](https://github.com/structured-world/gitlab-mcp/commit/d50b7fd1ac01802889bd383e39d767378204aa66))
* avoid error caused by line_range: null in discussion ([ac2cee2](https://github.com/structured-world/gitlab-mcp/commit/ac2cee27629f5833d1251dc097742c8576e44b5a))
* Correct formatting of GITLAB_API_URL environment variable in README ([06598d7](https://github.com/structured-world/gitlab-mcp/commit/06598d7adb98b146ae2a36a2cf8bcf807f59b465))
* Correct formatting of GITLAB_API_URL environment variable in README ([83f395d](https://github.com/structured-world/gitlab-mcp/commit/83f395df0547875381da5f0ab5892e34d1ef7bf0))
* fix README ([f4b265b](https://github.com/structured-world/gitlab-mcp/commit/f4b265bf2eaca6960e28aa6b444dda25b0ed596e))
* fix README ([7323405](https://github.com/structured-world/gitlab-mcp/commit/73234055d2c3785eec03ee0f2b3c835ed741eca8))
* GitHub Actions workflow syntax errors ([6d6110c](https://github.com/structured-world/gitlab-mcp/commit/6d6110c78bcef3987799c98a9fd48241236e7cf7))
* GitHub Actions workflow syntax errors ([55d9a5e](https://github.com/structured-world/gitlab-mcp/commit/55d9a5e3103f2b9f1ff17c7c56f17c52ad3ffea4))
* improve error handling for GitLab API rate limit exceeded ([11685d7](https://github.com/structured-world/gitlab-mcp/commit/11685d7a906eade7f586af1fcd08eaf270972b5e))
* improve error handling for GitLab API rate limit exceeded ([1a30d2c](https://github.com/structured-world/gitlab-mcp/commit/1a30d2ccc3abf4a7f22b07268ec207253144815c))
* **list_issues:** add hint for scope all ([478df19](https://github.com/structured-world/gitlab-mcp/commit/478df197615ce60b475bf9f27ab6ba415e3d2f04))
* **list_issues:** add hint for scope all ([aa3b2ab](https://github.com/structured-world/gitlab-mcp/commit/aa3b2ab267da609ce0e64d67a2a0282742c3848c))
* **list_issues:** make project_id optional ([b242522](https://github.com/structured-world/gitlab-mcp/commit/b2425221a6077c7fdba343e8681d1938a24d3a39))
* **list_issues:** make project_id optional ([7cd4731](https://github.com/structured-world/gitlab-mcp/commit/7cd4731cb21b5b94161ad59264b4e0b85d641eb7))
* merge_requests_template can be null ([#79](https://github.com/structured-world/gitlab-mcp/issues/79)) ([cd8f0e5](https://github.com/structured-world/gitlab-mcp/commit/cd8f0e5525a2f570d2fcb825181ca61c2ba113af))
* merge_requests_template can be null ([#79](https://github.com/structured-world/gitlab-mcp/issues/79)) ([73fdd8f](https://github.com/structured-world/gitlab-mcp/commit/73fdd8fee70e7479bfbd8ab071119bfe07884ad6))
* remove duplicate entry for get_branch_diffs in tools list ([6bc1379](https://github.com/structured-world/gitlab-mcp/commit/6bc13794c8cfe09dafa2fddeae2d05589700cac6))
* remove duplicate entry for get_branch_diffs in tools list ([8398109](https://github.com/structured-world/gitlab-mcp/commit/839810934e8ecde7a85580405b7512074a95cb81))
* rename to source branch ([7b8cbc0](https://github.com/structured-world/gitlab-mcp/commit/7b8cbc0806ed9123e033d98f4965fd6fbc532c07))
* rename to source branch ([5baa2d1](https://github.com/structured-world/gitlab-mcp/commit/5baa2d14742372571bb857c9c3cbf8299862beff))
* **schemas:** make avatar_url nullable in GitLabUserSchema ([ab571d2](https://github.com/structured-world/gitlab-mcp/commit/ab571d211de494f116a74bb403267b10e75460a8))
* **schemas:** make avatar_url nullable in GitLabUserSchema ([3f630ca](https://github.com/structured-world/gitlab-mcp/commit/3f630cac3407de2918d58fd6202dca0b61ee44fc))
* **schemas:** make illustration nullable in GitLabPipelineSchema ([40e39d7](https://github.com/structured-world/gitlab-mcp/commit/40e39d7b36362cdadcfc8315861b08484743c5d7))
* **schemas:** make illustration nullable in GitLabPipelineSchema ([87efa04](https://github.com/structured-world/gitlab-mcp/commit/87efa045868f5344699f95bb006cd6ebf86d7f65))
* Update Docker image repository name in workflow ([b97b264](https://github.com/structured-world/gitlab-mcp/commit/b97b2642c954e6cea8d3ce0c1092d04229cfd1f9))
* Update Docker image repository name in workflow ([29ac699](https://github.com/structured-world/gitlab-mcp/commit/29ac699a4c65c0c7a707c46951fa43e633d8651f))
* Update README title and remove duplicate star history chart ([92a3e95](https://github.com/structured-world/gitlab-mcp/commit/92a3e95d38048d0f4fb26a74b2bf19d95021f0a6))
* Update README title and remove duplicate star history chart ([126fa8c](https://github.com/structured-world/gitlab-mcp/commit/126fa8c2b3d79bea63748b960d8b9f6148216017))
### Features
* add branch comparison functionality and update related schemas ([c834ebc](https://github.com/structured-world/gitlab-mcp/commit/c834ebc135bf5896ab4f7982ae417f0c32d8ea42))
* add branch comparison functionality and update related schemas ([af81bd4](https://github.com/structured-world/gitlab-mcp/commit/af81bd402aeff1a6f03afcf7853d83d89231a8fe))
* add configuration files and scripts for project setup β¨ ([5b35bc1](https://github.com/structured-world/gitlab-mcp/commit/5b35bc163c3277523fbf264523601f55103d714b))
* add configuration files and scripts for project setup β¨ ([4aac7f5](https://github.com/structured-world/gitlab-mcp/commit/4aac7f576a91b14fcf7d379c5baa13df3762ef86))
* add cookie-based authentication support for enterprise GitLab ([#101](https://github.com/structured-world/gitlab-mcp/issues/101)) ([402f068](https://github.com/structured-world/gitlab-mcp/commit/402f06847056903058a5bf5bed0b65d81e0c5757)), closes [#100](https://github.com/structured-world/gitlab-mcp/issues/100)
* add cookie-based authentication support for enterprise GitLab ([#101](https://github.com/structured-world/gitlab-mcp/issues/101)) ([17b8574](https://github.com/structured-world/gitlab-mcp/commit/17b85746b5c3d9fa64f7c912dbefc7fa1184c59d)), closes [#100](https://github.com/structured-world/gitlab-mcp/issues/100)
* Add create_merge_request_thread tool for diff notes ([026dd58](https://github.com/structured-world/gitlab-mcp/commit/026dd58887079bb60187d6acacaafc6fa28d0c3d))
* Add create_merge_request_thread tool for diff notes ([23b0348](https://github.com/structured-world/gitlab-mcp/commit/23b03481eacc2b32a1f4afdf5a125ca23f87bdcf))
* Add createDraftNote api support, useful for bulk code review ([5f08153](https://github.com/structured-world/gitlab-mcp/commit/5f08153da675a6fbec780329c82c6a3395f3f691))
* Add createDraftNote api support, useful for bulk code review ([73f0c48](https://github.com/structured-world/gitlab-mcp/commit/73f0c484176796e706635f4357efc24d7c5af292))
* add docker image and push to dockerhub ([6f78969](https://github.com/structured-world/gitlab-mcp/commit/6f789692be12cf9623bd5b0d1698713385f37b88))
* add docker image and push to dockerhub ([4fd7124](https://github.com/structured-world/gitlab-mcp/commit/4fd7124ef112bdc5a6eeb41ee8af891adfa322ad))
* add GITLAB_LOCK_PROJECT environment variable ([c899a7d](https://github.com/structured-world/gitlab-mcp/commit/c899a7dc3be63bbfce25a715cd3d910255604c0b))
* add GITLAB_LOCK_PROJECT environment variable ([a102e94](https://github.com/structured-world/gitlab-mcp/commit/a102e94e4020efc9f96f3fa472e0b2cc50a87615))
* add issue discussions support ([4c57c37](https://github.com/structured-world/gitlab-mcp/commit/4c57c378886bf6e3eda8f815c654fda0d29dcd44))
* add issue discussions support ([3d06892](https://github.com/structured-world/gitlab-mcp/commit/3d06892a860e8918d4a1dad56f77ee16bdd33409))
* add milestone management commands to README ([5762b32](https://github.com/structured-world/gitlab-mcp/commit/5762b32a69c3aa13ae819335ba7549be6f36722e))
* add milestone management commands to README ([bd75140](https://github.com/structured-world/gitlab-mcp/commit/bd75140e77988cbfdef628233bbe437847b22680))
* add my_issues and list_project_members tools ([a519a56](https://github.com/structured-world/gitlab-mcp/commit/a519a56493ac40b2b6ae06e3d639cacf864b53dd))
* add my_issues and list_project_members tools ([f33f330](https://github.com/structured-world/gitlab-mcp/commit/f33f330f2b5f928feb91db78adecc6bfdc2cf5ff))
* Add NPM publish workflow for automated package publishing ([#208](https://github.com/structured-world/gitlab-mcp/issues/208)) ([7e985af](https://github.com/structured-world/gitlab-mcp/commit/7e985afadf3d99fe8596d89d2ffb1c92dda6276d))
* Add NPM publish workflow for automated package publishing ([#208](https://github.com/structured-world/gitlab-mcp/issues/208)) ([5a4d416](https://github.com/structured-world/gitlab-mcp/commit/5a4d416bd73bf79e12d4d898a16da1f2fb598d1d))
* add pagination support for CI job logs to prevent context window flooding ([2905f30](https://github.com/structured-world/gitlab-mcp/commit/2905f30af7bea788be340a3b74792dcd1e305aef))
* add pagination support for CI job logs to prevent context window flooding ([f05d8bf](https://github.com/structured-world/gitlab-mcp/commit/f05d8bf75e124ccdd3263c2d6fefe56f00c3213d))
* add read-only mode support via GITLAB_READ_ONLY_MODE environment variable ([7be17b7](https://github.com/structured-world/gitlab-mcp/commit/7be17b7afcaa407e0e0cd264e887b84b2a8bb688))
* add read-only mode support via GITLAB_READ_ONLY_MODE environment variable ([916a65a](https://github.com/structured-world/gitlab-mcp/commit/916a65ae5253f8a8f83f84edf73deafe18d4960d))
* add support for creating and updating issue notes ([dc6cc59](https://github.com/structured-world/gitlab-mcp/commit/dc6cc59434a14d102a8357034cbce719142c3b0f))
* add support for creating and updating issue notes ([96d5e49](https://github.com/structured-world/gitlab-mcp/commit/96d5e49b71bad624be8c4fb3733f066f936ff6e8))
* add support for ignoring files in branch diff results using regex patterns ([75fd5e8](https://github.com/structured-world/gitlab-mcp/commit/75fd5e83e095b218cd9230e7133d4716c51ffc9a))
* add support for ignoring files in branch diff results using regex patterns ([946c49a](https://github.com/structured-world/gitlab-mcp/commit/946c49a3eaf8ea8ca5c1bc2eb52cd535a876ce58))
* add tools for milestones ([fd1c8b9](https://github.com/structured-world/gitlab-mcp/commit/fd1c8b9704473c38413aa6bac71a3899b7413657))
* add tools for milestones ([bb0da0a](https://github.com/structured-world/gitlab-mcp/commit/bb0da0a86296a17ba71569e9ef603385f6eed9a3))
* add user retrieval functions and schemas for GitLab API integration ([005b46a](https://github.com/structured-world/gitlab-mcp/commit/005b46a1a66d2d72bc922f9f98f2df2f58c5f084))
* add user retrieval functions and schemas for GitLab API integration ([440921a](https://github.com/structured-world/gitlab-mcp/commit/440921ab10f7f71e07434fb54bf2f923b5d67ff5))
* bump version to 1.0.61 π ([ed032ba](https://github.com/structured-world/gitlab-mcp/commit/ed032bad48ee7a43d59d2c57e8ac1984d4d30dc8))
* bump version to 1.0.61 π ([9a2bc5e](https://github.com/structured-world/gitlab-mcp/commit/9a2bc5ef4b0c909772e9e59e68e52cf803022b50))
* Decode project_id for GitLab API calls ([08ab135](https://github.com/structured-world/gitlab-mcp/commit/08ab1357a0bfdef0bf6360f0c61759f25405652b))
* Decode project_id for GitLab API calls ([95ad321](https://github.com/structured-world/gitlab-mcp/commit/95ad3211eb534ba8e482640ef38473512605f86d))
* enhance CreateMergeRequest options with assignee, reviewer, and label support ([bf369a4](https://github.com/structured-world/gitlab-mcp/commit/bf369a43dad22d0de8117c7909948f863e90e61d))
* enhance CreateMergeRequest options with assignee, reviewer, and label support ([e692ddc](https://github.com/structured-world/gitlab-mcp/commit/e692ddc54ad35fbde8c767c357b1ae4639b6cf6c))
* enhance test infrastructure and fix code quality issues ([95b3529](https://github.com/structured-world/gitlab-mcp/commit/95b3529e6af6bedfec6ecdcffc382e195b7302e0))
* get merge request default description template on project retrieval ([808c34d](https://github.com/structured-world/gitlab-mcp/commit/808c34d0ee04fd4ec95e77dce040b3a18036e347))
* get merge request default description template on project retrieval ([886faf5](https://github.com/structured-world/gitlab-mcp/commit/886faf566a9eaf6a11f349e804f4ef06828e888f))
* Gitlab list repository tree tool ([bccd5f2](https://github.com/structured-world/gitlab-mcp/commit/bccd5f29c398a994de29e4b01fdf14cd6f6cf55c))
* Gitlab list repository tree tool ([58f51a4](https://github.com/structured-world/gitlab-mcp/commit/58f51a43e61547e3687e56d5cddb381c13297229))
* Implement add_merge_request_thread_note function for adding notes to existing MR threads ([3f2b355](https://github.com/structured-world/gitlab-mcp/commit/3f2b35535ee93b14a6649074608842d1ff8de208))
* Implement add_merge_request_thread_note function for adding notes to existing MR threads ([5f9aecd](https://github.com/structured-world/gitlab-mcp/commit/5f9aecdf21bd83a3b3928e32cec5d503809e88ad))
* implement comprehensive GitLab MCP enhancements v4.4.0 ([60fd9d8](https://github.com/structured-world/gitlab-mcp/commit/60fd9d89a93abe3fc81beb30992cc2848b7f954c))
* implement list_merge_requests functionality ([cc84777](https://github.com/structured-world/gitlab-mcp/commit/cc847772f1f8560d9ce9cba25acbb232cbbf618d))
* implement list_merge_requests functionality ([6acecd2](https://github.com/structured-world/gitlab-mcp/commit/6acecd290d1820f4d24aa719b2f845551a05c51b))
* Implement proxy configuration for HTTP/HTTPS/SOCKS ([7c2578f](https://github.com/structured-world/gitlab-mcp/commit/7c2578fd4ba140242b5f00a792a97488263cd3fc))
* Implement proxy configuration for HTTP/HTTPS/SOCKS ([94b206f](https://github.com/structured-world/gitlab-mcp/commit/94b206f72f888e53a838f64349a43449d5eaaada))
* **pipeline:** Add list_pipeline_trigger_jobs tools ([56a53b3](https://github.com/structured-world/gitlab-mcp/commit/56a53b3ab9930ca51e1e080805c402b7baa1b1a0))
* **pipeline:** Add list_pipeline_trigger_jobs tools ([0006e67](https://github.com/structured-world/gitlab-mcp/commit/0006e675a5a718f78452db995d86617871d3910c))
* **release:** 1.0.44 adds pipeline jobs tool ([ea06c21](https://github.com/structured-world/gitlab-mcp/commit/ea06c21f298feb84e93540fa3bfb8b315562fe1f))
* **release:** 1.0.44 adds pipeline jobs tool ([4e4eb46](https://github.com/structured-world/gitlab-mcp/commit/4e4eb469c6c74c4fcdb7492f15a75f99c57e1388))
* rename ignored_files_regex to excluded_file_patterns and update descriptions for clarity ([fef3606](https://github.com/structured-world/gitlab-mcp/commit/fef360664e0577f4d5ff1238f149ee2ffcb1d471))
* rename ignored_files_regex to excluded_file_patterns and update descriptions for clarity ([159da36](https://github.com/structured-world/gitlab-mcp/commit/159da36d9c25de4b58730fd5805492b89b26faba))
* replace GITLAB_LOCK_PROJECT with GITLAB_ALLOWED_PROJECT_IDS ([009ad97](https://github.com/structured-world/gitlab-mcp/commit/009ad97ef74f06b58319a08fdda11253e629b077))
* replace GITLAB_LOCK_PROJECT with GITLAB_ALLOWED_PROJECT_IDS ([6a77b04](https://github.com/structured-world/gitlab-mcp/commit/6a77b043d64778746ea5d1976720d2df8d002ad0))
* support resolving merge request notes ([bde83c0](https://github.com/structured-world/gitlab-mcp/commit/bde83c0a912ba60026abd1954e764bb09d5a013d))
* support resolving merge request notes ([4c349a3](https://github.com/structured-world/gitlab-mcp/commit/4c349a32340f47e46e900d23231d0bada30ee4ef))
* support search by branch for get_merge_request ([20f6275](https://github.com/structured-world/gitlab-mcp/commit/20f62756c197a00f334fc8b63e2cbfe22cf99a2e))
* support search by branch for get_merge_request ([eaadf24](https://github.com/structured-world/gitlab-mcp/commit/eaadf24a1df40e281dcfff32b7e8aa66d86bea10))
* trigger workflow after fix ([435c8f1](https://github.com/structured-world/gitlab-mcp/commit/435c8f1223daeb7cbb321e7be6f63e0295cd6fb4))
* trigger workflow after fix ([40e2a5d](https://github.com/structured-world/gitlab-mcp/commit/40e2a5d835e0b8eae6a79dcd4fad61d3ff11ff3c))
* trigger workflow after jq fix ([5c67d68](https://github.com/structured-world/gitlab-mcp/commit/5c67d68be41a011014dc8315cc57d4b0bf452453))
* trigger workflow after jq fix ([116d1f4](https://github.com/structured-world/gitlab-mcp/commit/116d1f4e738ee26caba8b8fffb203e12986b862a))
* trigger workflow run ([7acdff9](https://github.com/structured-world/gitlab-mcp/commit/7acdff90ef09edc88334ddc18efc9a3c51095971))
* trigger workflow run ([c047571](https://github.com/structured-world/gitlab-mcp/commit/c0475710b9e4916a21072022c1f230e150cfab4a))
* trigger workflow with GITLAB_PERSONAL_ACCESS_TOKEN ([e967bb5](https://github.com/structured-world/gitlab-mcp/commit/e967bb51c8295b3a511273d4547e4eedcc15d38a))
* trigger workflow with GITLAB_PERSONAL_ACCESS_TOKEN ([ebec8b1](https://github.com/structured-world/gitlab-mcp/commit/ebec8b19f81a7ee19549e0cebd169bb11997b178))
### BREAKING CHANGES
* Major architectural improvements and feature additions
- Migrate to Yarn 4 with strict TypeScript configuration
- Implement comprehensive GraphQL Work Items API with 1021 tests
- Add modular entity architecture (Core, Work Items, MRS, Files, Labels, etc.)
- Implement dynamic tool registry with environment-based feature gating
- Add comprehensive integration test suite with data lifecycle management
- Enhance schema validation with case normalization and error handling
- Implement smart user search with transliteration support
- Add dual transport mode (stdio/HTTP) with automatic selection
- Implement coverage reporting and CI/CD with semantic versioning
- Add tool description customization for agentic optimization
- Implement label name-to-ID conversion for improved UX
- Add comprehensive error handling and logging infrastructure
- Migrate from REST to GraphQL for work items operations
- Add support for all GitLab Ultimate features and widgets
- Implement security enhancements and read-only mode support
Version: 4.4.0 (up from upstream 2.0.5)
Tests: 1021 comprehensive tests (877 unit + 144 integration)
Coverage: 76.69% statement coverage
Architecture: Modern TypeScript with strict mode and ESM support
# [4.4.0](https://github.com/structured-world/gitlab-mcp/compare/v4.3.3...v4.4.0) (2025-09-18)
### Features
* **workitems:** enhance agentic label workflow guidance and case-insensitive type handling ([ac6d970](https://github.com/structured-world/gitlab-mcp/commit/ac6d9702e047f828dcb7961c7d9c2ff4e7f0c35c))
## [4.3.3](https://github.com/structured-world/gitlab-mcp/compare/v4.3.2...v4.3.3) (2025-09-18)
### Bug Fixes
* **workitems:** resolve critical widget and assignee bugs in work item operations ([9b4c830](https://github.com/structured-world/gitlab-mcp/commit/9b4c8301ab48bb816a5052ec24af075d6248c798))
## [4.3.2](https://github.com/structured-world/gitlab-mcp/compare/v4.3.1...v4.3.2) (2025-09-18)
### Bug Fixes
* improve TypeScript typing and eliminate unnecessary ESLint disables ([6b82412](https://github.com/structured-world/gitlab-mcp/commit/6b82412fd33ee3b25c9ec9f1b400047cfe9dff05))
## [4.3.1](https://github.com/structured-world/gitlab-mcp/compare/v4.3.0...v4.3.1) (2025-09-17)
### Bug Fixes
* enhance search_repositories with operator parsing and test coverage ([fbc61d5](https://github.com/structured-world/gitlab-mcp/commit/fbc61d579971f6b74c00dcbecfda2ba1be640a14))
# [4.3.0](https://github.com/structured-world/gitlab-mcp/compare/v4.2.1...v4.3.0) (2025-09-17)
### Features
* optimize work items performance with parallel execution and simplification ([3fda75c](https://github.com/structured-world/gitlab-mcp/commit/3fda75c1525a84e1230ddbbb075df7c9bf8672d0))
## [4.2.1](https://github.com/structured-world/gitlab-mcp/compare/v4.2.0...v4.2.1) (2025-09-17)
### Bug Fixes
* improve work items registry with unified strategy and enhance test coverage ([ec5f139](https://github.com/structured-world/gitlab-mcp/commit/ec5f139d7041194e00b03ae03796b8f52ada22d5))
# [4.2.0](https://github.com/structured-world/gitlab-mcp/compare/v4.1.1...v4.2.0) (2025-09-17)
### Bug Fixes
* update unit tests for dual transport mode architecture ([a70a726](https://github.com/structured-world/gitlab-mcp/commit/a70a726a50acefc74b2f6c5f910d052092880648))
### Features
* implement PORT-based transport mode selection with dual endpoints ([8a42e67](https://github.com/structured-world/gitlab-mcp/commit/8a42e67e27f4f0e86622edb41461e6fd7cffb560))
* implement smart user search with pattern detection and transliteration ([50b7c5e](https://github.com/structured-world/gitlab-mcp/commit/50b7c5e0a4762c9c8565ffa93c3ea6795ad7ad6a))
## [4.1.1](https://github.com/structured-world/gitlab-mcp/compare/v4.1.0...v4.1.1) (2025-09-17)
### Bug Fixes
* improve dual environment testing support and code quality ([55588a3](https://github.com/structured-world/gitlab-mcp/commit/55588a300561fbc2ce7d375c2e592b763a8728f2))
* resolve unit test failures by adding namespace detection mocks ([b856d46](https://github.com/structured-world/gitlab-mcp/commit/b856d460058fbbcc320e3c6883c215db773e20dd))
# [4.1.0](https://github.com/structured-world/gitlab-mcp/compare/v4.0.0...v4.1.0) (2025-09-17)
### Features
* add missing 'active' parameter to list_projects schema and fix dual environment testing ([1f56e33](https://github.com/structured-world/gitlab-mcp/commit/1f56e33923ce2c5f95f6d48128c768cc5a1ee16a))
# [4.0.0](https://github.com/structured-world/gitlab-mcp/compare/v3.2.0...v4.0.0) (2025-09-16)
* feat!: rename package to @structured-world/gitlab-mcp ([3849c3e](https://github.com/structured-world/gitlab-mcp/commit/3849c3e70bb35510720c1fe75f0c67342473a6d8))
### BREAKING CHANGES
* The package and Docker image names have changed to
@structured-world/gitlab-mcp and ghcr.io/structured-world/gitlab-mcp
respectively. Update your configurations accordingly.
# [3.2.0](https://github.com/structured-world/gitlab-mcp/compare/v3.1.2...v3.2.0) (2025-09-16)
### Features
* improve unit test coverage from 86% to 90.65% ([a853967](https://github.com/structured-world/gitlab-mcp/commit/a853967402fc3aa6ff92439158bfed1042f5cea3))
## [3.1.2](https://github.com/structured-world/gitlab-mcp/compare/v3.1.1...v3.1.2) (2025-09-16)
### Bug Fixes
* align workitems test parameter names with GitLab API schema ([950e0eb](https://github.com/structured-world/gitlab-mcp/commit/950e0eb59a7f88a4c0d88eff3094d23d54874df3))
* improve test infrastructure for cross-platform compatibility ([5eb62c0](https://github.com/structured-world/gitlab-mcp/commit/5eb62c05ccfdeec77239f1c7c7b04189956be667))
## [3.1.1](https://github.com/structured-world/gitlab-mcp/compare/v3.1.0...v3.1.1) (2025-09-16)
### Bug Fixes
* implement per-file mock isolation for parallel unit tests ([7839d0c](https://github.com/structured-world/gitlab-mcp/commit/7839d0ce271ce7d9bb29aad264770aa41e15feea))
* resolve test module loading and improve test infrastructure ([0da17ff](https://github.com/structured-world/gitlab-mcp/commit/0da17ff57779b493e3d7e428d1d757c5653d1b61))
# [3.1.0](https://github.com/structured-world/gitlab-mcp/compare/v3.0.0...v3.1.0) (2025-09-16)
### Bug Fixes
* improve error handling and logging consistency ([96d962e](https://github.com/structured-world/gitlab-mcp/commit/96d962e668147318a26bdc8bd133c5f94d56580a))
### Features
* enhance GitLab API schema compliance and validation ([55f90b3](https://github.com/structured-world/gitlab-mcp/commit/55f90b3339e6c5cc158f4cb3d24355ceab8edb0f))
# [3.0.0](https://github.com/structured-world/gitlab-mcp/compare/v2.8.0...v3.0.0) (2025-09-16)
### Bug Fixes
* convert work items registry to use GraphQL API instead of REST ([75f9161](https://github.com/structured-world/gitlab-mcp/commit/75f91616a177329b763136367f5ca464c7bbff4f))
* resolve GraphQL WorkItemWidgetVulnerabilities schema error ([99b7794](https://github.com/structured-world/gitlab-mcp/commit/99b7794edd81cad3dea1bb784854dab39066b1b2))
### Features
* add subgroup creation with epic hierarchy and parent relationships ([6cf3e24](https://github.com/structured-world/gitlab-mcp/commit/6cf3e2476d739d53fa317db49f18ae54762f4cbf))
* Complete integration test migration to handler functions ([3a16c50](https://github.com/structured-world/gitlab-mcp/commit/3a16c500d7b398c0f60267cbc670a5dd0cdbadaf))
* migrate integration tests to use handler functions and fix registry initialization ([a818c7f](https://github.com/structured-world/gitlab-mcp/commit/a818c7f1e3c28c1eedfd677dc3dae9e4c7c206b3))
* migrate work items to GraphQL-only with dynamic type discovery and widget support ([ace59c5](https://github.com/structured-world/gitlab-mcp/commit/ace59c55f74d38105fa5c1c46ac24727080da80d))
### BREAKING CHANGES
* Work items now use GraphQL API exclusively, no REST fallback
# [2.8.0](https://github.com/structured-world/gitlab-mcp/compare/v2.7.0...v2.8.0) (2025-09-15)
### Features
* implement dynamic tool description customization via environment variables ([e28dcd9](https://github.com/structured-world/gitlab-mcp/commit/e28dcd913bd8b518e5cedb84482b6c3e5442ecc9))
# [2.7.0](https://github.com/structured-world/gitlab-mcp/compare/v2.6.2...v2.7.0) (2025-09-15)
### Features
* implement fully dynamic tool registry system with enhanced security ([2c4fe5a](https://github.com/structured-world/gitlab-mcp/commit/2c4fe5a85710aa980c1ced9eeaddc60cf87c01d4))
## [2.6.2](https://github.com/structured-world/gitlab-mcp/compare/v2.6.1...v2.6.2) (2025-09-15)
### Bug Fixes
* Complete unit test infrastructure rewrite and test suite fixes ([05b3f02](https://github.com/structured-world/gitlab-mcp/commit/05b3f024709ec33365cadb5401a47ac154048a59))
## [2.6.1](https://github.com/structured-world/gitlab-mcp/compare/v2.6.0...v2.6.1) (2025-09-15)
### Bug Fixes
* correct FUNDING.yml format according to GitHub documentation ([071ff87](https://github.com/structured-world/gitlab-mcp/commit/071ff879f324f9e0386912050132cb6c7fe581fe))
# [2.6.0](https://github.com/structured-world/gitlab-mcp/compare/v2.5.1...v2.6.0) (2025-09-15)
### Features
* enhance Labels, Milestones, and Wiki entities with dual project/group scope support ([6e406e6](https://github.com/structured-world/gitlab-mcp/commit/6e406e6d50de66770d9614407e589ff4895533fb))
## [2.5.1](https://github.com/structured-world/gitlab-mcp/compare/v2.5.0...v2.5.1) (2025-09-15)
### Bug Fixes
* correct GetUsersSchema validation test expectations ([50b7e04](https://github.com/structured-world/gitlab-mcp/commit/50b7e04512517ca715736d305f2dbb14a5688a81))
# [2.5.0](https://github.com/structured-world/gitlab-mcp/compare/v2.4.0...v2.5.0) (2025-09-15)
### Features
* complete GitLab MCP handler implementation with 100% tool coverage ([843886a](https://github.com/structured-world/gitlab-mcp/commit/843886a7f0b744223e3f44344314ce4441f46a8d))
# [2.4.0](https://github.com/structured-world/gitlab-mcp/compare/v2.3.1...v2.4.0) (2025-09-15)
### Features
* implement dynamic tool handler dispatch system ([5bfe1c3](https://github.com/structured-world/gitlab-mcp/commit/5bfe1c33b8d02f7705a4bf33c583691b44708e59))
## [2.3.1](https://github.com/structured-world/gitlab-mcp/compare/v2.3.0...v2.3.1) (2025-09-15)
### Bug Fixes
* **sse:** implement missing SSE transport and fix schema validation ([e6aed28](https://github.com/structured-world/gitlab-mcp/commit/e6aed2848ec0b48e18d96935557d3a5cf9a92f90))
# [2.3.0](https://github.com/structured-world/gitlab-mcp/compare/v2.2.0...v2.3.0) (2025-09-15)
### Features
* **test:** add user infrastructure setup and assignment to test data lifecycle ([e88f5bb](https://github.com/structured-world/gitlab-mcp/commit/e88f5bb048c8d40d83edeb2fbb2c171906e503b5))
# [2.2.0](https://github.com/structured-world/gitlab-mcp/compare/v2.1.2...v2.2.0) (2025-09-15)
### Bug Fixes
* add esModuleInterop for Zod v4 compatibility ([e3010bb](https://github.com/structured-world/gitlab-mcp/commit/e3010bbe02e03091e07b1774d1ef7a0437b80e8f))
* Docker build and test cleanup improvements ([79a7d9e](https://github.com/structured-world/gitlab-mcp/commit/79a7d9e58508bc2ece922dbd5852b2e15a894599))
* prevent Yarn re-download in Docker build stages ([5807776](https://github.com/structured-world/gitlab-mcp/commit/5807776c704dbe7490469723db314e7e8a99f7e9))
* Resolve critical test infrastructure issues and eliminate soft-fail patterns ([528d34c](https://github.com/structured-world/gitlab-mcp/commit/528d34c0e6fbd0ae5da584878f3c2f68bfff19cf))
* resolve data lifecycle test dependency chain issues ([282ac42](https://github.com/structured-world/gitlab-mcp/commit/282ac42de91e74a98cca2b038ca4a284dbdf8e42))
* resolve TypeScript/ESLint errors in GraphQL introspection code ([f50ea1a](https://github.com/structured-world/gitlab-mcp/commit/f50ea1a367d7e0741817167cc52d7ab673145fe3))
### Features
* reorganize integration tests into dependency chain pattern ([6d8c05e](https://github.com/structured-world/gitlab-mcp/commit/6d8c05e84a5fb8daa30084073cb5905b62a2dbeb))
* **test:** add user infrastructure setup and assignment to test data lifecycle ([3915773](https://github.com/structured-world/gitlab-mcp/commit/39157736cb01791e7e0e4c18c1d7610b28422731))
## [2.1.2](https://github.com/structured-world/gitlab-mcp/compare/v2.1.1...v2.1.2) (2025-09-15)
### Bug Fixes
* remove duplicate docker-publish.yml workflow ([a9a6921](https://github.com/structured-world/gitlab-mcp/commit/a9a692186c1c7db18217a82c387a7fe00536d694))
* remove duplicate release.yml workflow to prevent concurrent releases ([b69fc9d](https://github.com/structured-world/gitlab-mcp/commit/b69fc9d1b78b674b5991d974c376d7080f83ae34))
## [1.1.1](https://github.com/structured-world/gitlab-mcp/compare/v1.1.0...v1.1.1) (2025-09-15)
### Bug Fixes
* enable Corepack in GitHub Actions for Yarn 4 support ([7e170e2](https://github.com/structured-world/gitlab-mcp/commit/7e170e2f186fae60e0b10924261f1fd67ded0a0b))
# [1.1.0](https://github.com/structured-world/gitlab-mcp/compare/v1.0.2...v1.1.0) (2025-09-15)
### Features
* add comprehensive CI/CD pipeline with semantic versioning ([4e6822f](https://github.com/structured-world/gitlab-mcp/commit/4e6822ff865fb2045bfeeb015891e4281cc6c26e))
## [1.0.2](https://github.com/structured-world/gitlab-mcp/compare/v1.0.1...v1.0.2) (2025-09-15)
### Bug Fixes
* correct Docker build configuration for production deployment ([d9b089f](https://github.com/structured-world/gitlab-mcp/commit/d9b089f6c76fda01bd19e96997fa99e37602aec3))
## [1.0.1](https://github.com/structured-world/gitlab-mcp/compare/v1.0.0...v1.0.1) (2025-09-15)
### Bug Fixes
* Add repository field to package.json for npm publish ([a405435](https://github.com/structured-world/gitlab-mcp/commit/a405435432a0b31569bd8c78840c453d5bfa2ee9))
# 1.0.0 (2025-09-15)
### Bug Fixes
* add `expanded` to `start` and `end` for GitLabDiscussionNoteSchema ([5024a2a](https://github.com/structured-world/gitlab-mcp/commit/5024a2a5afb138b2fcd76407edf414bdec6a76f2))
* add `expanded` to `start` and `end` for GitLabDiscussionNoteSchema ([d99c483](https://github.com/structured-world/gitlab-mcp/commit/d99c483ab33bdbd368d804cf68e79f008f026c41))
* add missing @eslint/js dependency ([cd85a8d](https://github.com/structured-world/gitlab-mcp/commit/cd85a8dff086f3202f64c55f9d1a14ef823f2a80))
* add package-lock.json to .gitignore ([067586c](https://github.com/structured-world/gitlab-mcp/commit/067586c665bd81ad4695c2fbbab5582b67e77cb2))
* add package-lock.json to .gitignore ([e7e49f0](https://github.com/structured-world/gitlab-mcp/commit/e7e49f0a93c8c0d542843f4a7c2d0a7d8481b674))
* avoid error caused by line_range: null in discussion ([d50b7fd](https://github.com/structured-world/gitlab-mcp/commit/d50b7fd1ac01802889bd383e39d767378204aa66))
* avoid error caused by line_range: null in discussion ([ac2cee2](https://github.com/structured-world/gitlab-mcp/commit/ac2cee27629f5833d1251dc097742c8576e44b5a))
* Correct formatting of GITLAB_API_URL environment variable in README ([06598d7](https://github.com/structured-world/gitlab-mcp/commit/06598d7adb98b146ae2a36a2cf8bcf807f59b465))
* Correct formatting of GITLAB_API_URL environment variable in README ([83f395d](https://github.com/structured-world/gitlab-mcp/commit/83f395df0547875381da5f0ab5892e34d1ef7bf0))
* Fix build errors and optimize Docker build ([ee60995](https://github.com/structured-world/gitlab-mcp/commit/ee60995ad4e0e1a64801fdb17a80279b5d5ca643))
* fix README ([f4b265b](https://github.com/structured-world/gitlab-mcp/commit/f4b265bf2eaca6960e28aa6b444dda25b0ed596e))
* fix README ([7323405](https://github.com/structured-world/gitlab-mcp/commit/73234055d2c3785eec03ee0f2b3c835ed741eca8))
* GitHub Actions workflow syntax errors ([6d6110c](https://github.com/structured-world/gitlab-mcp/commit/6d6110c78bcef3987799c98a9fd48241236e7cf7))
* GitHub Actions workflow syntax errors ([55d9a5e](https://github.com/structured-world/gitlab-mcp/commit/55d9a5e3103f2b9f1ff17c7c56f17c52ad3ffea4))
* improve error handling for GitLab API rate limit exceeded ([11685d7](https://github.com/structured-world/gitlab-mcp/commit/11685d7a906eade7f586af1fcd08eaf270972b5e))
* improve error handling for GitLab API rate limit exceeded ([1a30d2c](https://github.com/structured-world/gitlab-mcp/commit/1a30d2ccc3abf4a7f22b07268ec207253144815c))
* **list_issues:** add hint for scope all ([478df19](https://github.com/structured-world/gitlab-mcp/commit/478df197615ce60b475bf9f27ab6ba415e3d2f04))
* **list_issues:** add hint for scope all ([aa3b2ab](https://github.com/structured-world/gitlab-mcp/commit/aa3b2ab267da609ce0e64d67a2a0282742c3848c))
* **list_issues:** make project_id optional ([b242522](https://github.com/structured-world/gitlab-mcp/commit/b2425221a6077c7fdba343e8681d1938a24d3a39))
* **list_issues:** make project_id optional ([7cd4731](https://github.com/structured-world/gitlab-mcp/commit/7cd4731cb21b5b94161ad59264b4e0b85d641eb7))
* merge_requests_template can be null ([#79](https://github.com/structured-world/gitlab-mcp/issues/79)) ([cd8f0e5](https://github.com/structured-world/gitlab-mcp/commit/cd8f0e5525a2f570d2fcb825181ca61c2ba113af))
* merge_requests_template can be null ([#79](https://github.com/structured-world/gitlab-mcp/issues/79)) ([73fdd8f](https://github.com/structured-world/gitlab-mcp/commit/73fdd8fee70e7479bfbd8ab071119bfe07884ad6))
* Remove deprecated create_issue tool and update ESLint configuration ([b9737ef](https://github.com/structured-world/gitlab-mcp/commit/b9737efd3f45eb2ddf8744f31c4b5a9ac10a5cbe))
* remove duplicate entry for get_branch_diffs in tools list ([6bc1379](https://github.com/structured-world/gitlab-mcp/commit/6bc13794c8cfe09dafa2fddeae2d05589700cac6))
* remove duplicate entry for get_branch_diffs in tools list ([8398109](https://github.com/structured-world/gitlab-mcp/commit/839810934e8ecde7a85580405b7512074a95cb81))
* rename to source branch ([7b8cbc0](https://github.com/structured-world/gitlab-mcp/commit/7b8cbc0806ed9123e033d98f4965fd6fbc532c07))
* rename to source branch ([5baa2d1](https://github.com/structured-world/gitlab-mcp/commit/5baa2d14742372571bb857c9c3cbf8299862beff))
* **schemas:** make avatar_url nullable in GitLabUserSchema ([ab571d2](https://github.com/structured-world/gitlab-mcp/commit/ab571d211de494f116a74bb403267b10e75460a8))
* **schemas:** make avatar_url nullable in GitLabUserSchema ([3f630ca](https://github.com/structured-world/gitlab-mcp/commit/3f630cac3407de2918d58fd6202dca0b61ee44fc))
* **schemas:** make illustration nullable in GitLabPipelineSchema ([40e39d7](https://github.com/structured-world/gitlab-mcp/commit/40e39d7b36362cdadcfc8315861b08484743c5d7))
* **schemas:** make illustration nullable in GitLabPipelineSchema ([87efa04](https://github.com/structured-world/gitlab-mcp/commit/87efa045868f5344699f95bb006cd6ebf86d7f65))
* temporarily disable lint in CI to fix release process ([d552d06](https://github.com/structured-world/gitlab-mcp/commit/d552d06d6489c3990e22e7217f3b018146fba5b1))
* Update Docker image repository name in workflow ([b97b264](https://github.com/structured-world/gitlab-mcp/commit/b97b2642c954e6cea8d3ce0c1092d04229cfd1f9))
* Update Docker image repository name in workflow ([29ac699](https://github.com/structured-world/gitlab-mcp/commit/29ac699a4c65c0c7a707c46951fa43e633d8651f))
* Update README title and remove duplicate star history chart ([92a3e95](https://github.com/structured-world/gitlab-mcp/commit/92a3e95d38048d0f4fb26a74b2bf19d95021f0a6))
* Update README title and remove duplicate star history chart ([126fa8c](https://github.com/structured-world/gitlab-mcp/commit/126fa8c2b3d79bea63748b960d8b9f6148216017))
### Features
* add branch comparison functionality and update related schemas ([c834ebc](https://github.com/structured-world/gitlab-mcp/commit/c834ebc135bf5896ab4f7982ae417f0c32d8ea42))
* add branch comparison functionality and update related schemas ([af81bd4](https://github.com/structured-world/gitlab-mcp/commit/af81bd402aeff1a6f03afcf7853d83d89231a8fe))
* add configuration files and scripts for project setup β¨ ([5b35bc1](https://github.com/structured-world/gitlab-mcp/commit/5b35bc163c3277523fbf264523601f55103d714b))
* add configuration files and scripts for project setup β¨ ([4aac7f5](https://github.com/structured-world/gitlab-mcp/commit/4aac7f576a91b14fcf7d379c5baa13df3762ef86))
* add cookie-based authentication support for enterprise GitLab ([#101](https://github.com/structured-world/gitlab-mcp/issues/101)) ([402f068](https://github.com/structured-world/gitlab-mcp/commit/402f06847056903058a5bf5bed0b65d81e0c5757)), closes [#100](https://github.com/structured-world/gitlab-mcp/issues/100)
* add cookie-based authentication support for enterprise GitLab ([#101](https://github.com/structured-world/gitlab-mcp/issues/101)) ([17b8574](https://github.com/structured-world/gitlab-mcp/commit/17b85746b5c3d9fa64f7c912dbefc7fa1184c59d)), closes [#100](https://github.com/structured-world/gitlab-mcp/issues/100)
* Add create_merge_request_thread tool for diff notes ([026dd58](https://github.com/structured-world/gitlab-mcp/commit/026dd58887079bb60187d6acacaafc6fa28d0c3d))
* Add create_merge_request_thread tool for diff notes ([23b0348](https://github.com/structured-world/gitlab-mcp/commit/23b03481eacc2b32a1f4afdf5a125ca23f87bdcf))
* Add createDraftNote api support, useful for bulk code review ([5f08153](https://github.com/structured-world/gitlab-mcp/commit/5f08153da675a6fbec780329c82c6a3395f3f691))
* Add createDraftNote api support, useful for bulk code review ([73f0c48](https://github.com/structured-world/gitlab-mcp/commit/73f0c484176796e706635f4357efc24d7c5af292))
* add docker image and push to dockerhub ([6f78969](https://github.com/structured-world/gitlab-mcp/commit/6f789692be12cf9623bd5b0d1698713385f37b88))
* add docker image and push to dockerhub ([4fd7124](https://github.com/structured-world/gitlab-mcp/commit/4fd7124ef112bdc5a6eeb41ee8af891adfa322ad))
* add GITLAB_LOCK_PROJECT environment variable ([c899a7d](https://github.com/structured-world/gitlab-mcp/commit/c899a7dc3be63bbfce25a715cd3d910255604c0b))
* add GITLAB_LOCK_PROJECT environment variable ([a102e94](https://github.com/structured-world/gitlab-mcp/commit/a102e94e4020efc9f96f3fa472e0b2cc50a87615))
* add issue discussions support ([4c57c37](https://github.com/structured-world/gitlab-mcp/commit/4c57c378886bf6e3eda8f815c654fda0d29dcd44))
* add issue discussions support ([3d06892](https://github.com/structured-world/gitlab-mcp/commit/3d06892a860e8918d4a1dad56f77ee16bdd33409))
* add milestone management commands to README ([5762b32](https://github.com/structured-world/gitlab-mcp/commit/5762b32a69c3aa13ae819335ba7549be6f36722e))
* add milestone management commands to README ([bd75140](https://github.com/structured-world/gitlab-mcp/commit/bd75140e77988cbfdef628233bbe437847b22680))
* add my_issues and list_project_members tools ([a519a56](https://github.com/structured-world/gitlab-mcp/commit/a519a56493ac40b2b6ae06e3d639cacf864b53dd))
* add my_issues and list_project_members tools ([f33f330](https://github.com/structured-world/gitlab-mcp/commit/f33f330f2b5f928feb91db78adecc6bfdc2cf5ff))
* Add NPM publish workflow for automated package publishing ([#208](https://github.com/structured-world/gitlab-mcp/issues/208)) ([7e985af](https://github.com/structured-world/gitlab-mcp/commit/7e985afadf3d99fe8596d89d2ffb1c92dda6276d))
* Add NPM publish workflow for automated package publishing ([#208](https://github.com/structured-world/gitlab-mcp/issues/208)) ([5a4d416](https://github.com/structured-world/gitlab-mcp/commit/5a4d416bd73bf79e12d4d898a16da1f2fb598d1d))
* add pagination support for CI job logs to prevent context window flooding ([2905f30](https://github.com/structured-world/gitlab-mcp/commit/2905f30af7bea788be340a3b74792dcd1e305aef))
* add pagination support for CI job logs to prevent context window flooding ([f05d8bf](https://github.com/structured-world/gitlab-mcp/commit/f05d8bf75e124ccdd3263c2d6fefe56f00c3213d))
* add read-only mode support via GITLAB_READ_ONLY_MODE environment variable ([7be17b7](https://github.com/structured-world/gitlab-mcp/commit/7be17b7afcaa407e0e0cd264e887b84b2a8bb688))
* add read-only mode support via GITLAB_READ_ONLY_MODE environment variable ([916a65a](https://github.com/structured-world/gitlab-mcp/commit/916a65ae5253f8a8f83f84edf73deafe18d4960d))
* add support for creating and updating issue notes ([dc6cc59](https://github.com/structured-world/gitlab-mcp/commit/dc6cc59434a14d102a8357034cbce719142c3b0f))
* add support for creating and updating issue notes ([96d5e49](https://github.com/structured-world/gitlab-mcp/commit/96d5e49b71bad624be8c4fb3733f066f936ff6e8))
* add support for ignoring files in branch diff results using regex patterns ([75fd5e8](https://github.com/structured-world/gitlab-mcp/commit/75fd5e83e095b218cd9230e7133d4716c51ffc9a))
* add support for ignoring files in branch diff results using regex patterns ([946c49a](https://github.com/structured-world/gitlab-mcp/commit/946c49a3eaf8ea8ca5c1bc2eb52cd535a876ce58))
* add tools for milestones ([fd1c8b9](https://github.com/structured-world/gitlab-mcp/commit/fd1c8b9704473c38413aa6bac71a3899b7413657))
* add tools for milestones ([bb0da0a](https://github.com/structured-world/gitlab-mcp/commit/bb0da0a86296a17ba71569e9ef603385f6eed9a3))
* add user retrieval functions and schemas for GitLab API integration ([005b46a](https://github.com/structured-world/gitlab-mcp/commit/005b46a1a66d2d72bc922f9f98f2df2f58c5f084))
* add user retrieval functions and schemas for GitLab API integration ([440921a](https://github.com/structured-world/gitlab-mcp/commit/440921ab10f7f71e07434fb54bf2f923b5d67ff5))
* bump version to 1.0.61 π ([ed032ba](https://github.com/structured-world/gitlab-mcp/commit/ed032bad48ee7a43d59d2c57e8ac1984d4d30dc8))
* bump version to 1.0.61 π ([9a2bc5e](https://github.com/structured-world/gitlab-mcp/commit/9a2bc5ef4b0c909772e9e59e68e52cf803022b50))
* Decode project_id for GitLab API calls ([08ab135](https://github.com/structured-world/gitlab-mcp/commit/08ab1357a0bfdef0bf6360f0c61759f25405652b))
* Decode project_id for GitLab API calls ([95ad321](https://github.com/structured-world/gitlab-mcp/commit/95ad3211eb534ba8e482640ef38473512605f86d))
* enhance CreateMergeRequest options with assignee, reviewer, and label support ([bf369a4](https://github.com/structured-world/gitlab-mcp/commit/bf369a43dad22d0de8117c7909948f863e90e61d))
* enhance CreateMergeRequest options with assignee, reviewer, and label support ([e692ddc](https://github.com/structured-world/gitlab-mcp/commit/e692ddc54ad35fbde8c767c357b1ae4639b6cf6c))
* get merge request default description template on project retrieval ([808c34d](https://github.com/structured-world/gitlab-mcp/commit/808c34d0ee04fd4ec95e77dce040b3a18036e347))
* get merge request default description template on project retrieval ([886faf5](https://github.com/structured-world/gitlab-mcp/commit/886faf566a9eaf6a11f349e804f4ef06828e888f))
* Gitlab list repository tree tool ([bccd5f2](https://github.com/structured-world/gitlab-mcp/commit/bccd5f29c398a994de29e4b01fdf14cd6f6cf55c))
* Gitlab list repository tree tool ([58f51a4](https://github.com/structured-world/gitlab-mcp/commit/58f51a43e61547e3687e56d5cddb381c13297229))
* Implement add_merge_request_thread_note function for adding notes to existing MR threads ([3f2b355](https://github.com/structured-world/gitlab-mcp/commit/3f2b35535ee93b14a6649074608842d1ff8de208))
* Implement add_merge_request_thread_note function for adding notes to existing MR threads ([5f9aecd](https://github.com/structured-world/gitlab-mcp/commit/5f9aecdf21bd83a3b3928e32cec5d503809e88ad))
* implement list_merge_requests functionality ([cc84777](https://github.com/structured-world/gitlab-mcp/commit/cc847772f1f8560d9ce9cba25acbb232cbbf618d))
* implement list_merge_requests functionality ([6acecd2](https://github.com/structured-world/gitlab-mcp/commit/6acecd290d1820f4d24aa719b2f845551a05c51b))
* Implement proxy configuration for HTTP/HTTPS/SOCKS ([7c2578f](https://github.com/structured-world/gitlab-mcp/commit/7c2578fd4ba140242b5f00a792a97488263cd3fc))
* Implement proxy configuration for HTTP/HTTPS/SOCKS ([94b206f](https://github.com/structured-world/gitlab-mcp/commit/94b206f72f888e53a838f64349a43449d5eaaada))
* major release v2.1.0 with comprehensive improvements ([0fabf17](https://github.com/structured-world/gitlab-mcp/commit/0fabf1722538154aaa3ba3c875c73edf5e52a59a))
* **pipeline:** Add list_pipeline_trigger_jobs tools ([56a53b3](https://github.com/structured-world/gitlab-mcp/commit/56a53b3ab9930ca51e1e080805c402b7baa1b1a0))
* **pipeline:** Add list_pipeline_trigger_jobs tools ([0006e67](https://github.com/structured-world/gitlab-mcp/commit/0006e675a5a718f78452db995d86617871d3910c))
* **release:** 1.0.44 adds pipeline jobs tool ([ea06c21](https://github.com/structured-world/gitlab-mcp/commit/ea06c21f298feb84e93540fa3bfb8b315562fe1f))
* **release:** 1.0.44 adds pipeline jobs tool ([4e4eb46](https://github.com/structured-world/gitlab-mcp/commit/4e4eb469c6c74c4fcdb7492f15a75f99c57e1388))
* rename ignored_files_regex to excluded_file_patterns and update descriptions for clarity ([fef3606](https://github.com/structured-world/gitlab-mcp/commit/fef360664e0577f4d5ff1238f149ee2ffcb1d471))
* rename ignored_files_regex to excluded_file_patterns and update descriptions for clarity ([159da36](https://github.com/structured-world/gitlab-mcp/commit/159da36d9c25de4b58730fd5805492b89b26faba))
* replace GITLAB_LOCK_PROJECT with GITLAB_ALLOWED_PROJECT_IDS ([009ad97](https://github.com/structured-world/gitlab-mcp/commit/009ad97ef74f06b58319a08fdda11253e629b077))
* replace GITLAB_LOCK_PROJECT with GITLAB_ALLOWED_PROJECT_IDS ([6a77b04](https://github.com/structured-world/gitlab-mcp/commit/6a77b043d64778746ea5d1976720d2df8d002ad0))
* support resolving merge request notes ([bde83c0](https://github.com/structured-world/gitlab-mcp/commit/bde83c0a912ba60026abd1954e764bb09d5a013d))
* support resolving merge request notes ([4c349a3](https://github.com/structured-world/gitlab-mcp/commit/4c349a32340f47e46e900d23231d0bada30ee4ef))
* support search by branch for get_merge_request ([20f6275](https://github.com/structured-world/gitlab-mcp/commit/20f62756c197a00f334fc8b63e2cbfe22cf99a2e))
* support search by branch for get_merge_request ([eaadf24](https://github.com/structured-world/gitlab-mcp/commit/eaadf24a1df40e281dcfff32b7e8aa66d86bea10))
* trigger workflow after fix ([435c8f1](https://github.com/structured-world/gitlab-mcp/commit/435c8f1223daeb7cbb321e7be6f63e0295cd6fb4))
* trigger workflow after fix ([40e2a5d](https://github.com/structured-world/gitlab-mcp/commit/40e2a5d835e0b8eae6a79dcd4fad61d3ff11ff3c))
* trigger workflow after jq fix ([5c67d68](https://github.com/structured-world/gitlab-mcp/commit/5c67d68be41a011014dc8315cc57d4b0bf452453))
* trigger workflow after jq fix ([116d1f4](https://github.com/structured-world/gitlab-mcp/commit/116d1f4e738ee26caba8b8fffb203e12986b862a))
* trigger workflow run ([7acdff9](https://github.com/structured-world/gitlab-mcp/commit/7acdff90ef09edc88334ddc18efc9a3c51095971))
* trigger workflow run ([c047571](https://github.com/structured-world/gitlab-mcp/commit/c0475710b9e4916a21072022c1f230e150cfab4a))
* trigger workflow with GITLAB_PERSONAL_ACCESS_TOKEN ([e967bb5](https://github.com/structured-world/gitlab-mcp/commit/e967bb51c8295b3a511273d4547e4eedcc15d38a))
* trigger workflow with GITLAB_PERSONAL_ACCESS_TOKEN ([ebec8b1](https://github.com/structured-world/gitlab-mcp/commit/ebec8b19f81a7ee19549e0cebd169bb11997b178))
## [2.1.0] - 2024-12-15
### Added
- Comprehensive Docker support with multi-stage builds
- Docker Compose configuration with multiple deployment scenarios (HTTP, SSE, stdio, read-only)
- Work Items GraphQL support for GitLab Premium/Ultimate instances
- Enhanced environment variable configuration
- Complete test suite with Zero Data Validation Rule implementation
- Comprehensive test lifecycle management (create β use β cleanup pattern)
- Support for all GitLab tiers with automatic feature detection
- Enhanced security with non-root Docker user and health checks
### Changed
- **BREAKING**: Package name changed from `@zereight/gitlab-mcp` to `@structured-world/gitlab-mcp`
- Updated Docker image repository to `ghcr.io/structured-world/gitlab-mcp`
- Improved README with categorized tools list (94 total tools)
- Enhanced documentation with comprehensive Docker deployment instructions
- Refactored test architecture to follow strict data lifecycle rules
- Updated all test files to create their own test infrastructure
- Improved error handling and validation across all test suites
### Fixed
- Removed hardcoded test values and replaced with dynamic test data
- Fixed URL encoding issues in test scripts
- Corrected package references throughout documentation
- Fixed test dependencies on external test infrastructure
- Improved test reliability and isolation
### Infrastructure
- Updated Dockerfile with comprehensive environment variable support
- Added multi-stage Docker build for optimized image size
- Enhanced GitHub Actions integration
- Improved Jest test coverage reporting
- Added semantic release automation
- Comprehensive environment configuration documentation
### Documentation
- Complete rewrite of tools documentation with categorization
- Added comprehensive Docker deployment guide
- Updated environment variable documentation
- Enhanced development setup instructions
- Added contribution guidelines and testing procedures
---
#### [v2.0.5](https://github.com/zereight/gitlab-mcp/compare/v2.0.4...v2.0.5)
- Add ability to trigger / retry / cancel individual jobs [`#233`](https://github.com/zereight/gitlab-mcp/pull/233)
- chore: add expose to docker file [`#222`](https://github.com/zereight/gitlab-mcp/pull/222)
- Pull Request: Add GitLab Events API Tools [`#235`](https://github.com/zereight/gitlab-mcp/pull/235)
- docs: update README to include new pipeline-related tools [`f051153`](https://github.com/zereight/gitlab-mcp/commit/f0511537c96dffba6a4a6cee5ee860b23c318668)
#### [v2.0.4](https://github.com/zereight/gitlab-mcp/compare/v2.0.3...v2.0.4)
> 31 August 2025
- Fixes coverage parsing error on Pipelines related types [`#230`](https://github.com/zereight/gitlab-mcp/pull/230)
- FEAT: add GITLAB_DENIED_TOOLS_REGEX env to disable some tools [`#206`](https://github.com/zereight/gitlab-mcp/pull/206)
- Feat/modify email [`#225`](https://github.com/zereight/gitlab-mcp/pull/225)
- v1.0.77 [`#209`](https://github.com/zereight/gitlab-mcp/pull/209)
- FIX: docker hub repo user name [`#210`](https://github.com/zereight/gitlab-mcp/pull/210)
- feat: Add NPM publish workflow for automated package publishing [`#208`](https://github.com/zereight/gitlab-mcp/pull/208)
- Fix list of tools in `README.md` [`#205`](https://github.com/zereight/gitlab-mcp/pull/205)
- FIX: flexible boolean [`#201`](https://github.com/zereight/gitlab-mcp/pull/201)
- feat(attachement):download attachement, e.g. images [`#200`](https://github.com/zereight/gitlab-mcp/pull/200)
- FEAT: merge MR [`#193`](https://github.com/zereight/gitlab-mcp/pull/193)
- FEAT: get draft note [`#197`](https://github.com/zereight/gitlab-mcp/pull/197)
- feat: Add createDraftNote api support, useful for bulk code review [`#183`](https://github.com/zereight/gitlab-mcp/pull/183)
- feat: add my_issues and list_project_members tools [`#133`](https://github.com/zereight/gitlab-mcp/pull/133)
- feat(pipeline): Add list_pipeline_trigger_jobs tools [`#194`](https://github.com/zereight/gitlab-mcp/pull/194)
- (feat): add tool to upload file for markdown content [`#196`](https://github.com/zereight/gitlab-mcp/pull/196)
- Bump version to 1.0.76 [`#182`](https://github.com/zereight/gitlab-mcp/pull/182)
- FEAT: iteration [`#179`](https://github.com/zereight/gitlab-mcp/pull/179)
- Bump version to 1.0.75 [`#178`](https://github.com/zereight/gitlab-mcp/pull/178)
- Allow accessing issues without project id [`#168`](https://github.com/zereight/gitlab-mcp/pull/168)
- Feat/deploy script [`#176`](https://github.com/zereight/gitlab-mcp/pull/176)
- FEAT: target project on create MR [`#174`](https://github.com/zereight/gitlab-mcp/pull/174)
- Bump version to 1.0.74 [`#175`](https://github.com/zereight/gitlab-mcp/pull/175)
- FEAT: add logging [`#162`](https://github.com/zereight/gitlab-mcp/pull/162)
- FEAT: id is string or number [`#161`](https://github.com/zereight/gitlab-mcp/pull/161)
- FIX string or number [`#160`](https://github.com/zereight/gitlab-mcp/pull/160)
- FIX: id string or number [`#158`](https://github.com/zereight/gitlab-mcp/pull/158)
- FIX: deploy script [`#156`](https://github.com/zereight/gitlab-mcp/pull/156)
- chore: Bump version 1.0.72 [`#154`](https://github.com/zereight/gitlab-mcp/pull/154)
- FEAT: enable string for boolean for claude [`#150`](https://github.com/zereight/gitlab-mcp/pull/150)
- Bump version to 1.0.71 [`#152`](https://github.com/zereight/gitlab-mcp/pull/152)
- tag with image push [`#151`](https://github.com/zereight/gitlab-mcp/pull/151)
- FIX: string | number for gemini [`#149`](https://github.com/zereight/gitlab-mcp/pull/149)
- FIX: format boolean for claude [`#148`](https://github.com/zereight/gitlab-mcp/pull/148)
- Print logs to stderr [`#147`](https://github.com/zereight/gitlab-mcp/pull/147)
- FIX: CreateMergeRequestSchema [`#146`](https://github.com/zereight/gitlab-mcp/pull/146)
- chore: Bump version to 1.0.70 [`#145`](https://github.com/zereight/gitlab-mcp/pull/145)
- FIX: sse [`#144`](https://github.com/zereight/gitlab-mcp/pull/144)
- FIX: default project id [`#141`](https://github.com/zereight/gitlab-mcp/pull/141)
- FEAT: format boolean [`#143`](https://github.com/zereight/gitlab-mcp/pull/143)
- FIX: console to stderr [`#135`](https://github.com/zereight/gitlab-mcp/pull/135)
- FIX: create pipeline [`#138`](https://github.com/zereight/gitlab-mcp/pull/138)
- FEAT: Add support for Streamable HTTP transport [`#128`](https://github.com/zereight/gitlab-mcp/pull/128)
- FIX: notable iid [`#126`](https://github.com/zereight/gitlab-mcp/pull/126)
- FEAT: reviewer on update MR [`#118`](https://github.com/zereight/gitlab-mcp/pull/118)
- FEAT: not call create fork repo on set default project id [`#116`](https://github.com/zereight/gitlab-mcp/pull/116)
- FEAT: project id , vscode doc [`#113`](https://github.com/zereight/gitlab-mcp/pull/113)
- feat(simple healthcheck): [`#112`](https://github.com/zereight/gitlab-mcp/pull/112)
- FIX: new,old path nullable [`#108`](https://github.com/zereight/gitlab-mcp/pull/108)
- fix: avoid error caused by line_range type: null in discussion [`#107`](https://github.com/zereight/gitlab-mcp/pull/107)
- FIX: sse readme [`#103`](https://github.com/zereight/gitlab-mcp/pull/103)
- FEAT: mr discussion with code diff [`#93`](https://github.com/zereight/gitlab-mcp/pull/93)
- feat: add cookie-based authentication support for enterprise GitLab [`#101`](https://github.com/zereight/gitlab-mcp/pull/101)
- Fix notification_level null handling for GitLab group owners [`#99`](https://github.com/zereight/gitlab-mcp/pull/99)
- feat: add pagination support for CI job logs to prevent context window flooding [`#97`](https://github.com/zereight/gitlab-mcp/pull/97)
- FIX: private token auth [`#91`](https://github.com/zereight/gitlab-mcp/pull/91)
- FEAT: private token auth [`#89`](https://github.com/zereight/gitlab-mcp/pull/89)
- FIX: list issues assginee username [`#87`](https://github.com/zereight/gitlab-mcp/pull/87)
- FEAT: add support for `remove_source_branch` and `squash` options for merge requests [`#86`](https://github.com/zereight/gitlab-mcp/pull/86)
- Fix for null error [`#85`](https://github.com/zereight/gitlab-mcp/pull/85)
- FIX: bug get issues [`#83`](https://github.com/zereight/gitlab-mcp/pull/83)
- Add support for retrieving wiki page content in list_wiki_pages [`#82`](https://github.com/zereight/gitlab-mcp/pull/82)
- DOC: readme docker image [`#81`](https://github.com/zereight/gitlab-mcp/pull/81)
- Add pagination to merge request discussions, similar to issue discussions [`#80`](https://github.com/zereight/gitlab-mcp/pull/80)
- fix: merge_requests_template can be null [`#79`](https://github.com/zereight/gitlab-mcp/pull/79)
- FIX: issue param [`#78`](https://github.com/zereight/gitlab-mcp/pull/78)
- FIX: get issues labels [`#77`](https://github.com/zereight/gitlab-mcp/pull/77)
- FEAT: MCP SSE [`#76`](https://github.com/zereight/gitlab-mcp/pull/76)
- Feat: Enrich Merge Request Creation [`#68`](https://github.com/zereight/gitlab-mcp/pull/68)
- Feat/custom ssl [`#72`](https://github.com/zereight/gitlab-mcp/pull/72)
- FEAT: multi platform [`#71`](https://github.com/zereight/gitlab-mcp/pull/71)
- FEAT: ci push docker hub [`#65`](https://github.com/zereight/gitlab-mcp/pull/65)
- feat: add pipeline management commands [`#64`](https://github.com/zereight/gitlab-mcp/pull/64)
- [main] docs: update README with comments on GITLAB configuration options [`#63`](https://github.com/zereight/gitlab-mcp/pull/63)
- test [`#61`](https://github.com/zereight/gitlab-mcp/pull/61)
- Fix GitHub Actions workflow syntax errors [`#62`](https://github.com/zereight/gitlab-mcp/pull/62)
- feat: add tools for milestones [`#59`](https://github.com/zereight/gitlab-mcp/pull/59)
- FEAT: docker image push script [`#60`](https://github.com/zereight/gitlab-mcp/pull/60)
- fix(schemas): make illustration nullable in GitLabPipelineSchema [`#58`](https://github.com/zereight/gitlab-mcp/pull/58)
- feat: implement list_merge_requests functionality [`#56`](https://github.com/zereight/gitlab-mcp/pull/56)
- fix(schemas): make avatar_url nullable in GitLabUserSchema [`#55`](https://github.com/zereight/gitlab-mcp/pull/55)
- FIX: description null error [`#53`](https://github.com/zereight/gitlab-mcp/pull/53)
- feat(release): 1.0.44 adds pipeline jobs tool [`#52`](https://github.com/zereight/gitlab-mcp/pull/52)
- feat: add support for creating and updating issue notes [`#47`](https://github.com/zereight/gitlab-mcp/pull/47)
- fix: fix README [`#45`](https://github.com/zereight/gitlab-mcp/pull/45)
- feat: add issue discussions support [`#44`](https://github.com/zereight/gitlab-mcp/pull/44)
- feat: add docker image and push to dockerhub [`#42`](https://github.com/zereight/gitlab-mcp/pull/42)
- fixed resolve_outdated_diff_discussions nullable [`#41`](https://github.com/zereight/gitlab-mcp/pull/41)
- fix: add `expanded` to `start` and `end` for GitLabDiscussionNoteSchema [`#40`](https://github.com/zereight/gitlab-mcp/pull/40)
- Adds threaded comment support for merge requests [`#38`](https://github.com/zereight/gitlab-mcp/pull/38)
- Support resolving merge request discussion notes [`#37`](https://github.com/zereight/gitlab-mcp/pull/37)
- feat: Gitlab list repository tree tool [`#35`](https://github.com/zereight/gitlab-mcp/pull/35)
- feat: support search by branch for get_merge_request [`#34`](https://github.com/zereight/gitlab-mcp/pull/34)
- feat: Implement proxy configuration for HTTP/HTTPS/SOCKS [`#33`](https://github.com/zereight/gitlab-mcp/pull/33)
- feat: Add read-only mode support [`#29`](https://github.com/zereight/gitlab-mcp/pull/29)
- Add schemas for GitLab discussion notes and merge request discussions [`#26`](https://github.com/zereight/gitlab-mcp/pull/26)
- :sparkles: Add `list_group_projects tool` [`#25`](https://github.com/zereight/gitlab-mcp/pull/25)
- Update README.md [`#24`](https://github.com/zereight/gitlab-mcp/pull/24)
- Fixed types for create_merge_request and get_merge_request tools. [`#23`](https://github.com/zereight/gitlab-mcp/pull/23)
- Authentication Header Consistency Fix [`#22`](https://github.com/zereight/gitlab-mcp/pull/22)
- Labels API Support [`#21`](https://github.com/zereight/gitlab-mcp/pull/21)
- Improve README documentation with detailed tool descriptions [`#18`](https://github.com/zereight/gitlab-mcp/pull/18)
- Implement GitLab Issues and Issue Links API [`#17`](https://github.com/zereight/gitlab-mcp/pull/17)
- Add GitLab Projects API support [`#16`](https://github.com/zereight/gitlab-mcp/pull/16)
- Add GitLab Namespaces API support [`#15`](https://github.com/zereight/gitlab-mcp/pull/15)
- Fix GitLab API fork repository parameter handling [`#14`](https://github.com/zereight/gitlab-mcp/pull/14)
- Fix GitLab API parameter handling in create_or_update_file [`#13`](https://github.com/zereight/gitlab-mcp/pull/13)
- Improve code documentation with bilingual JSDoc comments [`#11`](https://github.com/zereight/gitlab-mcp/pull/11)
- Fix URL construction with smart API URL normalization [`#10`](https://github.com/zereight/gitlab-mcp/pull/10)
- Fix createNote function URL construction: use plural resource names and avoid duplicate /api/v4 [`#7`](https://github.com/zereight/gitlab-mcp/pull/7)
- Added missing api url part to create_note [`#3`](https://github.com/zereight/gitlab-mcp/pull/3)
- Deployment: Dockerfile and Smithery config [`#2`](https://github.com/zereight/gitlab-mcp/pull/2)
- add MCP server badge [`#1`](https://github.com/zereight/gitlab-mcp/pull/1)
- [feat/pipeline-support] feat: add pipeline management commands [`#46`](https://github.com/zereight/gitlab-mcp/issues/46)
- chore: update CHANGELOG for version 2.0.4 [`e26c169`](https://github.com/zereight/gitlab-mcp/commit/e26c16998256cca0d4c3aea9b3046f61ed6cb866)
- Squashed commit of the following: [`73f21db`](https://github.com/zereight/gitlab-mcp/commit/73f21dbf1ea29e501e095b78b8d55cc517e777f5)
- Squashed commit of the following: [`750e1c6`](https://github.com/zereight/gitlab-mcp/commit/750e1c614047a1bb84ac4324d5881f78f24c8482)
#### [v2.0.3](https://github.com/zereight/gitlab-mcp/compare/v2.0.2...v2.0.3)
> 17 August 2025
- fix: Update Docker image repository name in workflow [`b97b264`](https://github.com/zereight/gitlab-mcp/commit/b97b2642c954e6cea8d3ce0c1092d04229cfd1f9)
- chore: Update version to 2.0.3 in package.json [`196aee3`](https://github.com/zereight/gitlab-mcp/commit/196aee3db2faa0e3f4f9263a24d31b29c95fdfda)
#### [v2.0.2](https://github.com/zereight/gitlab-mcp/compare/v2.0.1...v2.0.2)
> 15 August 2025
- chore: update version in package.json to 2.0.2 [`0c5e667`](https://github.com/zereight/gitlab-mcp/commit/0c5e667c5c600c4a70ff613fc6e1de6dcbc2403a)
- chore: update version in CHANGELOG to 2.0.1 [`e3b0144`](https://github.com/zereight/gitlab-mcp/commit/e3b0144f98a409e0decedef076d4c4097b0c8519)
#### [v2.0.1](https://github.com/zereight/gitlab-mcp/compare/2.0.0...v2.0.1)
> 15 August 2025
- v1.0.77 [`#209`](https://github.com/zereight/gitlab-mcp/pull/209)
- FIX: docker hub repo user name [`#210`](https://github.com/zereight/gitlab-mcp/pull/210)
- feat: Add NPM publish workflow for automated package publishing [`#208`](https://github.com/zereight/gitlab-mcp/pull/208)
- Fix list of tools in `README.md` [`#205`](https://github.com/zereight/gitlab-mcp/pull/205)
- Squashed commit of the following: [`291fb10`](https://github.com/zereight/gitlab-mcp/commit/291fb10a6c2e42cc377d5bfd87fe94546ecdfa1e)
- Fix list of tools [`4ab6eb1`](https://github.com/zereight/gitlab-mcp/commit/4ab6eb186c16cc8534f649fe76b71f5e4dc82b9d)
- fix: update Docker Hub repository username in workflow [`4ed895b`](https://github.com/zereight/gitlab-mcp/commit/4ed895b7360c94d7f3b8c788510233550b2a6281)
### [2.0.0](https://github.com/zereight/gitlab-mcp/compare/v1.0.76...2.0.0)
> 15 August 2025
- User based authentication methods [`#130`](https://github.com/zereight/gitlab-mcp/pull/130)
- FIX: flexible boolean [`#201`](https://github.com/zereight/gitlab-mcp/pull/201)
- feat(attachement):download attachement, e.g. images [`#200`](https://github.com/zereight/gitlab-mcp/pull/200)
- FEAT: merge MR [`#193`](https://github.com/zereight/gitlab-mcp/pull/193)
- FEAT: get draft note [`#197`](https://github.com/zereight/gitlab-mcp/pull/197)
- feat: Add createDraftNote api support, useful for bulk code review [`#183`](https://github.com/zereight/gitlab-mcp/pull/183)
- feat: add my_issues and list_project_members tools [`#133`](https://github.com/zereight/gitlab-mcp/pull/133)
- feat(pipeline): Add list_pipeline_trigger_jobs tools [`#194`](https://github.com/zereight/gitlab-mcp/pull/194)
- (feat): add tool to upload file for markdown content [`#196`](https://github.com/zereight/gitlab-mcp/pull/196)
- feat: replace GITLAB_LOCK_PROJECT with GITLAB_ALLOWED_PROJECT_IDS [`009ad97`](https://github.com/zereight/gitlab-mcp/commit/009ad97ef74f06b58319a08fdda11253e629b077)
- feat: add GITLAB_LOCK_PROJECT environment variable [`c899a7d`](https://github.com/zereight/gitlab-mcp/commit/c899a7dc3be63bbfce25a715cd3d910255604c0b)
- FIX [`19b7254`](https://github.com/zereight/gitlab-mcp/commit/19b725447acfbc35d4c6ae3d6f07de7df6d5d0c8)
#### [v1.0.76](https://github.com/zereight/gitlab-mcp/compare/v1.0.75...v1.0.76)
> 25 July 2025
- Bump version to 1.0.76 [`#182`](https://github.com/zereight/gitlab-mcp/pull/182)
- FEAT: iteration [`#179`](https://github.com/zereight/gitlab-mcp/pull/179)
- Bump version to 1.0.75 [`#178`](https://github.com/zereight/gitlab-mcp/pull/178)
- Merge pull request #181 from zereight/feat/166-1 [`6adbeea`](https://github.com/zereight/gitlab-mcp/commit/6adbeea560dc6a06d90a1b0984253bb2f3df2867)
- FIX [`46f8405`](https://github.com/zereight/gitlab-mcp/commit/46f8405a31f957c4c60113e3473e9e084562eff0)
- FIX: default null [`6e82e7e`](https://github.com/zereight/gitlab-mcp/commit/6e82e7e5c9e603af18fa4639956d159a861edce6)
#### [v1.0.75](https://github.com/zereight/gitlab-mcp/compare/v1.0.74...v1.0.75)
> 18 July 2025
- Allow accessing issues without project id [`#168`](https://github.com/zereight/gitlab-mcp/pull/168)
- Feat/deploy script [`#176`](https://github.com/zereight/gitlab-mcp/pull/176)
- FEAT: target project on create MR [`#174`](https://github.com/zereight/gitlab-mcp/pull/174)
- Bump version to 1.0.74 [`#175`](https://github.com/zereight/gitlab-mcp/pull/175)
- FIX [`2872aed`](https://github.com/zereight/gitlab-mcp/commit/2872aed35fee55b29d44ec01e0417a0a087e9ef3)
- fix(list_issues): make project_id optional [`b242522`](https://github.com/zereight/gitlab-mcp/commit/b2425221a6077c7fdba343e8681d1938a24d3a39)
- Bump version to 1.0.75 [`b0411ba`](https://github.com/zereight/gitlab-mcp/commit/b0411ba2b9e949fefe37620b27425310d38a5cd7)
#### [v1.0.74](https://github.com/zereight/gitlab-mcp/compare/v1.0.73...v1.0.74)
> 17 July 2025
- Bump version to 1.0.74 [`8effa28`](https://github.com/zereight/gitlab-mcp/commit/8effa283ba7fe71e7b9c6548e37a7866bd730421)
#### [v1.0.73](https://github.com/zereight/gitlab-mcp/compare/v1.0.72...v1.0.73)
> 13 July 2025
- FEAT: add logging [`#162`](https://github.com/zereight/gitlab-mcp/pull/162)
- FEAT: id is string or number [`#161`](https://github.com/zereight/gitlab-mcp/pull/161)
- FIX string or number [`#160`](https://github.com/zereight/gitlab-mcp/pull/160)
- FIX: id string or number [`#158`](https://github.com/zereight/gitlab-mcp/pull/158)
- FIX: deploy script [`#156`](https://github.com/zereight/gitlab-mcp/pull/156)
- FIX [`1131897`](https://github.com/zereight/gitlab-mcp/commit/1131897817ca5462320ba1a9a532ec3f2b196286)
- FIX [`0affdf9`](https://github.com/zereight/gitlab-mcp/commit/0affdf9df0c2ca1ec9deab2e4977b93f8acd9e0b)
- FIX: string or number [`429f397`](https://github.com/zereight/gitlab-mcp/commit/429f39700ee9f48f65af8bbc8d8756abe3da37bd)
#### [v1.0.72](https://github.com/zereight/gitlab-mcp/compare/v1.0.65...v1.0.72)
> 9 July 2025
- chore: Bump version 1.0.72 [`#154`](https://github.com/zereight/gitlab-mcp/pull/154)
- FEAT: enable string for boolean for claude [`#150`](https://github.com/zereight/gitlab-mcp/pull/150)
- Bump version to 1.0.71 [`#152`](https://github.com/zereight/gitlab-mcp/pull/152)
- tag with image push [`#151`](https://github.com/zereight/gitlab-mcp/pull/151)
- FIX: string | number for gemini [`#149`](https://github.com/zereight/gitlab-mcp/pull/149)
- FIX: format boolean for claude [`#148`](https://github.com/zereight/gitlab-mcp/pull/148)
- Print logs to stderr [`#147`](https://github.com/zereight/gitlab-mcp/pull/147)
- FIX: CreateMergeRequestSchema [`#146`](https://github.com/zereight/gitlab-mcp/pull/146)
- chore: Bump version to 1.0.70 [`#145`](https://github.com/zereight/gitlab-mcp/pull/145)
- FIX: sse [`#144`](https://github.com/zereight/gitlab-mcp/pull/144)
- FIX: default project id [`#141`](https://github.com/zereight/gitlab-mcp/pull/141)
- FEAT: format boolean [`#143`](https://github.com/zereight/gitlab-mcp/pull/143)
- FIX: console to stderr [`#135`](https://github.com/zereight/gitlab-mcp/pull/135)
- FIX: create pipeline [`#138`](https://github.com/zereight/gitlab-mcp/pull/138)
- FEAT: Add support for Streamable HTTP transport [`#128`](https://github.com/zereight/gitlab-mcp/pull/128)
- FIX: notable iid [`#126`](https://github.com/zereight/gitlab-mcp/pull/126)
- FEAT: reviewer on update MR [`#118`](https://github.com/zereight/gitlab-mcp/pull/118)
- FEAT: not call create fork repo on set default project id [`#116`](https://github.com/zereight/gitlab-mcp/pull/116)
- FEAT: project id , vscode doc [`#113`](https://github.com/zereight/gitlab-mcp/pull/113)
- feat(simple healthcheck): [`#112`](https://github.com/zereight/gitlab-mcp/pull/112)
- FIX: new,old path nullable [`#108`](https://github.com/zereight/gitlab-mcp/pull/108)
- fix: avoid error caused by line_range type: null in discussion [`#107`](https://github.com/zereight/gitlab-mcp/pull/107)
- FIX: sse readme [`#103`](https://github.com/zereight/gitlab-mcp/pull/103)
- REVIEW FIX [`3ad2954`](https://github.com/zereight/gitlab-mcp/commit/3ad29547b4f53aacb07b54d4f88329f8cb23c1cf)
- fix: avoid error caused by line_range: null in discussion [`d50b7fd`](https://github.com/zereight/gitlab-mcp/commit/d50b7fd1ac01802889bd383e39d767378204aa66)
- FIX [`b109392`](https://github.com/zereight/gitlab-mcp/commit/b109392f1c89d891d6a9706249c2fcd541ab0165)
#### [v1.0.65](https://github.com/zereight/gitlab-mcp/compare/v1.0.64...v1.0.65)
> 16 June 2025
- FEAT: mr discussion with code diff [`#93`](https://github.com/zereight/gitlab-mcp/pull/93)
- docs: update README and version to 1.0.64 [`cced1c1`](https://github.com/zereight/gitlab-mcp/commit/cced1c16f9c2c7cc0ba2e7e2c28884bb966f0bd5)
#### [v1.0.64](https://github.com/zereight/gitlab-mcp/compare/1.0.63...v1.0.64)
> 16 June 2025
- feat: add cookie-based authentication support for enterprise GitLab [`#101`](https://github.com/zereight/gitlab-mcp/pull/101)
- Fix notification_level null handling for GitLab group owners [`#99`](https://github.com/zereight/gitlab-mcp/pull/99)
#### [1.0.63](https://github.com/zereight/gitlab-mcp/compare/v1.0.63...1.0.63)
> 12 June 2025
- docs: add CHANGELOG entry for v1.0.63 [`8d70627`](https://github.com/zereight/gitlab-mcp/commit/8d706275e657be0509941b43c47f892643a24a5b)
#### [v1.0.63](https://github.com/zereight/gitlab-mcp/compare/1.0.62...v1.0.63)
> 12 June 2025
- feat: add pagination support for CI job logs to prevent context window flooding [`#97`](https://github.com/zereight/gitlab-mcp/pull/97)
- [version-update] fix: correct Private-Token header authentication for GitLab API π [`3c23675`](https://github.com/zereight/gitlab-mcp/commit/3c23675eece9b1d8ce90f65cc9692100f5cb2c8a)
- chore: bump version to 1.0.63 [`62f0fff`](https://github.com/zereight/gitlab-mcp/commit/62f0ffff69e8b52acc078410e5578231ef883cc1)
#### [1.0.62](https://github.com/zereight/gitlab-mcp/compare/1.0.60...1.0.62)
> 10 June 2025
- FIX: private token auth [`#91`](https://github.com/zereight/gitlab-mcp/pull/91)
- FEAT: private token auth [`#89`](https://github.com/zereight/gitlab-mcp/pull/89)
- style: format code for consistency and readability β¨ [`1ba5434`](https://github.com/zereight/gitlab-mcp/commit/1ba54342bc4a2769b95cf27fc6cc54c84e55aa94)
- [version-update] feat: bump version to 1.0.60 π [`29659db`](https://github.com/zereight/gitlab-mcp/commit/29659db0b74471b6042106fcae1b2ca273f2ae4c)
- [version-update] feat: bump version to 1.0.62 π [`8df87c6`](https://github.com/zereight/gitlab-mcp/commit/8df87c67d2701f5bd6bdbef4e0880457507b135d)
#### [1.0.60](https://github.com/zereight/gitlab-mcp/compare/v1.0.59...1.0.60)
> 7 June 2025
- FIX: list issues assginee username [`#87`](https://github.com/zereight/gitlab-mcp/pull/87)
- FEAT: add support for `remove_source_branch` and `squash` options for merge requests [`#86`](https://github.com/zereight/gitlab-mcp/pull/86)
#### [v1.0.59](https://github.com/zereight/gitlab-mcp/compare/v1.0.57...v1.0.59)
> 4 June 2025
- Fix for null error [`#85`](https://github.com/zereight/gitlab-mcp/pull/85)
- FIX: bug get issues [`#83`](https://github.com/zereight/gitlab-mcp/pull/83)
- Add support for retrieving wiki page content in list_wiki_pages [`#82`](https://github.com/zereight/gitlab-mcp/pull/82)
- DOC: readme docker image [`#81`](https://github.com/zereight/gitlab-mcp/pull/81)
- [version-update] feat: bump version to 1.0.59 π [`0930ce3`](https://github.com/zereight/gitlab-mcp/commit/0930ce3636e8b155d7ac5892226cc1c780135de3)
- [feat] update: bump version to 1.0.58 [`8cb7703`](https://github.com/zereight/gitlab-mcp/commit/8cb7703aa1a2284143bc4e84f16bf2af59a2792a)
#### [v1.0.57](https://github.com/zereight/gitlab-mcp/compare/v1.0.56...v1.0.57)
> 3 June 2025
- Add pagination to merge request discussions, similar to issue discussions [`#80`](https://github.com/zereight/gitlab-mcp/pull/80)
- fix: merge_requests_template can be null [`#79`](https://github.com/zereight/gitlab-mcp/pull/79)
- [feat] update: bump version to 1.0.57 [`c07356b`](https://github.com/zereight/gitlab-mcp/commit/c07356bd465dc565ce323683a8b96a7e76241c8b)
#### [v1.0.56](https://github.com/zereight/gitlab-mcp/compare/v1.0.54...v1.0.56)
> 2 June 2025
- FIX: issue param [`#78`](https://github.com/zereight/gitlab-mcp/pull/78)
- FIX: get issues labels [`#77`](https://github.com/zereight/gitlab-mcp/pull/77)
- FEAT: MCP SSE [`#76`](https://github.com/zereight/gitlab-mcp/pull/76)
- Feat: Enrich Merge Request Creation [`#68`](https://github.com/zereight/gitlab-mcp/pull/68)
- feat: add branch comparison functionality and update related schemas [`c834ebc`](https://github.com/zereight/gitlab-mcp/commit/c834ebc135bf5896ab4f7982ae417f0c32d8ea42)
- fix: remove duplicate entry for get_branch_diffs in tools list [`6bc1379`](https://github.com/zereight/gitlab-mcp/commit/6bc13794c8cfe09dafa2fddeae2d05589700cac6)
- feat: add user retrieval functions and schemas for GitLab API integration [`005b46a`](https://github.com/zereight/gitlab-mcp/commit/005b46a1a66d2d72bc922f9f98f2df2f58c5f084)
#### [v1.0.54](https://github.com/zereight/gitlab-mcp/compare/v1.0.53...v1.0.54)
> 31 May 2025
- Feat/custom ssl [`#72`](https://github.com/zereight/gitlab-mcp/pull/72)
- FEAT: multi platform [`#71`](https://github.com/zereight/gitlab-mcp/pull/71)
- Release v1.0.54: Add multi-platform support and custom SSL configuration [`459161e`](https://github.com/zereight/gitlab-mcp/commit/459161e23514e9a4d70fd6f902e5f84ba049eec1)
- chore: remove outdated release notes for version 1.0.40 [`e9493b2`](https://github.com/zereight/gitlab-mcp/commit/e9493b2ff90554d21bd8056350a554e8325c22ba)
- [main] chore: bump version to v1.0.54 π [`4a8088c`](https://github.com/zereight/gitlab-mcp/commit/4a8088c25cea0c747c9df71501ff0a6fe46bef40)
#### [v1.0.53](https://github.com/zereight/gitlab-mcp/compare/v1.0.52...v1.0.53)
> 30 May 2025
- FEAT: ci push docker hub [`#65`](https://github.com/zereight/gitlab-mcp/pull/65)
- [main] fix: make old_line and new_line optional for image diff discussions [`cb36c00`](https://github.com/zereight/gitlab-mcp/commit/cb36c007cb215127c16e621ef5a0255c76a6cdbe)
- [main] chore: bump version to v1.0.53 [`fcb71e2`](https://github.com/zereight/gitlab-mcp/commit/fcb71e293e8a0f7f803397582d2e5ff867febd2d)
#### [v1.0.52](https://github.com/zereight/gitlab-mcp/compare/v1.0.50...v1.0.52)
> 30 May 2025
- feat: add pipeline management commands [`#64`](https://github.com/zereight/gitlab-mcp/pull/64)
- [main] docs: update README with comments on GITLAB configuration options [`#63`](https://github.com/zereight/gitlab-mcp/pull/63)
- test [`#61`](https://github.com/zereight/gitlab-mcp/pull/61)
- Fix GitHub Actions workflow syntax errors [`#62`](https://github.com/zereight/gitlab-mcp/pull/62)
- [feat/pipeline-support] feat: add pipeline management commands [`#46`](https://github.com/zereight/gitlab-mcp/issues/46)
- [feat/pipeline-support] feat: add USE_PIPELINE environment variable for conditional pipeline feature activation [`de0b138`](https://github.com/zereight/gitlab-mcp/commit/de0b138d8002daf15d845c6360957c50d95a6288)
- [main] docs: update README to remove automated testing section π [`37203ba`](https://github.com/zereight/gitlab-mcp/commit/37203bae5a87d902380ecb7ead454ec9b19af1ef)
- [main] debug: temporarily disable MCP server startup test [`8e2b6e6`](https://github.com/zereight/gitlab-mcp/commit/8e2b6e67349aa575dd9c3217b58bfe76772932ae)
#### [v1.0.50](https://github.com/zereight/gitlab-mcp/compare/v1.0.48...v1.0.50)
> 29 May 2025
- [main] feat: update milestone management tools and improve code formatting β¨ [`181f1e9`](https://github.com/zereight/gitlab-mcp/commit/181f1e943cbfcee8486717e73a63fd62e3ded280)
#### [v1.0.48](https://github.com/zereight/gitlab-mcp/compare/v1.0.47...v1.0.48)
> 29 May 2025
- feat: add tools for milestones [`#59`](https://github.com/zereight/gitlab-mcp/pull/59)
- FEAT: docker image push script [`#60`](https://github.com/zereight/gitlab-mcp/pull/60)
- [main] chore: v1.0.48 λ²μ μ
λ°μ΄νΈ [`2a80988`](https://github.com/zereight/gitlab-mcp/commit/2a80988a0231320f80a1d4bd75e51f50e195b29a)
- feat: add milestone management commands to README [`5762b32`](https://github.com/zereight/gitlab-mcp/commit/5762b32a69c3aa13ae819335ba7549be6f36722e)
#### [v1.0.47](https://github.com/zereight/gitlab-mcp/compare/v1.0.46...v1.0.47)
> 29 May 2025
- fix(schemas): make illustration nullable in GitLabPipelineSchema [`#58`](https://github.com/zereight/gitlab-mcp/pull/58)
- feat: implement list_merge_requests functionality [`#56`](https://github.com/zereight/gitlab-mcp/pull/56)
- fix(schemas): make avatar_url nullable in GitLabUserSchema [`#55`](https://github.com/zereight/gitlab-mcp/pull/55)
- feat: implement list_merge_requests functionality [`cc84777`](https://github.com/zereight/gitlab-mcp/commit/cc847772f1f8560d9ce9cba25acbb232cbbf618d)
- [main] release: v1.0.47 [`a2c2ac1`](https://github.com/zereight/gitlab-mcp/commit/a2c2ac185ad2891e11e27a534ef089701effb526)
#### [v1.0.46](https://github.com/zereight/gitlab-mcp/compare/v1.0.45...v1.0.46)
> 27 May 2025
- FIX: description null error [`#53`](https://github.com/zereight/gitlab-mcp/pull/53)
- [main] fix: description null error handling [`f8b1444`](https://github.com/zereight/gitlab-mcp/commit/f8b1444afd5932307ae743ec11380189e59daafa)
#### [v1.0.45](https://github.com/zereight/gitlab-mcp/compare/v1.0.42...v1.0.45)
> 24 May 2025
- feat(release): 1.0.44 adds pipeline jobs tool [`#52`](https://github.com/zereight/gitlab-mcp/pull/52)
- chore(release): 1.0.43 - get_repository_tree is added read_only_mode [`1406203`](https://github.com/zereight/gitlab-mcp/commit/140620397ba88ee6abbd6da01147a466905e1f22)
- [main] docs: update changelog for v1.0.45 pipeline tools [`8ba3398`](https://github.com/zereight/gitlab-mcp/commit/8ba33986f3da8eae4079b179aa3580a1712586a1)
- docs: translate issue notes changelog from Korean to English [`3d7aa80`](https://github.com/zereight/gitlab-mcp/commit/3d7aa8035d996a312559e15f7dd1457e1f32a826)
#### [v1.0.42](https://github.com/zereight/gitlab-mcp/compare/v1.0.40...v1.0.42)
> 22 May 2025
- feat: add support for creating and updating issue notes [`#47`](https://github.com/zereight/gitlab-mcp/pull/47)
- fix: fix README [`#45`](https://github.com/zereight/gitlab-mcp/pull/45)
- chore(release): 1.0.42 - issue note κΈ°λ₯ μΆκ° (#47) [`25be194`](https://github.com/zereight/gitlab-mcp/commit/25be1947b98ffe1e5cffbfce9e04928f4180d2f8)
- docs: update release notes for v1.0.40 (2025-05-21) [`b326f4c`](https://github.com/zereight/gitlab-mcp/commit/b326f4c3c3c43ec6b669a36bbc016377ebfc1a0c)
#### [v1.0.40](https://github.com/zereight/gitlab-mcp/compare/v1.0.39...v1.0.40)
> 21 May 2025
- feat: add issue discussions support [`#44`](https://github.com/zereight/gitlab-mcp/pull/44)
#### [v1.0.39](https://github.com/zereight/gitlab-mcp/compare/v1.0.38...v1.0.39)
> 20 May 2025
- feat: add docker image and push to dockerhub [`#42`](https://github.com/zereight/gitlab-mcp/pull/42)
- fixed resolve_outdated_diff_discussions nullable [`#41`](https://github.com/zereight/gitlab-mcp/pull/41)
- docs: add release-notes.md [`676bbcd`](https://github.com/zereight/gitlab-mcp/commit/676bbcd4ddb9fa3b566a67fffdd2f25de258b933)
- λ²μ 1.0.39λ‘ μ
λ°μ΄νΈ [`e4a28a9`](https://github.com/zereight/gitlab-mcp/commit/e4a28a9a47540214587169b7d3f3a98fe057c7d8)
#### [v1.0.38](https://github.com/zereight/gitlab-mcp/compare/v1.0.37...v1.0.38)
> 17 May 2025
- fix: add `expanded` to `start` and `end` for GitLabDiscussionNoteSchema [`#40`](https://github.com/zereight/gitlab-mcp/pull/40)
- Bump version [`0bb59a3`](https://github.com/zereight/gitlab-mcp/commit/0bb59a3217f4c3dd98b51503bf2de51d8578bb0d)
#### [v1.0.37](https://github.com/zereight/gitlab-mcp/compare/v1.0.36...v1.0.37)
> 15 May 2025
- Adds threaded comment support for merge requests [`#38`](https://github.com/zereight/gitlab-mcp/pull/38)
- Support resolving merge request discussion notes [`#37`](https://github.com/zereight/gitlab-mcp/pull/37)
- feat: Add create_merge_request_thread tool for diff notes [`026dd58`](https://github.com/zereight/gitlab-mcp/commit/026dd58887079bb60187d6acacaafc6fa28d0c3d)
- feat: Implement add_merge_request_thread_note function for adding notes to existing MR threads [`3f2b355`](https://github.com/zereight/gitlab-mcp/commit/3f2b35535ee93b14a6649074608842d1ff8de208)
- feat: support resolving merge request notes [`bde83c0`](https://github.com/zereight/gitlab-mcp/commit/bde83c0a912ba60026abd1954e764bb09d5a013d)
#### [v1.0.36](https://github.com/zereight/gitlab-mcp/compare/v1.0.34...v1.0.36)
> 13 May 2025
- feat: Decode project_id for GitLab API calls [`08ab135`](https://github.com/zereight/gitlab-mcp/commit/08ab1357a0bfdef0bf6360f0c61759f25405652b)
- [main] refactor: update label_id schema to use string type [`bf250b0`](https://github.com/zereight/gitlab-mcp/commit/bf250b0d88fad864a93ae2d95c0f99b7eb827498)
- [main] chore: update version to 1.0.35 π [`651072d`](https://github.com/zereight/gitlab-mcp/commit/651072dfd7926101b77f095d5ce2ab9d0fe6af58)
#### [v1.0.34](https://github.com/zereight/gitlab-mcp/compare/1.0.32...v1.0.34)
> 7 May 2025
- feat: Gitlab list repository tree tool [`#35`](https://github.com/zereight/gitlab-mcp/pull/35)
- feat: support search by branch for get_merge_request [`#34`](https://github.com/zereight/gitlab-mcp/pull/34)
- fix: rename to source branch [`7b8cbc0`](https://github.com/zereight/gitlab-mcp/commit/7b8cbc0806ed9123e033d98f4965fd6fbc532c07)
- [main] docs: update README with detailed descriptions for merge request functions [`3a25e7c`](https://github.com/zereight/gitlab-mcp/commit/3a25e7c5e8b9e21585068db15e61818ca542f0f9)
- [main] chore: update version to 1.0.34 [`23a9bbc`](https://github.com/zereight/gitlab-mcp/commit/23a9bbc728a4171eb362d6458ef165d3f9246564)
#### 1.0.32
> 25 April 2025
- feat: Implement proxy configuration for HTTP/HTTPS/SOCKS [`#33`](https://github.com/zereight/gitlab-mcp/pull/33)
- feat: Add read-only mode support [`#29`](https://github.com/zereight/gitlab-mcp/pull/29)
- Add schemas for GitLab discussion notes and merge request discussions [`#26`](https://github.com/zereight/gitlab-mcp/pull/26)
- :sparkles: Add `list_group_projects tool` [`#25`](https://github.com/zereight/gitlab-mcp/pull/25)
- Update README.md [`#24`](https://github.com/zereight/gitlab-mcp/pull/24)
- Fixed types for create_merge_request and get_merge_request tools. [`#23`](https://github.com/zereight/gitlab-mcp/pull/23)
- Authentication Header Consistency Fix [`#22`](https://github.com/zereight/gitlab-mcp/pull/22)
- Labels API Support [`#21`](https://github.com/zereight/gitlab-mcp/pull/21)
- Improve README documentation with detailed tool descriptions [`#18`](https://github.com/zereight/gitlab-mcp/pull/18)
- Implement GitLab Issues and Issue Links API [`#17`](https://github.com/zereight/gitlab-mcp/pull/17)
- Add GitLab Projects API support [`#16`](https://github.com/zereight/gitlab-mcp/pull/16)
- Add GitLab Namespaces API support [`#15`](https://github.com/zereight/gitlab-mcp/pull/15)
- Fix GitLab API fork repository parameter handling [`#14`](https://github.com/zereight/gitlab-mcp/pull/14)
- Fix GitLab API parameter handling in create_or_update_file [`#13`](https://github.com/zereight/gitlab-mcp/pull/13)
- Improve code documentation with bilingual JSDoc comments [`#11`](https://github.com/zereight/gitlab-mcp/pull/11)
- Fix URL construction with smart API URL normalization [`#10`](https://github.com/zereight/gitlab-mcp/pull/10)
- Fix createNote function URL construction: use plural resource names and avoid duplicate /api/v4 [`#7`](https://github.com/zereight/gitlab-mcp/pull/7)
- Added missing api url part to create_note [`#3`](https://github.com/zereight/gitlab-mcp/pull/3)
- Deployment: Dockerfile and Smithery config [`#2`](https://github.com/zereight/gitlab-mcp/pull/2)
- add MCP server badge [`#1`](https://github.com/zereight/gitlab-mcp/pull/1)
- build: test-note.js νμΌ μμ [`61ee124`](https://github.com/zereight/gitlab-mcp/commit/61ee1244f431c591f199d93d683f2f9b573e48b6)
- Add compiled JavaScript files for Issue Links API schema fix [`a4d7795`](https://github.com/zereight/gitlab-mcp/commit/a4d7795a7ab28a28a3863e8cc77322d6829ec713)
- Build upd. [`5d10401`](https://github.com/zereight/gitlab-mcp/commit/5d1040141d20169420e63e67c438a9a942d157d6)