Skip to content

Releases: Arthur-Ficial/apfel

v1.0.5

16 Apr 23:02

Choose a tag to compare

What's Changed

  • a00aead build: regenerate man page during release-{patch,minor,major} (#103)
  • 5c4796b feat(docs): add apfel(1) man page with drift-prevention (#103)
  • 2b94659 docs: add design spec for apfel(1) man page (#103)
  • ea942fb docs: replace all em/en dashes with plain hyphens
  • 546cf8e docs: trim apfeller entry (drop duplicate apps repo link)
  • 0ec66a6 docs: add apfeller to Community Projects
  • d79a16c docs: mark nixpkgs install as pending upstream merge (install.md)
  • 4aeaab0 docs: remove nix install from README, mark nixpkgs as pending in install doc

Install: brew install apfel
Upgrade: brew upgrade apfel

v1.0.4

15 Apr 23:05

Choose a tag to compare

What's Changed

  • c700c78 docs: note stream_options.include_usage opt-in and json_object fence-strip
  • cdebaad fix: gate streaming usage chunk on stream_options.include_usage and strip markdown fence from json_object output
  • 2fd10f6 docs: add scripting-language guides (Python, Node.js, Ruby, PHP, Bash, Zsh, AppleScript, Swift, Perl, AWK)
  • 37cd1be docs: add implementation plan for apfel language guides
  • 255e3fd docs: add spec for apfel language guides (10 scripting languages)
  • db9e464 scripts: add depends_on arch: :arm64 to homebrew formula template

Install: brew install apfel
Upgrade: brew upgrade apfel

v1.0.3

15 Apr 09:55

Choose a tag to compare

What's Changed

  • e3d13e7 refactor: extract pure modules from Handlers.swift; add unit tests (#98) (#99)
  • aae4047 chore: ignore .worktrees/ for git worktree usage

Install: brew install apfel
Upgrade: brew upgrade apfel

v1.0.2

14 Apr 23:43

Choose a tag to compare

What's Changed

  • f41b26d refactor: extract pure SchemaIR + SchemaParser from SchemaConverter (#94) (#95)
  • e82cdfd feat(routines): Phase 2+3 + bug-solver; security hardening (#89)
  • 7fde82e feat(routines): Phase 1 - PR auto-review routine with hard guardrails (#89)
  • e8ffe5e feat(release): automate nixpkgs apfel-ai version bumps (#86)
  • ccf8e23 docs(demo): document optional global install pattern (#85)
  • 2f13113 fix: make install creates missing PREFIX/bin, build cache stable (#84, #83)
  • 5ce63d3 docs: mention tap for immediate access to latest release
  • 38d5764 chore: remove tickets reference from CLAUDE.md
  • 2cdb286 chore: remove closed-tickets directory

Install: brew install apfel
Upgrade: brew upgrade apfel

v1.0.1

12 Apr 22:04

Choose a tag to compare

What's Changed

  • fbcd1f0 feat: add make test - single command for all tests
  • 23670a1 fix: harden release process and make install PATH handling
  • 5ceabd8 fix: read piped stdin in --stream mode (closes #82)
  • b6c7c1d docs: clarify GitHub CI runs subset, local runs full suite
  • 982268e fix: remove performance_test from CI (benchmark needs model)
  • 1a66c65 fix: exclude mcp_timeout_env_var_works from CI (needs model)
  • b2cfd29 fix: CI runs max possible tests without Apple Intelligence
  • f4f0c0c fix: remove integration tests from CI (GitHub runners have no Apple Intelligence)

Install: brew install apfel
Upgrade: brew upgrade apfel

v1.0.0

12 Apr 21:16

Choose a tag to compare

apfel v1.0.0 - First Stable Release

The free AI already on your Mac. apfel exposes Apple's on-device FoundationModels as a UNIX CLI, OpenAI-compatible server, and interactive chat.

What's new in 1.0.0

  • Stable release contract: CLI flags, exit codes, API endpoints, and response schemas are now semver-protected (see STABILITY.md)
  • Full release qualification: 362 unit tests + 157 integration tests (7 suites) run before every release
  • Security policy: SECURITY.md with vulnerability reporting and supported version policy
  • homebrew-core: brew install apfel - no tap needed
  • Proper semver: local builds no longer auto-bump versions

Release qualification

  • 362 unit tests passed
  • 157 integration tests passed (7 suites, 0 skipped)
  • Full test run on Apple Silicon with Apple Intelligence

Install: brew install apfel
Upgrade: brew upgrade apfel

v0.9.18

12 Apr 11:37

Choose a tag to compare

Automated release for v0.9.18

v0.9.17

12 Apr 11:28

Choose a tag to compare

What's new

OpenAPI conformance tests

8 new integration tests that validate apfel's HTTP responses against the official OpenAI API spec (vendored from openai/openai-openapi). Uses openapi-core for runtime schema validation — no manual schema maintenance. Covers: non-streaming completions, streaming chunks, models list, tool-call responses, error responses, and JSON mode.

Fixed: missing nullable fields in API responses

The conformance tests immediately caught 3 spec-required fields apfel was omitting:

  • choices[].logprobs: null — OpenAI spec requires it even when not populated
  • message.refusal: null — OpenAI spec requires it in all assistant messages
  • message.content: null — OpenAI spec requires it even in tool-call responses where content is absent

These fields are now always emitted as null via custom Swift encode(to:) implementations that call encodeNil explicitly (Swift's synthesized Encodable omits nil optionals by default).

README: "The free AI already on your Mac."

The HN-winning, landing-page-proven framing is now the canonical opener in the README, the GitHub repo description, and CLAUDE.md. Also restored the full Demos section, rich MCP walkthrough, and OpenAI API compatibility table that were lost in the previous slim pass. New "The apfel tree" section listing the full ecosystem. #agentswelcome badge with probot logo.

Stats

  • 362 unit + 216 integration = 578 tests, all green
  • 0 regressions

v0.9.12

10 Apr 18:09

Choose a tag to compare

Automated release for v0.9.12

v0.9.10

10 Apr 11:52

Choose a tag to compare

Automated release for v0.9.10