Популярное: Данные обновлены: 12 ноября 2026 г.

Категории

Интернет1 409
Общение327
Аудио и видео931
Графика и дизайн563
Офис и продуктивность1 167
Разработка3 263
Нейросети и ИИ600
Безопасность406
Системные программы3 174
Игры543
Образование и наука240
Сеть и IT292

apic: скачать старые версии

A lightweight, Git-friendly CLI tool for designing and collaborating on API contracts.

Список включает 5 версий программы apic — с 16 июля 2026 г. по текущую версию 1.0.0. Каждая версия ведёт на установщики с сервера разработчика.

2026: 5 5 26
ВерсияДатаРазмерФайлы
1.0.0Последняя 8 ноября 2026 г. — 64-бит ZIP
Список изменений
The first stable release. The desktop GUI now covers the whole loop of working on API contracts in git: edit a contract, send it, review and commit the change, pull, merge and resolve conflicts, and read the history with the new git log panel. The CLI moves to curl-style `create` and `edit`, gains `apic send` with environments, and apic is now licensed under GPL-3.0-only. The contract format is unchanged, so existing projects need no migration.

### Added

- **Git log panel.** The clock button next to the branch dropdown opens a resizable log at the bottom of the window, remembered across launches. It shows a branch's commits with a painted graph, ref labels, author and date, 500 at a time with Load more, and filters by text or hash, branch, user, date range and path. Clicking a commit lists its changed files, and clicking a file shows that commit's diff in the main area. Right-click a commit to copy its hash or revert it after a confirmation. A conflicting revert lands in the conflict resolver.
- **Merge conflict popup.** When a git status finds a file newly conflicted, whether from a Pull or Merge in the branch menu, from git outside the app, or on opening a project mid-merge, a popup lists every conflicted file so the conflict is not missed. OK closes it until another file becomes conflicted.
- **New request and New template without a project.** With no project open, the sidebar's `+` and the Templates section's `+` ask for a folder first, set it up as a project unless it already is one, open it, and then show the dialog. Before, the dialog opened and Create only said "no project".
- **Pull and merge from the GUI branch dropdown.** Each branch has a ⋮ button with Pull, Merge and Delete. It replaces the right-click menu, which closed the dropdown and never showed. Pull lists remote branches and fetches every remote before merging, Merge lists local and remote branches, and both confirm in a popup naming the two branches. A branch that is not checked out is checked out first. Conflicts land in the conflict resolver, and both are refused while a contract has unsaved edits.
- **Sending from the GUI.** The Send button in the URL bar, or Ctrl+Enter (Cmd+Enter on macOS), sends the open contract as shown, unsaved edits included, with a 30 s timeout, and Cancel drops the reply. The environment dropdown in the app bar picks an environment per project, and every send reloads it from disk. A `{name}` path param the environment leaves empty is asked for in a popup. The right pane switches between the documented Examples and the Live reply with its status, time, size, body and headers. The URL bar and values colour `$name`, `${name}`, `{{name}}` and `{name}`, in the warning colour when the selected environment does not define the name.
- **`apic send`, environments and variables.** `apic send -f <query>` sends a contract's request and prints the response body, with `--env <name>`, `--var NAME=VALUE`, `-i` and `--timeout`. `$name`, `${name}` and `{{name}}` are filled from `.apic/env/<name>.toml`, overlaid by the gitignored `<name>.local.toml`. `apic env` lists the environments without printing values, and `apic vars --convert [--write]` rewrites `{{name}}` to `$name`.
- **JSON syntax highlighting in `apic read`.** Request and response bodies are coloured by token on a terminal: keys blue, string values green, numbers yellow, `true`, `false` and `null` magenta, and punctuation dim, using the terminal's own basic colours. Piped or redirected output stays plain.
- `apic read` and `apic list` honour `NO_COLOR`: when it is set and not empty, no colour is written even on a terminal.

### Changed

- **New app icon.** The green flame is now a blue flame, in the window, the Linux launcher, the Windows installer and the macOS bundle.
- **apic is now licensed under the GNU General Public License, version 3 only (GPL-3.0-only)**, replacing the MIT License, starting with this release. `LICENSE`, the crate manifests, the Windows installer's license pag
0.5.1 28 августа 2026 г. — 64-бит ZIP
Список изменений
A packaging release on top of 0.5.0, plus one change to how the git panel presents a diff. The CLI, the TUI, and the contract format are unchanged, so existing projects need no migration.

## Installable from apt on Ubuntu

`packaging/debian/` builds `apic` and `apic-gui` as `.deb` packages for Ubuntu 26.04 on amd64 and arm64, published through the PPA `ppa:rizukirr/apic`.

Unlike the AUR and Copr packages, which ship prebuilt binaries, Launchpad compiles from source on builders with no network access. `mk-orig.sh` vendors all 566 crate dependencies into the orig tarball and verifies the vendor tree is internally consistent before writing it. `apic-gui` now declares the `git` runtime dependency it has always needed.

Getting there meant moving `eframe` and `egui_extras` back to 0.35 and dropping the declared MSRV from 1.97 to 1.92. `epaint 0.36.1` requires Rust 1.95, while Ubuntu 26.04 ships 1.93 as its newest archive toolchain, which put the desktop GUI out of reach of the current LTS. The downgrade needed no source change and the full suite passes on 1.92.

A new `msrv` job in CI builds and tests the workspace on the minimum supported version, so a routine dependency bump cannot silently push the project past what the Ubuntu archive can compile.

## Git panel:field list first, real diff behind the toggle

Selecting a changed contract now opens on its field list, which says what changed about the contract, rather than on the whole file with the changed lines tinted.

The checkbox that read `Show changed fields` now reads `Show raw diff` and gives git's own output, with hunk headers and `+`/`-` markers, instead of the entire file. It stays where you put it when you click a different file rather than resetting each time.

Anything the field list cannot describe falls through to the diff:a non-contract file, an untracked file, or a change that is only formatting. A selection never lands on an empty pane.

One fix underneath this. The diff renderer kept only the first hunk header and printed every later one a character short, which nothing noticed while the panel asked git for the whole file as a single hunk. It now keeps the markers git emits and colors each `@@` header.

## Install

Prebuilt binaries for Linux, macOS, and Windows are attached below, each with a `.sha256`. The desktop GUI also ships as a macOS `.app` bundle and a Windows MSI.

Arch users can install `apic-bin` from the AUR, Fedora users from the `apic-cli` Copr, and Windows users through winget as `rizukirr.apic` or `rizukirr.apic-gui`. Those manifests currently track 0.5.0.
0.5.0 27 августа 2026 г. — 64-бит ZIP
Список изменений
The desktop GUI gains a git panel. The CLI, the TUI and the contract format are unchanged, so existing projects need no migration and nothing has to be updated to keep working.

## Git panel in the desktop GUI

A second sidebar tab, next to Explorer, that appears when the project sits inside a git repository. It shells out to your own `git`, so hooks, credential helpers and config behave exactly as they do in a terminal.

**Status and staging.** Changed files listed under `CONFLICTS`, `STAGED` and `UNSTAGED`, nested by folder like the Explorer tree, scoped to your contract working directory plus `.apic/`. Changes elsewhere in the repository are counted on a line you can expand rather than hidden. Stage, unstage and discard with `+`, `-` and `x` on any file or folder, then commit. Discard is offered for tracked files only and always names what it will revert.

**Diffs.** Selecting a file shows it whole with changed lines coloured. A toggle switches to a field-level summary that names each changed field and its old and new value, which is the better view for a schema change buried in a large contract.

**Branches.** A dropdown lists every local branch. Picking one checks it out, `+` creates one, `x` deletes one behind a confirmation. Deleting is never forced, so git's refusal to drop unmerged work is surfaced rather than overridden. A checkout is refused while a contract has unsaved edits, and after a successful switch the open contract is reloaded from the new branch or closed if it does not exist there.

**Conflict resolution.** A conflicted file opens a resolver:each conflict block in file order with both sides shown, and `Accept ours`, `Accept theirs` or `Accept both` per block. A live preview shows the resulting file as you choose. Nothing is written until Resolve, which stays disabled until every block is decided, then writes the file and stages it.

Not included:merge, pull, fetch, rebase, stash and remote branches.

## Under the hood

`apic-gui` was restructured into `app`, `features` and `ui` layers. `main.rs` was split into app modules, `ContractsState` and `ShellState` were extracted from `App`, panel frames moved into a shell, and the widget and theme modules were split into components, focus, colours, spacing and typography.

A suite of git wiring tests was added, driving a real `App` against a real temporary repository with no rendering. It caught several defects that unit tests on individual functions could not, including one that only appeared on macOS.

Dependencies are on their latest stable versions, including eframe and egui 0.36.

## Fixed

• Scope paths are resolved through symlinks before comparison, closing a case where a symlinked directory made the git panel treat in-scope files as out of scope.
• Unstaging an untracked file works correctly, instead of leaving it staged.

## Install

Prebuilt binaries for Linux, macOS and Windows are attached below, each with a `.sha256`. The desktop GUI ships as a Windows MSI and a macOS `.app` bundle. See the README for package manager options.
0.4.1 23 августа 2026 г. — 64-бит ZIP
Список изменений
## apic 0.4.1

A maintenance release on top of 0.4.0. There are **no contract format changes and no new commands**, so existing 0.4.0 projects keep working untouched and no migration step is needed.

The substance of this release is the **eframe/egui 0.35 upgrade** behind the desktop GUI, a dependency refresh across the whole workspace, and a higher minimum supported Rust version. If you only use the CLI/TUI (`apic`), this is a drop-in update with refreshed dependencies underneath.

### Desktop GUI moves to eframe/egui 0.35

`apic-gui` now builds on eframe/egui **0.35**, up from 0.33.3, including the Windows-only wgpu (DirectX) renderer feature that lets the GUI launch in driverless environments such as VMs, RDP sessions, and winget's validation sandbox. Getting there meant following three breaking changes in egui:

• **`App::update` became `App::ui`.** `eframe::App` no longer exposes `update(&mut self, ctx, frame)`. The GUI implements `ui(&mut self, ui, frame)` instead, so the root of the application is now a `Ui` with no margin and no background rather than a `Context`. Panels attach to that root `Ui`, while the native file dialogs and the modal dialogs keep operating on the `Context`, reached through `ui.ctx()`.
• **Panels are unified.** `TopBottomPanel` and `SidePanel` are replaced by a single `egui::Panel` type, so the nav bar, the status bar, and the contract sidebar are built with `Panel::top`, `Panel::bottom`, and `Panel::left`. The sidebar's `default_width`/`min_width` became `default_size`/`min_size`, and nested panels use `show` in place of `show_inside`.
• **`TextEdit::frame` takes a `Frame`.** The old boolean form is gone, so every frameless inline input in the editor (endpoint name, description, URL, response code, response title, table cells, and the JSON editor) now passes `egui::Frame::NONE` explicitly.

### The neon theme survives a light-mode host

egui 0.35 dropped the single global `Context::set_style` in favour of per-theme styles, which would have let the host OS light/dark preference bleed through and partially override the app's palette. `apply_theme` now installs the dark monospace neon palette into **every** theme variant via `all_styles_mut`, so the GUI looks the same regardless of what the desktop environment reports.

### Minimum supported Rust version raised to 1.97

The previous floor was 1.88. The new floor is **Rust 1.97**, declared uniformly across all three crates (`apic-cli`, `apic-core`, and `apic-gui`), so any toolchain that can build one of them can build the whole workspace.

This only affects building from source. The prebuilt binaries and the packaged builds are unaffected. The README's build-from-source instructions were corrected to state 1.97, having still claimed 1.88.

### Dependencies refreshed

Bumped, and pinned down to the patch level so a fresh `cargo build` resolves the same versions CI tested:

• `clap` 4.6.1 to **4.6.4**
• `serde` 1.0.228 to **1.0.229**
• `serde_json` 1.0.150 to **1.0.151**
• `eframe` and `egui_extras` 0.33 to **0.35**

Three dependencies that were previously loose minor requirements now carry explicit patch floors:`libc` **0.2.189**, `ratatui` **0.30.2**, and `ratatui-textarea` **0.9.2**.

### Fixed

• The JSON syntax highlighter clones out of `egui_extras`' frame cache, matching the 0.35 API and keeping the cached layout job valid for the remainder of the frame.
• The GUI frame-timing test drives the app through `Context::run_ui` rather than the removed `Context::run`, so it now exercises the same root-`Ui` code path that eframe hands the real application.

### Documentation and tooling

• The `apic_core::fuzzy::fuzzy_find` example is a real compiled doctest instead of an ignored block, so the documented usage is verified on every test run.
• The Flatpak packaging guide in `packaging/flatpak/README.md` was rewritten to match the current update flow.
• CI and the release workflow use `actions/checkout@v5` in place of `v4`, and the runner images were refr
0.3.6 16 июля 2026 г. — 64-бит ZIP

Самое популярное в категории «API и веб-разработка»

Показать все
  1. BrunoAPI и веб-разработка · Anoop M D
  2. InsomniaAPI и веб-разработка · Kong
  3. YaakAPI и веб-разработка · Mountain Loop Labs
  4. RenderDocAPI и веб-разработка · Baldur Karlsson
  5. Altair GraphQL ClientAPI и веб-разработка · Samuel Imolorhe
  6. HTTPieAPI и веб-разработка · HTTPie
  7. HurlAPI и веб-разработка · Orange-OpenSource
  8. ResponsivelyAppAPI и веб-разработка · Responsively
  9. SoapUIAPI и веб-разработка · SmartBear Software
  10. JACK2API и веб-разработка · jackaudio.org

Другие программы разработчика Rizki Rakasiwi

Показать все
  • apic-guiAPI и веб-разработка · Rizki Rakasiwi

Теги

Поделиться