Releases: ovac/idoc
v2.1.2
What's Changed
- Trivial typo fixes in default config by @mthaddon in #52
- Add config options for redoc standalone js, swagger css and js by @mthaddon in #54
- Allow for customisation of external fonts location by @mthaddon in #56
- Enhance theme system: add default theme config, hide theme toggle option, and improve dark mode color palette by @Isaac0209 in #55
New Contributors
- @mthaddon made their first contribution in #52
- @Isaac0209 made their first contribution in #55
Full Changelog: v2.1.1...v2.1.2
v2.1.1
v2.1.1 — 2025-09-07
Patch release with Chat UX improvements, endpoint-aware actions, and attachment capability gating.
Added
- Endpoint-aware actions in assistant replies:
- Detects headings like
### METHOD /pathand adds two buttons:- Open endpoint: closes chat and scrolls docs to the operation.
- Try it with this data: closes chat, opens Try It, prefills from the chat context, and executes.
- Backend returns
meta.actionHintswith endpoint and try-it prefill to drive the UI.
- Detects headings like
- Attachments UI gating:
- Images are disabled when the current model lacks vision.
- Entire attachments UI hides for providers that do not support attachments.
- Runtime switching supported via
idoc:chat-model-changedevent.
- Export helpers: download conversation as plain text, Markdown, or JSON (
{ version: "idoc-1", messages: [...] }). - Configurable system prompt: you can supply a Markdown file via
IDOC_CHAT_SYSTEM_PROMPTorconfig('idoc.chat.system_prompt_md'). If you publish the bundled prompt with--tag=idoc-prompts(toresources/vendor/idoc/prompts/chat-system.md), iDoc will automatically use that published file when present.
Changed
- Markdown headings are not escaped (hashes preserved) so assistant headings render properly.
- Strengthened system prompt to encourage
### METHOD /pathheadings and JSON examples. - Improved ChatController docs and inline Blade documentation to reflect capabilities.
Fixed
- Avoid em dashes in user-facing strings.
Upgrade notes
- No schema changes. If you published the view previously, republish to get the updated UI behaviors:
php artisan vendor:publish --tag=idoc-views --force
Full Changelog: v2.1.0...v2.1.1
v2.1.1-beta
Full Changelog: v2.1.0...v2.1.1
v2.1.0
v2.1.0 — AI Chat, Request Tester, Theme Polish
This release adds an optional AI Chat assistant to iDoc’s documentation view and multiple UI refinements (light/dark syntax highlighting, stable floating action buttons, and robust interactivity across theme changes). You can disable Chat via env if you don’t need it.
What’s New
- AI Chat (optional): Conversational assistant that answers questions about your API using your generated OpenAPI (and optional extra context view).
- Provider Chooser: If no key is configured, Chat shows clickable options with a copyable .env snippet for quick setup.
- Dual Syntax Highlight: Light/dark highlight.js themes that switch with the docs theme toggle.
- Stable Floating Actions: Theme / Chat / Try‑It buttons consolidated into one fixed stack so layout stays stable when features are disabled.
Providers
- DeepSeek (default)
- OpenAI (ChatGPT)
- Google Gemini
- Groq (OpenAI‑compatible)
- Hugging Face Inference API
- Together AI (OpenAI‑compatible)
- OpenAI‑compatible local servers (LM Studio, llama.cpp server)
Quick Start (DeepSeek default)
Add to your .env:
IDOC_CHAT_ENABLED=true
IDOC_CHAT_PROVIDER=deepseek
IDOC_CHAT_MODEL=deepseek-chat
IDOC_CHAT_BASE_URL=https://api.deepseek.com/v1
DEEPSEEK_API_KEY=your_deepseek_keyApply:
php artisan config:clear && php artisan cache:clearOther Providers (Examples)
OpenAI (ChatGPT)
IDOC_CHAT_ENABLED=true
IDOC_CHAT_PROVIDER=openai
IDOC_CHAT_MODEL=gpt-4o-mini
IDOC_CHAT_BASE_URL=https://api.openai.com/v1
OPENAI_API_KEY=your_openai_keyGoogle Gemini
IDOC_CHAT_ENABLED=true
IDOC_CHAT_PROVIDER=google
IDOC_CHAT_MODEL=gemini-1.5-flash
IDOC_CHAT_BASE_URL=https://generativelanguage.googleapis.com/v1beta
GOOGLE_API_KEY=your_google_api_keyGroq
IDOC_CHAT_ENABLED=true
IDOC_CHAT_PROVIDER=groq
IDOC_CHAT_MODEL=mixtral-8x7b-32768
IDOC_CHAT_BASE_URL=https://api.groq.com/openai/v1
GROQ_API_KEY=your_groq_keyHugging Face Inference API
IDOC_CHAT_ENABLED=true
IDOC_CHAT_PROVIDER=huggingface
IDOC_CHAT_MODEL=Qwen/Qwen2.5-7B-Instruct
IDOC_CHAT_BASE_URL=https://api-inference.huggingface.co
HF_API_TOKEN=your_hf_tokenSelf‑hosted (OpenAI‑compatible)
IDOC_CHAT_ENABLED=true
IDOC_CHAT_PROVIDER=openai
IDOC_CHAT_BASE_URL=http://127.0.0.1:8000/v1
IDOC_CHAT_MODEL=qwen2.5-7b-instruct
IDOC_CHAT_API_KEY=localdevTip: If Chat isn’t required, disable it by setting IDOC_CHAT_ENABLED=false.
Improvements
- Light Theme Polish: Better contrast for bubbles/buttons; code blocks are readable in light mode.
- Event Delegation: Provider chips and Copy/Back buttons in Chat remain interactive after theme changes.
- Try‑It Headers UI: Cleaner headers popover with JSON validation and persisted state.
- Syntax Highlight Switching: Auto‑switch between light/dark highlight.js themes with the docs theme.
Migration Notes
- If you previously published the docs view and customized it, re‑publish to get the new features:
php artisan vendor:publish --tag=idoc-views --force- Optional: review new config keys:
php artisan vendor:publish --tag=idoc-config- Set env as shown above for your provider; clear caches after:
php artisan config:clear && php artisan cache:clearMaintainer Checklist
- Tag:
v2.1.0 - Confirm CHANGELOG includes v2.1.0
- Publish release on GitHub and Packagist
v2.0.0
v2.0.0 — Hybrid Redoc + Swagger “Try it” • CDN fix (breaking)
🚨 Breaking
- All prior versions are no longer functional because the legacy Redoc CDN was discontinued.
This release switches to a supported Redoc bundle and introduces a new hybrid docs view. Upgrade is required.
✨ What’s new
- Hybrid docs view: Redoc OSS for reading + a slide-in Swagger UI “Try it” panel.
- Context-aware console:
- Follows Redoc links (
#/tag/...and#/tag/.../operation/...). - When scrolling, detects the visible tag/operation and updates the console automatically.
- Follows Redoc links (
- Extra request headers (JSON): Add arbitrary headers (e.g.,
{"X-Tenant":"acme"}) in the panel header.
Persisted tolocalStorageand injected into every Swagger request. - Click-to-copy & Download: One-click copy of response JSON and a Download button on Swagger responses.
- Cleaner Swagger header: Reduced title size for a tighter look.
- Extensive inline documentation in the Blade view to explain selectors, options, and fallbacks.
🛠 Fixes
- Redoc CDN 404 (e.g.,
Not found: /@redocly/reference-docs.../redoc.standalone.js).
Now usinghttps://cdn.jsdelivr.net/npm/redoc@next/bundles/redoc.standalone.js.
🔧 Changed
- Updated default Markdown intro to document the hybrid model, quick start, and tips.
- Safer fetch normalization that adds
Accept: application/jsonto/apicalls when missing.
📦 How to upgrade (required)
- Update package
composer update ovac/idoc
What's Changed
- CHORE: Fix typos by @dandelosreyes in #45
- Laravel 12.x Compatibility by @laravel-shift in #50
- Issue Resolved #47 by @hassaans208 in #48
New Contributors
- @dandelosreyes made their first contribution in #45
- @hassaans208 made their first contribution in #48
Full Changelog: v1.7.0...v2.0.0
v2.0.0-alpha
Create a Markdown release note file for download
from pathlib import Path
content = """# v2.0.0 — Hybrid Redoc + Swagger “Try it” • CDN fix (breaking)
🚨 Breaking
- All prior versions are no longer functional because the legacy Redoc CDN was discontinued.
This release switches to a supported Redoc bundle and introduces a new hybrid docs view. Upgrade is required.
✨ What’s new
- Hybrid docs view: Redoc OSS for reading + a slide-in Swagger UI “Try it” panel.
- Context-aware console:
- Follows Redoc links (
#/tag/...and#/tag/.../operation/...). - When scrolling, detects the visible tag/operation and updates the console automatically.
- Follows Redoc links (
- Extra request headers (JSON): Add arbitrary headers (e.g.,
{"X-Tenant":"acme"}) in the panel header.
Persisted tolocalStorageand injected into every Swagger request. - Click-to-copy & Download: One-click copy of response JSON and a Download button on Swagger responses.
- Cleaner Swagger header: Reduced title size for a tighter look.
- Extensive inline documentation in the Blade view to explain selectors, options, and fallbacks.
🛠 Fixes
- Redoc CDN 404 (e.g.,
Not found: /@redocly/reference-docs.../redoc.standalone.js).
Now usinghttps://cdn.jsdelivr.net/npm/redoc@next/bundles/redoc.standalone.js.
🔧 Changed
- Updated default Markdown intro to document the hybrid model, quick start, and tips.
- Safer fetch normalization that adds
Accept: application/jsonto/apicalls when missing.
📦 How to upgrade (required)
- Update package
composer update ovac/idoc
What's Changed
- CHORE: Fix typos by @dandelosreyes in #45
- Laravel 12.x Compatibility by @laravel-shift in #50
- Issue Resolved #47 by @hassaans208 in #48
New Contributors
- @dandelosreyes made their first contribution in #45
- @hassaans208 made their first contribution in #48
Full Changelog: v1.7.0...v2.0.0
v1.7.0
[v1.7.0] - 2024-07-23
Added
- @responseResource Annotation: Easily document complex response structures using Laravel API Resources.
- Custom Configuration Generator: Generate API documentation using custom configuration files with the
idoc:customcommand. - Multiple API Documentation Sets: Manage and generate multiple sets of API documentation for different applications within the same Laravel application.
- Example Responses: Provide example responses for routes using
@response,@responseFile, and@responseResourceannotations. - Transformer Support: Define transformers for the result of routes using
@transformer,@transformerCollection, and@transformerModelannotations.
Changed
- Improved Documentation: Enhanced and reorganized the README.md file for better readability and presentation.
- Configuration Options: Added new configuration options for servers, external descriptions, language tabs, and security schemes.
Fixed
- Bug Fixes: Various bug fixes and performance improvements.
Removed
- Deprecated Methods: Removed deprecated methods and annotations to streamline the documentation process.
Documentation
- Extensive Documentation: Added detailed documentation for new features and configuration options.
- Examples: Included examples for using new annotations and configuration settings.
Migration Notes
- Configuration Update: Ensure to update your
config/idoc.phpfile with the new configuration options. - Custom Routes: Define custom routes in your
routes/web.phpto serve the generated documentation for each custom configuration.
Contributors
- Special Thanks: A big thank you to all the contributors who helped make this release possible.
How to Upgrade
- Update Package: Run
composer update ovac/idocto get the latest version. - Publish Config: If you haven't already, publish the configuration file using
php artisan vendor:publish --tag=idoc-config. - Update Config: Update your
config/idoc.phpfile with the new configuration options. - Generate Documentation: Run
php artisan idoc:generateto generate the updated documentation.
Full Changelog: v1.6.2...v1.7.0
v1.6.2
v1.6.1
v1.6.0
Laravel 10 support by @pedram-davoodi