1"use strict";(self.webpackChunkpartners=self.webpackChunkpartners||[]).push([[17619],{15680:(e,t,r)=>{r.d(t,{xA:()=>c,yg:()=>g});var a=r(96540);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function o(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){n(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function p(e,t){if(null==e)return{};var r,a,n=function(e,t){if(null==e)return{};var r,a,n={},i=Object.keys(e);for(a=0;a<i.length;a++)r=i[a],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)r=i[a],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var l=a.createContext({}),s=function(e){var t=a.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):o(o({},t),e)),r},c=function(e){var t=s(e.components);return a.createElement(l.Provider,{value:t},e.children)},m="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},d=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,i=e.originalType,l=e.parentName,c=p(e,["components","mdxType","originalType","parentName"]),m=s(r),d=n,g=m["".concat(l,".").concat(d)]||m[d]||u[d]||i;return r?a.createElement(g,o(o({ref:t},c),{},{components:r})):a.createElement(g,o({ref:t},c))}));function g(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var i=r.length,o=new Array(i);o[0]=d;var p={};for(var l in t)hasOwnProperty.call(t,l)&&(p[l]=t[l]);p.originalType=e,p[m]="string"==typeof e?e:n,o[1]=p;for(var s=2;s<i;s++)o[s]=r[s];return a.createElement.apply(null,o)}return a.createElement.apply(null,r)}d.displayName="MDXCreateElement"},99727:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>u,frontMatter:()=>i,metadata:()=>p,toc:()=>s});var a=r(58168),n=(r(96540),r(15680));const i={title:"1.37.0"},o=void 0,p={unversionedId:"docs/on-premises/releases/1.37.0",id:"docs/on-premises/releases/1.37.0",title:"1.37.0",description:"Release date",source:"@site/docs/docs/on-premises/releases/1.37.0.md",sourceDirName:"docs/on-premises/releases",slug:"/docs/on-premises/releases/1.37.0",permalink:"/docs/on-premises/releases/1.37.0",draft:!1,editUrl:"https://github.com/pactflow/docs.pactflow.io/edit/master/website/docs/docs/on-premises/releases/1.37.0.md",tags:[],version:"current",lastUpdatedBy:"Matt Fellows",lastUpdatedAt:1752757072,formattedLastUpdatedAt:"Jul 17, 2025",frontMatter:{title:"1.37.0"},sidebar:"onprem",previous:{title:"1.37.1",permalink:"/docs/on-premises/releases/1.37.1"},next:{title:"1.36.0",permalink:"/docs/on-premises/releases/1.36.0"}},l={},s=[{value:"Release date",id:"release-date",level:2},{value:"Features",id:"features",level:2},{value:"Fixes",id:"fixes",level:2},{value:"Pact Broker Updates",id:"pact-broker-updates",level:2},{value:"Features",id:"features-1",level:3},{value:"Bug Fixes",id:"bug-fixes",level:3},{value:"Migration notes",id:"migration-notes",level:2}],c={toc:s},m="wrapper";
1function u(e){let{components:t,...r}=e;return(0,n.yg)(m,(0,a.A)({},c,r,{components:t,mdxType:"MDXLayout"}),(0,n.yg)("h2",{id:"release-date"},"Release date"),(0,n.yg)("p",null,"11 July 2025"),(0,n.yg)("h2",{id:"features"},"Features"),(0,n.yg)("ul",null,(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("p",{parentName:"li"},(0,n.yg)("strong",{parentName:"p"},"Bi-Directional Contract Testing")," "),(0,n.yg)("ul",{parentName:"li"},(0,n.yg)("li",{parentName:"ul"},"A new ",(0,n.yg)("a",{parentName:"li",href:"https://github.com/pactflow/openapi-pact-comparator/"},"comparison engine")," delivers up to 100\xd7 faster performance than the ",(0,n.yg)("a",{parentName:"li",href:"https://github.com/pactflow/swagger-mock-validator/"},"previous engine"),"."),(0,n.yg)("li",{parentName:"ul"},"Support added for ",(0,n.yg)("a",{parentName:"li",href:"/docs/bi-directional-contract-testing/contracts/oas/configuration"},"configurable behavior"),"."))),(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("p",{parentName:"li"},(0,n.yg)("strong",{parentName:"p"},"Stub server updates")," "),(0,n.yg)("ul",{parentName:"li"},(0,n.yg)("li",{parentName:"ul"},"Now supports the Pact specification up to version 4."),(0,n.yg)("li",{parentName:"ul"},"Includes additional ",(0,n.yg)("a",{parentName:"li",href:"/docs/stubs"},"configuration options"),"."))),(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("p",{parentName:"li"},(0,n.yg)("strong",{parentName:"p"},"OpenTelemetry support")),(0,n.yg)("ul",{parentName:"li"},(0,n.yg)("li",{parentName:"ul"},"Added native ",(0,n.yg)("a",{parentName:"li",href:"https://opentelemetry.io/"},"OpenTelemetry")," (OTel) instrumentation for enhanced observability in on-premise environments."),(0,n.yg)("li",{parentName:"ul"},"This allows you to monitor API performance, troubleshoot issues faster, and integrate PactFlow into existing observability stacks."),(0,n.yg)("li",{parentName:"ul"},"See the ",(0,n.yg)("a",{parentName:"li",href:"/docs/on-premises-2x/observability"},"OpenTelemetry guide")," for setup instructions and details."))),(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("p",{parentName:"li"},(0,n.yg)("strong",{parentName:"p"},"Minor updates")),(0,n.yg)("ul",{parentName:"li"},(0,n.yg)("li",{parentName:"ul"},"Added ability to delete an integration in the HAL relations and expose it in the HAL Explorer.")))),(0,n.yg)("h2",{id:"fixes"},"Fixes"),(0,n.yg)("ul",null,(0,n.yg)("li",{parentName:"ul"},"Improved support for URI-encoded paths in BDC for OpenAPI."),(0,n.yg)("li",{parentName:"ul"},"Stripped Byte Order Mark (BOM) from provider contracts if present."),(0,n.yg)("li",{parentName:"ul"},"Fixed an intermittent 401 error triggered by ",(0,n.yg)("inlineCode",{parentName:"li"},"auth_ext_script")," custom extension.")),(0,n.yg)("h2",{id:"pact-broker-updates"},"Pact Broker Updates"),(0,n.yg)("p",null,"The following updates from the ",(0,n.yg)("a",{parentName:"p",href:"https://github.com/pact-foundation/pact_broker/"},"Pact Broker")," have been incorporated into this release:"),(0,n.yg)("h3",{id:"features-1"},"Features"),(0,n.yg)("ul",null,(0,n.yg)("li",{parentName:"ul"},"Added ",(0,n.yg)("inlineCode",{parentName:"li"},"deployed-environments")," to Pacticipant and tag version responses",(0,n.yg)("br",{parentName:"li"}),(0,n.yg)("a",{parentName:"li",href:"https://github.com/pact-foundation/pact_broker/pull/804"},"#804")," | ",(0,n.yg)("a",{parentName:"li",href:"https://github.com/pact-foundation/pact_broker/commit/d8c7ee65"},"commit"),(0,n.yg)("br",{parentName:"li"}),(0,n.yg)("a",{parentName:"li",href:"https://github.com/pact-foundation/pact_broker/pull/803"},"#803")," | ",(0,n.yg)("a",{parentName:"li",href:"https://github.com/pact-foundation/pact_broker/commit/cc346010"},"commit")),(0,n.yg)("li",{parentName:"ul"},"Added ",(0,n.yg)("inlineCode",{parentName:"li"},"tag_versions")," endpoint",(0,n.yg)("br",{parentName:"li"}),(0,n.yg)("a",{parentName:"li",href:"https://github.com/pact-foundation/pact_broker/commit/42bf5203"},"commit")),(0,n.yg)("li",{parentName:"ul"},"Added ",(0,n.yg)("inlineCode",{parentName:"li"},"deployed-environments")," to ",(0,n.yg)("inlineCode",{parentName:"li"},"/participants/$name/versions"),(0,n.yg)("br",{parentName:"li"}),(0,n.yg)("a",{parentName:"li",href:"https://github.com/pact-foundation/pact_broker/pull/801"},"#801")," | ",(0,n.yg)("a",{parentName:"li",href:"https://github.com/pact-foundation/pact_broker/commit/af66f6a3"},"commit")),(0,n.yg)("li",{parentName:"ul"},"Added ",(0,n.yg)("inlineCode",{parentName:"li"},"/pacts/provider/{provider}/provider-states")," API to group provider states by consumer\n",(0,n.yg)("a",{parentName:"li",href:"https://github.com/pact-foundation/pact_broker/pull/790"},"#790")," | ",(0,n.yg)("a",{parentName:"li",href:"https://github.com/pact-foundation/pact_broker/commit/e39860a9"},"commit"))),(0,n.yg)("h3",{id:"bug-fixes"},"Bug Fixes"),(0,n.yg)("ul",null,(0,n.yg)("li",{parentName:"ul"}
1,"Refactored integration queries to eliminate duplicate rows",(0,n.yg)("br",{parentName:"li"}),(0,n.yg)("a",{parentName:"li",href:"https://github.com/pact-foundation/pact_broker/pull/806"},"#806")," | ",(0,n.yg)("a",{parentName:"li",href:"https://github.com/pact-foundation/pact_broker/commit/7bff0f0d"},"commit")),(0,n.yg)("li",{parentName:"ul"},"De-duplicated non-unique provider states",(0,n.yg)("br",{parentName:"li"}),(0,n.yg)("a",{parentName:"li",href:"https://github.com/pact-foundation/pact_broker/issues/789"},"#789")," | ",(0,n.yg)("a",{parentName:"li",href:"https://github.com/pact-foundation/pact_broker/commit/3cf22169"},"commit")),(0,n.yg)("li",{parentName:"ul"},"Explicitly ordered label lists by name",(0,n.yg)("br",{parentName:"li"}),(0,n.yg)("a",{parentName:"li",href:"https://github.com/pact-foundation/pact_broker/commit/d25746c1"},"commit"))),(0,n.yg)("h2",{id:"migration-notes"},"Migration notes"),(0,n.yg)("ol",null,(0,n.yg)("li",{parentName:"ol"},(0,n.yg)("inlineCode",{parentName:"li"},"PACTFLOW_COOKIE_SECRET")," must now be at least 64 characters. ",(0,n.yg)("a",{parentName:"li",href:"/docs/on-premises/environment-variables#pactflow_cookie_secret"},"More info"),".")))}u.isMDXComponent=!0}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.