{
  "artifact_id": "e1a0874c-c0e2-4039-a55b-981713cbdd18",
  "release_run_id": "3b1fed7f-eba1-487e-8382-0de8c26a33f3",
  "artifact_type": "release_blog",
  "approval_id": null,
  "reviewer_decision": "approved",
  "final_title": "New Features to Enhance Your Medusa and Spree Experience",
  "final_body_markdown": "# New Features to Enhance Your Medusa and Spree Experience\n\nWe are excited to announce new features designed to enhance the security and development experience for Medusa and Spree users. These updates aim to provide better protection, comprehensive expertise, and streamlined development processes.\n\n## Medusa Plugin Hooks\n\nMedusa plugin hooks now offer enhanced security and protection. They safeguard against destructive Medusa CLI commands and include an asynchronous secret detection feature. This is particularly valuable for developers and security experts who need to ensure the integrity and security of their Medusa plugins.\n\n## Spree Checkout Implementation\n\nFor those implementing Spree's checkout process, we have introduced expert knowledge that covers the Order state machine, Payment sub-state machines, Payment Sessions, and integration with payment gateways. This comprehensive expertise is essential for developers and e-commerce experts aiming to create a seamless checkout experience.\n\n## Spree Headless Next.js Storefront\n\nBuilding a headless Next.js storefront for Spree Commerce just got easier with our new expert knowledge. This includes guidance on server-only auth, MeiliSearch faceted catalog, multi-region market routing, and deployment using Vercel/Docker. This feature is ideal for developers and e-commerce experts looking to create a modern, scalable storefront.\n\nWe hope these new features will help you achieve your development goals more effectively.",
  "content_hash": "b7fdc763d6f909be51694704f1f3ac394571739b46d1e6b1bfd91a08e2ba6bbd",
  "evidence_ids": [],
  "claim_support": [],
  "model_id": "amazon.nova-lite-v1:0",
  "prompt_version": "content-gen-v1",
  "skill_versions": {
    "blog-format": "ef252cac1d529d37bfbf90b5a79d5d9c32d97cb4fe86c15f709f0fef8b91cfed",
    "brand-voice": "761eb8135efea81ecb4380b9be690bc75a56ac3dc0a1756cd18df8df37eef202"
  },
  "generated_at": "2026-06-29T06:05:45.295Z",
  "approved_at": "2026-06-29T12:35:22.536Z"
}