New custom prompt functions
  • Added
    snippets.has
    to check if a snippet with that name exists
  • Added
    codex.has
    to check if a codex entry with that name exists
  • Added
    codex.getNotes
    to get the notes for a specific codex entry
  • Added
    codex.getDescription
    (and
    context.codex.getDescription
    ) to only get the description for a specific entry
  • Added
    context.previousBeat
    and
    context.nextBeat
    functions for more control over prose generation
  • Added
    subtitle
    function to all scene calls (e.g.
    context.previousScene.subtitle
    )
  • Added
    context.previousSceneSamePOV
    and
    context.nextSceneSamePOV
    to get the previous/next scene that matches the current POV. Helpful for his-and-her stories.
Other changes
  • Added support for filtering your codex by a specific tag
  • Added GPT-4o and the Claude 3 models as supported models for character extraction
  • The nested entries section now checks how many deeply nested entries there are, and will inform you if it's more than 3. This helps pinning down entries that accidentally pull in the whole jungle, even though you only wanted a single banana.
  • Added line-wrapping to codex addition lists (applies to codex entries and matrix views)
  • Added support for Open AI Project IDs via APIs (they're a legacy feature but ...)
  • When discarding an AI text replacement, the original text will be highlighted again
  • The "Apply/Retry/Discard" bar will now stay in view just like the bubble menu
  • Make scene dividers optional during export
  • Fixed some issues around handling subscribers when still in trial mode
  • Your exact subscription plan name will now show up under billing settings (previously it only showed the tier/level)
  • Various other fixes and improvements