A large release: a simplified, breaking contract format plus full redesigns of both the TUI and the desktop GUI editors around it.
Changed
- Contract format (breaking). The request URL is now a single free-form string (
"url": "https://api.example.com/v1/users/{id}") with inline{name}path tokens, replacing the old structured URL object. Query parameters are{ name, value, description, required }, both query parameters and headers gain arequiredflag, and each response can carry its ownheaders. A request body is the raw JSON payload written directly underrequest, and a response body is written under the response'sschemakey. The oldtype/schemafield-level model and the{ "example": ... }body wrapper are gone. - User-facing messages use commas instead of semicolons and em-dashes.
- TUI editing, redesigned. The endpoint header is one inline-editable
METHOD urlline; the method is chosen from a picker popup instead of cycling.QUERYandHEADERSareNAME/VALUE(/DESCRIPTION)tables.RESPONSEis acode - titletab strip:aopens aStatus / Short Descriptionform and then the JSON editor,eedits a tab's status/title (or opens the editor on its body), anddremoves a response. The JSON editor saves withCtrl-S, cancels withEsc, and pretty-prints withCtrl-P; saving an empty body removes its response. - Desktop GUI, redesigned. A single tabbed editor (Overview, Headers, Query, Request, Response) with a line-numbered JSON editor, metadata tables carrying a Required/Optional chip, editable response-code tabs, frameless inline inputs, and a calmer green theme.
Added
- The HTTP method is selected from a dropdown in the GUI (and a picker popup in the TUI) listing all methods, rather than cycling one click at a time.
- A
requiredflag on request headers and query parameters, surfaced across the CLI/TUI/GUI, the Postman converter, and the project template. - Response-level
headers, editable in both the TUI and the GUI. apic convert --postmangains a--forceflag to overwrite contracts thatalready exist. The default still refuses (erroring on an existing file), and the error now points to--force.- Refreshed bundled
example/project (authentication/andprofile/sets).
Removed
- The structured body schema,
type, fieldschema, typed fields,properties,file/acceptparts, andobject[]array bodies, along with the structured URL object. Request and response bodies are now raw JSON payloads (the request written directly underrequest, a response underschema). apic read --example(bodies are already example-only) and the TUI schema generate/infer keys, which no longer have a schema to operate on.
Fixed
- GUI: the sidebar method badge now refreshes when a contract is saved.
- GUI: warn when installing a per-user launcher entry would duplicate an existing system-wide
apicentry. - TUI: numerous editing-correctness fixes (method focus on the url line, modal key handling after close, selected response-tab text color, empty-row cleanup).
- Windows: statically link the MSVC CRT so binaries run without VCRedist, and install
apic-gui.exeat the MSI root so winget resolves the executable.