[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"package:cask:p4:en":3,"releases:stats:cask:p4:en":408,"releases:cask:p4:1:false:false:en":409,"releases-count:cask:p4:true:en":492},{"accentColor":4,"artifacts":5,"autoUpdates":20,"categories":21,"conflictsWith":27,"dependsOn":31,"deprecated":20,"description":39,"descriptionEn":40,"disabled":20,"displayName":41,"downloadSize":42,"downloadUrl":43,"editorChoice":20,"formulaeUrl":44,"homepage":45,"iconUrl":46,"installCommand":47,"installs":48,"installs30d":49,"isFont":20,"isLibrary":20,"kegOnly":20,"kind":52,"latestRelease":53,"machineTranslated":20,"name":41,"names":79,"platforms":80,"primaryCategory":385,"rank30d":386,"releaseCount":387,"releaseStats":388,"screenshots":395,"sourceLocale":73,"sourceUrl":396,"summary":397,"summaryTranslation":398,"supports":399,"tags":401,"tap":406,"token":8,"version":105,"versionChangedAt":407},"#4C00FF",{"apps":6,"binaries":7,"entries":9,"pkgs":19},[],[8],"p4",[10],{"declaration":11,"phase":16,"sources":17,"target":15,"type":18},{"binary":12,"target":15},[13,14],"bin.macosx12arm64",{"target":8},"$HOMEBREW_PREFIX\u002Fbin\u002Fp4","install",[13],"binary",[],false,[22],{"icon":23,"machineTranslated":20,"name":24,"slug":25,"sourceLocale":26},"lucide:code-xml","Developer Tools","developer-tools","zh-CN",{"casks":28,"formulae":30},[29],"perforce",[],{"arch":32,"casks":35,"formulae":36,"requirements":37},[33,34],"arm64","x86_64",[],[],{"macos":38},{},"Perforce Helix Command-Line Client (P4), also called P4 CLI, is a command-line tool for administrators and advanced users working with a P4 server. It runs Perforce commands, and its command options let users choose how to structure those operations. P4 is the command-line client, not the graphical P4 Visual Client (P4V).\n\n- Run Perforce commands against a P4 server from the command line.\n- Choose command structure and flags to suit an operation.\n- Work with P4, Perforce’s version control platform for tracking changes to digital assets, including source code and 3D assets.\n- The Homebrew cask installs the `p4` binary in Homebrew’s binary directory.\n\nInstall on macOS with `brew install --cask p4`. Once installed, invoke the client as `p4` in a command-line environment; using it against a server requires access to a P4 server. This cask conflicts with the separate `perforce` cask, so do not install both together.\n\n[Perforce P4 CLI](https:\u002F\u002Fwww.perforce.com\u002Fproducts\u002Fhelix-core-apps\u002Fcommand-line-client) · [Homebrew cask](https:\u002F\u002Fraw.githubusercontent.com\u002FHomebrew\u002Fhomebrew-cask\u002FHEAD\u002FCasks\u002Fp\u002Fp4.rb)","Use it to gain instant access to operations and complete control over the system","Perforce Helix Command-Line Client (P4)",11019024,"https:\u002F\u002Ffilehost.perforce.com\u002Fperforce\u002Fr26.1\u002Fbin.macosx12arm64\u002Fp4","https:\u002F\u002Fformulae.brew.sh\u002Fcask\u002Fp4","https:\u002F\u002Fwww.perforce.com\u002Fproducts\u002Fhelix-core-apps\u002Fcommand-line-client","https:\u002F\u002Fcdn.opennavo.com\u002Ficons\u002Fuploads\u002Ff0b06e75a8c5\u002Fea04c802325f-256.png","brew install --cask p4",{"d30":49,"d365":50,"d90":51},100,2029,423,"cask",{"bodyMarkdown":54,"brewCommittedAt":55,"hasNotes":56,"id":57,"isLatest":56,"isPrerelease":20,"machineTranslated":20,"publishedAt":58,"sections":59,"source":72,"sourceLocale":73,"summary":74,"title":75,"translation":76,"version":78},"P4 2026.1 and its listed patches improve several file operations. Files whose type is determined by a typemap can be added without reading their content; setting filesys.binaryscan to 0 now reports that scanning is disabled and identifies the assumed type. Switching large workspaces reads less content and exchanges fewer server messages. Reconcile defers digest and metadata calculation until after server-side classification, and parallel sync, submit, and shelve distribute work more evenly across requested threads.\n\nThe release fixes a client crash on Apple Silicon ARM64e Macs when a sync is cancelled, an illegal-instruction crash on CPUs without SSE4.1 during compression operations, and invalid cross-device link errors in certain sync configurations. It also makes localtime and gmtime threadsafe on all platforms. On Windows, paths beginning with two forward slashes are treated as Perforce paths rather than expanded as wildcards; paths beginning with two backslashes may still be expanded as UNC paths.\n\nOther changes include severity text in -Mj JSON output and the P4_SYSTEMIGNORE client configurable, which can block specified configuration files from syncing or submitting. OpenSSL was updated to 3.5.5 and later 3.5.7; curl was upgraded from 8.16.0 to 8.21.0, associated with CVE-2026-7168.\n\nSource: https:\u002F\u002Fwww.perforce.com\u002Fperforce\u002Fdoc.current\u002Fuser\u002Frelnotes.txt","2026-05-22T02:14:42Z",true,4696,"2026-09-08T00:00:00Z",[60,67],{"area":61,"items":62},"Fixes",[63,64,65,66],"Faster add, switch, reconcile, and parallel operations","Fixed crashes and sync errors","Added severity text to JSON message output","Added P4_SYSTEMIGNORE configuration",{"area":68,"items":69},"Updates",[70,71],"OpenSSL updated to 3.5.7; curl to 8.21.0","curl update addresses CVE-2026-7168","editorial","en-US","P4 2026.1 includes fixes for file-operation performance, crashes, JSON output, and configuration-file handling, plus OpenSSL and curl updates, including a curl update associated with CVE-2026-7168.","Perforce Helix Command-Line Client (P4) 2026.1",{"locale":73,"machineTranslated":20,"sourceLocale":73,"status":77},"source","2026.1",[41,8],[81,106,127,149,170,192,213,235,256,278,299,321,342,364],{"arch":34,"artifacts":82,"conflictsWith":93,"dependsOn":96,"downloadUrl":102,"macos":103,"requiresRosetta":20,"tag":104,"version":105},{"apps":83,"binaries":84,"entries":85,"pkgs":92},[],[8],[86],{"declaration":87,"phase":16,"sources":91,"target":15,"type":18},{"binary":88,"target":15},[89,90],"bin.macosx1015x86_64",{"target":8},[89],[],{"casks":94,"formulae":95},[29],[],{"arch":97,"casks":98,"formulae":99,"requirements":100},[34],[],[],{"macos":101},{},"https:\u002F\u002Ffilehost.perforce.com\u002Fperforce\u002Fr26.1\u002Fbin.macosx1015x86_64\u002Fp4","27","golden_gate","2026.1,3089746",{"arch":33,"artifacts":107,"conflictsWith":117,"dependsOn":120,"downloadUrl":43,"macos":103,"requiresRosetta":20,"tag":126,"version":105},{"apps":108,"binaries":109,"entries":110,"pkgs":116},[],[8],[111],{"declaration":112,"phase":16,"sources":115,"target":15,"type":18},{"binary":113,"target":15},[13,114],{"target":8},[13],[],{"casks":118,"formulae":119},[29],[],{"arch":121,"casks":122,"formulae":123,"requirements":124},[33],[],[],{"macos":125},{},"arm64_golden_gate",{"arch":34,"artifacts":128,"conflictsWith":138,"dependsOn":141,"downloadUrl":102,"macos":147,"requiresRosetta":20,"tag":148,"version":105},{"apps":129,"binaries":130,"entries":131,"pkgs":137},[],[8],[132],{"declaration":133,"phase":16,"sources":136,"target":15,"type":18},{"binary":134,"target":15},[89,135],{"target":8},[89],[],{"casks":139,"formulae":140},[29],[],{"arch":142,"casks":143,"formulae":144,"requirements":145},[34],[],[],{"macos":146},{},"26","tahoe",{"arch":33,"artifacts":150,"conflictsWith":160,"dependsOn":163,"downloadUrl":43,"macos":147,"requiresRosetta":20,"tag":169,"version":105},{"apps":151,"binaries":152,"entries":153,"pkgs":159},[],[8],[154],{"declaration":155,"phase":16,"sources":158,"target":15,"type":18},{"binary":156,"target":15},[13,157],{"target":8},[13],[],{"casks":161,"formulae":162},[29],[],{"arch":164,"casks":165,"formulae":166,"requirements":167},[33],[],[],{"macos":168},{},"arm64_tahoe",{"arch":34,"artifacts":171,"conflictsWith":181,"dependsOn":184,"downloadUrl":102,"macos":190,"requiresRosetta":20,"tag":191,"version":105},{"apps":172,"binaries":173,"entries":174,"pkgs":180},[],[8],[175],{"declaration":176,"phase":16,"sources":179,"target":15,"type":18},{"binary":177,"target":15},[89,178],{"target":8},[89],[],{"casks":182,"formulae":183},[29],[],{"arch":185,"casks":186,"formulae":187,"requirements":188},[34],[],[],{"macos":189},{},"15","sequoia",{"arch":33,"artifacts":193,"conflictsWith":203,"dependsOn":206,"downloadUrl":43,"macos":190,"requiresRosetta":20,"tag":212,"version":105},{"apps":194,"binaries":195,"entries":196,"pkgs":202},[],[8],[197],{"declaration":198,"phase":16,"sources":201,"target":15,"type":18},{"binary":199,"target":15},[13,200],{"target":8},[13],[],{"casks":204,"formulae":205},[29],[],{"arch":207,"casks":208,"formulae":209,"requirements":210},[33],[],[],{"macos":211},{},"arm64_sequoia",{"arch":34,"artifacts":214,"conflictsWith":224,"dependsOn":227,"downloadUrl":102,"macos":233,"requiresRosetta":20,"tag":234,"version":105},{"apps":215,"binaries":216,"entries":217,"pkgs":223},[],[8],[218],{"declaration":219,"phase":16,"sources":222,"target":15,"type":18},{"binary":220,"target":15},[89,221],{"target":8},[89],[],{"casks":225,"formulae":226},[29],[],{"arch":228,"casks":229,"formulae":230,"requirements":231},[34],[],[],{"macos":232},{},"14","sonoma",{"arch":33,"artifacts":236,"conflictsWith":246,"dependsOn":249,"downloadUrl":43,"macos":233,"requiresRosetta":20,"tag":255,"version":105},{"apps":237,"binaries":238,"entries":239,"pkgs":245},[],[8],[240],{"declaration":241,"phase":16,"sources":244,"target":15,"type":18},{"binary":242,"target":15},[13,243],{"target":8},[13],[],{"casks":247,"formulae":248},[29],[],{"arch":250,"casks":251,"formulae":252,"requirements":253},[33],[],[],{"macos":254},{},"arm64_sonoma",{"arch":34,"artifacts":257,"conflictsWith":267,"dependsOn":270,"downloadUrl":102,"macos":276,"requiresRosetta":20,"tag":277,"version":105},{"apps":258,"binaries":259,"entries":260,"pkgs":266},[],[8],[261],{"declaration":262,"phase":16,"sources":265,"target":15,"type":18},{"binary":263,"target":15},[89,264],{"target":8},[89],[],{"casks":268,"formulae":269},[29],[],{"arch":271,"casks":272,"formulae":273,"requirements":274},[34],[],[],{"macos":275},{},"13","ventura",{"arch":33,"artifacts":279,"conflictsWith":289,"dependsOn":292,"downloadUrl":43,"macos":276,"requiresRosetta":20,"tag":298,"version":105},{"apps":280,"binaries":281,"entries":282,"pkgs":288},[],[8],[283],{"declaration":284,"phase":16,"sources":287,"target":15,"type":18},{"binary":285,"target":15},[13,286],{"target":8},[13],[],{"casks":290,"formulae":291},[29],[],{"arch":293,"casks":294,"formulae":295,"requirements":296},[33],[],[],{"macos":297},{},"arm64_ventura",{"arch":34,"artifacts":300,"conflictsWith":310,"dependsOn":313,"downloadUrl":102,"macos":319,"requiresRosetta":20,"tag":320,"version":105},{"apps":301,"binaries":302,"entries":303,"pkgs":309},[],[8],[304],{"declaration":305,"phase":16,"sources":308,"target":15,"type":18},{"binary":306,"target":15},[89,307],{"target":8},[89],[],{"casks":311,"formulae":312},[29],[],{"arch":314,"casks":315,"formulae":316,"requirements":317},[34],[],[],{"macos":318},{},"12","monterey",{"arch":33,"artifacts":322,"conflictsWith":332,"dependsOn":335,"downloadUrl":43,"macos":319,"requiresRosetta":20,"tag":341,"version":105},{"apps":323,"binaries":324,"entries":325,"pkgs":331},[],[8],[326],{"declaration":327,"phase":16,"sources":330,"target":15,"type":18},{"binary":328,"target":15},[13,329],{"target":8},[13],[],{"casks":333,"formulae":334},[29],[],{"arch":336,"casks":337,"formulae":338,"requirements":339},[33],[],[],{"macos":340},{},"arm64_monterey",{"arch":34,"artifacts":343,"conflictsWith":353,"dependsOn":356,"downloadUrl":102,"macos":362,"requiresRosetta":20,"tag":363,"version":105},{"apps":344,"binaries":345,"entries":346,"pkgs":352},[],[8],[347],{"declaration":348,"phase":16,"sources":351,"target":15,"type":18},{"binary":349,"target":15},[89,350],{"target":8},[89],[],{"casks":354,"formulae":355},[29],[],{"arch":357,"casks":358,"formulae":359,"requirements":360},[34],[],[],{"macos":361},{},"11","big_sur",{"arch":33,"artifacts":365,"conflictsWith":375,"dependsOn":378,"downloadUrl":43,"macos":362,"requiresRosetta":20,"tag":384,"version":105},{"apps":366,"binaries":367,"entries":368,"pkgs":374},[],[8],[369],{"declaration":370,"phase":16,"sources":373,"target":15,"type":18},{"binary":371,"target":15},[13,372],{"target":8},[13],[],{"casks":376,"formulae":377},[29],[],{"arch":379,"casks":380,"formulae":381,"requirements":382},[33],[],[],{"macos":383},{},"arm64_big_sur",{"icon":23,"machineTranslated":20,"name":24,"slug":25,"sourceLocale":26},793,7,{"brewLag":389,"cadence":393,"count30d":394},{"compared":390,"earlierCount":391,"medianMinutes":392},3,1,8187,"irregular",0,[],"https:\u002F\u002Fgithub.com\u002Fhomebrew\u002Fhomebrew-cask\u002Fblob\u002FHEAD\u002FCasks\u002Fp\u002Fp4.rb","A command-line client for running Perforce commands against a P4 server.",{"locale":73,"machineTranslated":20,"sourceLocale":73,"status":77},{"arm64":56,"requiresRosetta":20,"status":400,"x86_64":56},"known",[402,403,404,405],"command-line tool","version control","server client","asset tracking","homebrew\u002Fcask","2026-10-09T21:15:37.975171Z",null,{"current":391,"records":410,"size":489,"stats":490,"total":387},[411,418,441,467,474,479,484],{"bodyMarkdown":54,"brewCommittedAt":55,"hasNotes":56,"id":57,"isLatest":56,"isPrerelease":20,"machineTranslated":20,"publishedAt":58,"sections":412,"source":72,"sourceLocale":73,"summary":74,"title":75,"translation":417,"version":78},[413,415],{"area":61,"items":414},[63,64,65,66],{"area":68,"items":416},[70,71],{"locale":73,"machineTranslated":20,"sourceLocale":73,"status":77},{"bodyMarkdown":419,"brewCommittedAt":420,"hasNotes":56,"id":421,"isLatest":20,"isPrerelease":20,"machineTranslated":20,"publishedAt":422,"sections":423,"source":72,"sourceLocale":73,"summary":437,"title":438,"translation":439,"version":440},"P4 2025.2 includes client-side fixes for interrupted syncs, parallel operations, reconcile, and merge handling. If Ctrl-C interrupts a sync, the client no longer ends up inconsistent with the server. Tickets supplied through `p4 -P` or `P4PASSWD` are handled correctly during parallel operations. Reconcile now handles file-open failures with improved error handling, and it no longer matches multiple deletes to the same add when identical file content could lead to missing resolve records at submit. Merge-tool failures are handled consistently across platforms and no longer result in a false merge.\n\nThe release also fixes a performance issue when reading RCS file content for commands that compare revisions. Bundled cURL for extensions is updated to 8.16.0, and JSON for Modern C++ is updated to 3.12.0. These notes cover the P4 CLI component only. [Official changelog](https:\u002F\u002Fwww.perforce.com\u002Fperforce\u002Fdoc.current\u002Fuser\u002Frelnotes.txt)","2025-11-18T16:27:26Z",4687,"2025-11-13T00:00:00Z",[424,431],{"area":61,"items":425},[426,427,428,429,430],"Ctrl-C during sync no longer leaves the client inconsistent.","Tickets work correctly during parallel operations.","Reconcile reports file-open failures more clearly.","Merge-tool failures no longer produce false merges.","Reconcile no longer matches multiple deletes to one add.",{"area":432,"items":433},"Components",[434,435,436],"cURL for extensions updated to 8.16.0.","JSON for Modern C++ updated to 3.12.0.","Fixed performance when reading RCS content for revision comparisons.","P4 CLI fixes address sync interruption, parallel-operation tickets, reconcile handling, merge-tool failures, and related issues. The release also updates bundled cURL and JSON for Modern C++ components.","Perforce Helix Command-Line Client (P4) 2025.2",{"locale":73,"machineTranslated":20,"sourceLocale":73,"status":77},"2025.2",{"bodyMarkdown":442,"brewCommittedAt":443,"hasNotes":56,"id":444,"isLatest":20,"isPrerelease":20,"machineTranslated":20,"publishedAt":445,"sections":446,"source":72,"sourceLocale":73,"summary":463,"title":464,"translation":465,"version":466},"P4 2025.1 changes how `p4 reconcile` detects moves: matching added and deleted files are reopened as moves only when `-M` or `--match-moves` is specified. `p4 move -M [-c changelist#]` can find matching files in a pending changelist. Move detection can use multiple client-side threads with `--parallel=n`; `p4 reconcile` and `p4 move` also support progress indicators through the global `-I` option.\n\nTCP keepalive is enabled by default. The new `net.nagle` and `net.quickack` settings apply to clients and server components and affect new connections only; existing connections are unaffected. On macOS, changing `net.quickack` does not alter individual socket options, and the documented system-level changes require a reboot. Cipher-list configurables are available on clients, proxies, and brokers. TLS handling now permits the minimum version when it exceeds the maximum, and services accepting only TLS 1.2 or later use `ECDHE-RSA-AES128-GCM-SHA256` as the default cipher suite.\n\nFixes include Windows keepalive values above 127 not taking effect, parallel sync producing zero-byte binary+F files with Unicode servers, and concurrent AltSync sync failures on Windows. cURL is upgraded to 8.12.1. [Official changelog](https:\u002F\u002Fwww.perforce.com\u002Fperforce\u002Fdoc.current\u002Fuser\u002Frelnotes.txt)","2025-05-16T01:09:26Z",4698,"2025-05-09T00:00:00Z",[447,453,459],{"area":448,"items":449},"Commands",[450,451,452],"reconcile matches moves only with -M or --match-moves.","p4 move -M can reopen matching pending adds and deletes as moves.","reconcile adds --parallel=n; reconcile and move support -I progress.",{"area":454,"items":455},"Network",[456,457,458],"TCP keepalive is now enabled by default; net.nagle and net.quickack are new.","Cipher-list settings now work on clients, proxies, and brokers.","TLS minimum\u002Fmaximum handling and the TLS 1.2+ default cipher changed.",{"area":61,"items":460},[461,462],"Fixed Windows keepalive values above 127 and parallel sync zero-byte files.","Fixed AltSync concurrent sync failures; cURL upgraded to 8.12.1.","Adds move matching and parallel move detection to reconcile, network and TLS configuration options, and fixes for Windows keepalive settings, parallel sync, and AltSync.","Perforce Helix Command-Line Client (P4) 2025.1",{"locale":73,"machineTranslated":20,"sourceLocale":73,"status":77},"2025.1",{"brewCommittedAt":468,"hasNotes":20,"isLatest":20,"isPrerelease":20,"sections":469,"source":470,"translation":471,"version":473},"2024-11-11T19:14:55Z",[],"homebrew",{"status":472},"none","2024.2",{"brewCommittedAt":475,"hasNotes":20,"isLatest":20,"isPrerelease":20,"sections":476,"source":470,"translation":477,"version":478},"2024-05-16T11:11:32Z",[],{"status":472},"2024.1",{"brewCommittedAt":480,"hasNotes":20,"isLatest":20,"isPrerelease":20,"sections":481,"source":470,"translation":482,"version":483},"2023-11-17T13:22:12Z",[],{"status":472},"2023.2",{"brewCommittedAt":485,"hasNotes":20,"isLatest":20,"isPrerelease":20,"sections":486,"source":470,"translation":487,"version":488},"2023-11-08T11:12:07Z",[],{"status":472},"2023.1",20,{"brewLag":491,"cadence":393,"count30d":394},{"compared":390,"earlierCount":391,"medianMinutes":392},{"current":391,"records":493,"size":391,"stats":501,"total":387},[494],{"bodyMarkdown":54,"brewCommittedAt":55,"hasNotes":56,"id":57,"isLatest":56,"isPrerelease":20,"machineTranslated":20,"publishedAt":58,"sections":495,"source":72,"sourceLocale":73,"summary":74,"title":75,"translation":500,"version":78},[496,498],{"area":61,"items":497},[63,64,65,66],{"area":68,"items":499},[70,71],{"locale":73,"machineTranslated":20,"sourceLocale":73,"status":77},{"brewLag":502,"cadence":393,"count30d":394},{"compared":390,"earlierCount":391,"medianMinutes":392}]