3.14.10

  • 📐 Ensure portrait iPhone videos render correctly

3.14.9

  • 🪄 Improve ImageMagick-related error messages

3.14.8

  • 🔁 Support watching for changes on Linux

3.14.7

  • 🔢 Ensure templates can pass numbers into functions

3.14.6

  • 🏷️ Support XMP image titles and descriptions on Linux

3.14.5

  • 📽️ Support videos with variable frame rates on Linux

3.14.4

  • 🏷️ Prefer QuickTime video titles

3.14.3

  • 🤫 Support silent videos on Linux

3.14.2

  • ⏲️ Increase the video transcoding timeout to 10 minutes on Linux

3.14.1

  • 🎞️ Increase reliability with multiple concurrent image imports on Linux

3.14.0

  • 🐧📽️ Support video on Linux using GStreamer and CAVFormat

3.13.12

  • 🔤 Identifying files by extension should not be case sensitive

3.13.11

  • 🤳 Support HEIC images on Linux

3.13.10

  • 🚪 Exit early in the case of an import or render error

3.13.9

  • 📁 Add icons to the site menus

3.13.8

  • 📼 Resize videos and thumbnails

3.13.7

  • 🔁 Allow description Frontmatter to override media file metadata

3.13.6

  • ⏱️ Extract video locations

3.13.5

  • 📍 Support video locations

3.13.4

  • 📋 Prefer Frontmatter dates and titles over media metadata

3.13.3

  • 🏞️ Respect Frontmatter dates in image descriptions

3.13.2

  • 🗓️ Support loading dates from video filenames

3.13.1

  • 📜 Add ImageMagick license

3.13.0

  • 🏞️ Support images on Ubuntu

3.12.2

  • 💬 Don’t merge blockquotes separated by a blank line

3.12.1

  • 📦 Generate release manifests

3.12.0

  • 📦 Create Debian packages

3.11.0

  • ⚠️ Support GitHub-style admonitions

3.10.10

  • 🔗 Add website links to the menu and about screen

3.10.9

  • 🌐 Add icons to the main menu

3.10.8

  • ✨ Add the Sparkle license

3.10.7

  • 🧑‍⚖️ Add third-party licenses

3.10.6

  • 🎇 Preserve image alt and title attributes

3.10.5

  • 🗓️ Ensure date parsing works correctly on systems with 12h time

3.10.4

  • 🔢 Show the correct version numbers in the Linux command

3.10.3

  • ⏳ Use Swift concurrency when watching for changes

3.10.2

  • 🫧 Support HTML and markdown in headers

3.10.1

  • Use video metadata titles if present

3.10.0

  • Add incontext.escapeXML helper

3.9.20

  • Update copyright to 2026

3.9.19

  • Address retroactive conformance warning

3.9.18

  • Workaround hangs when importing videos

3.9.17

  • Support parallel renders

3.9.16

  • Perform Lua-based rendering in a classic threading context

3.9.15

  • Generate file relative paths consistently on macOS and Linux

3.9.14

  • 🗓️ Handle file modification dates consistently on macOS and Linux

3.9.13

  • Don’t use fast enumeration in an async context

3.9.12

  • 🎁 Support macOS 26

3.9.11

  • Update website URL

3.9.10

  • document.render includes errant html and body tags

3.9.9

  • Fix numerical document metadata and query parameters on Linux

3.9.8

  • Ensure SQLite.Expression takes precedence over Foundation

3.9.7

  • Only open local site previews

3.9.6

  • Remove favorites support

3.9.5

  • Remove actions support

3.9.4

  • Remove geocoding support

3.9.3

  • ✨ Update the version number to test updates

3.9.2

  • Remove InContext Helper sandbox

3.9.1

  • Update version number

3.9.0

  • Sparkle updates for InContext Helper

3.8.1

  • 📽️ Support animated gifs

3.8.0

  • Process Markdown content using SmartyPants

3.7.0

  • Support loading custom Lua extensions

3.6.0

  • Provide built-in document.render function for rendering contents

3.5.12

  • Improve legibility of version information in the about screen

3.5.11

  • Correct metadata type promotion for Date, Double, and Int

3.5.10

  • Generate multiple image sizes and support resolving documents

3.5.9

  • Improve InContext Helper about screen

3.5.8

  • Set the InContext Helper app category to ‘Developer Tools’

3.5.7

  • Support parsing dates with times from filenames

3.5.6

  • Correct escaped unicode parsing in Frontmatter

3.5.5

  • Catch builder errors when watching changes

3.5.4

  • Parse dates in unknown Frontmatter keys

3.5.3

  • Permissive Frontmatter date parsing

3.5.2

  • Ensure one-shot command-line builds fail with an error

3.5.1

  • Remove legacy TemplateIdentifier wrapper class

3.5.0

  • Support for generating Markdown-only sites on Linux

3.4.9

  • Support querying by categories in templates

3.4.8

  • Add an about screen

3.4.7

  • Update the developer account

3.4.6

  • Use a cleaner menu bar icon

3.4.5

  • Update the copyright year to 2024

3.4.4

  • Update copyright to Jason Morley

3.4.3

  • Support Markdown footnotes

3.4.2

  • Finer-grained build progress reporting

3.4.1

  • Use millisecond granularity when tracking file modification times

3.4.0

  • Target macOS Sonoma (14.0)

3.3.2

  • Reduce priority of background builds

3.3.1

  • Remove the Helper app sandbox

3.3.0

  • Include convenience for rendering document HTML contents

3.2.0

  • Query for documents by depth

3.1.4

  • Clean up the render convenience functions

3.1.3

  • Clean up the import configuration

3.1.2

  • Ensure SVGs display correctly in Safari

3.1.1

  • Clean up empty actions and favorites menus

3.1.0

  • Support user-defined actions

3.0.18

  • Address an intermittent crash when encountering template errors

3.0.17

  • Publish the macOS helper app

3.0.16

  • Support ‘–version’ command line flag

3.0.15

  • Update the documentation and incontext template functions

3.0.14

  • Move titlecase render function into the incontext namespace

3.0.13

  • Run a server in the helper app

3.0.12

  • Support opening the helper at login

3.0.11

  • Add versioning to site.yaml

3.0.10

  • Pass user-defined site metadata into the renderer

3.0.9

  • Support adding multiple site roots to the menu bar helper app

3.0.8

  • Dummy update to test the Homebrew update flow

3.0.7

  • Initial work to add a menu bar helper

3.0.6

  • Rename cli target from ‘ic’ to ‘incontext’

3.0.5

  • Use ‘build’ as the build directory instead of ‘build-swift’

3.0.4

  • Update Tilt to use static typing for context functions

3.0.3

  • Update Tilt to not include Lua files in Bundle

3.0.2

  • Build the command-line interface using an Xcode project

3.0.1

  • Correctly set version numbers and publish GitHub releases

3.0.0

  • Initial commit
  • Frontmatter parser with support for rich metadata
  • Rudimentary support for CSS
  • Basic video conversion
  • Rudimentary support for calling methods
  • Support arrays in the set tag
  • Start supporting structured named queries
  • Rudimentary support for incremental renders
  • Support lookup by relative posts
  • Add Tilt renderer
  • Add top-level children post query
  • Expose a generic query to the templates
  • Query for posts matching a tag
  • Add a basic built-in web server
  • Add a ‘clean’ sub-command
  • Update Tilt with long-string support
  • Expose a base64 function to Tilt
  • Watch for changes and rebuild with the --watch command-line argument
  • Support video in Markdown image tags
  • Provide a context API to get the nearest ancestor
  • Address warnings and actually run template generation (fails)
  • Start saving the metadata in the database
  • Import titles from frontmatter
  • Store the importer identifier and version in the intermediate store
  • Load the site configuration
  • Use legacy transform definitions and configuration
  • Pass settings into the importers
  • Support setting string and int literals with the set tag
  • Support parsing doubles
  • Register the exported video assets
  • Basic support for running functions
  • Rudimentary support for performing functions on variables
  • Function and lookup mostly working
  • Support numbers in identifiers
  • Starting to flesh out the filters and context for render
  • Support parsing dictionaries in the set tag
  • Support booleans in the set tag
  • Can now run a full render (sans features) of jbmorley.co.uk
  • Move PageContext into a separate file
  • Rudimentary support for injecting callable blocks into the context
  • Start to formalise type-safe method calling and blocks
  • Placeholder for named queries and support updating context variables
  • Fully synchronous render path
  • Sort posts by date and support calculations in set keyword
  • Structured metadata parsing, rich queries, and image titles
  • Type-safe handler and importer settings
  • Ensure handler matches are case-insensitive
  • Regenerate intermediates when settings change
  • Improve performance with a multi-reader single-writer store
  • Temporarily disable multi-reader single-writer store
  • Improve performance with a content modification date query cache
  • Improve general query performance with a cache
  • Serialise template builds for the moment
  • Catch up to template tracking version of Stencil
  • Simplify template method calls by removing named arguments
  • Correct parent URLs for second-level documents
  • Fix up relative URLs for images imported as documents
  • Initial work to support multiple templating languages
  • Version renderers to ease renderer implementation changes
  • Replace InContextError.unknown with more informative errors
  • Load the render cache asynchronously
  • Address some simple TODOs and remove completed ones from the readme
  • Specify the site root in the command arguments
  • Don’t throw with unknown symbols
  • Include more context in import errors
  • Update the command name in the help
  • support calling format() on Date objects
  • Add a titlecase extension to String
  • distant_past should be a Function
  • Add iso_8601_format constant
  • Catch up to the latest Tilt for improved error handling
  • Rename ic3 to incontext
  • Add markdown and titlecase context extensions
  • Add path manipulation conveniences to the document context
  • Prettify the HTML output
  • Remove unstable sass functionality
  • Customize query sort order
  • Import image locations
  • Import image descriptions and locations
  • Use Tilt templates by default
  • Enable concurrent Tilt renders
  • Drop the dependency on Stencil
  • Return to a single top-level template directory
  • Add a date context function
  • Don’t transform absolute image paths
  • Use the template extension to determine output extension and type
  • Secondary default sort by title
  • Watch templates directory and don’t watch by default
  • Support limiting the number of posts returned in a query
  • Use image EXIF titles
  • Reload templates when they change during watch
  • Improve error reporting when calling context functions with incorrect arguments
  • Expose (and use) render methods directly on RenderTracker
  • Render images using an inline HTML template
  • Store image scales in the associated document
  • Support richer image transform rules
  • Use release builds when running with run.sh
  • Always generate thumbnails instead of using file metadata
  • Respect the title_from_filename image importer setting
  • Rudimentary support for rendering videos
  • Support basic video metadata
  • Use ‘DateTimeDigitized’ if ‘DateTimeOriginal’ EXIF tag is invalid
  • Remove TemplateLanguage now we’ve settled on Tilt
  • Don’t use path components above the content root for titles
  • Support specifying the sort order when fetching children
  • Add a mechanism to render documents in templates and detect thumbnails
  • Simplify the importer identifiers
  • Implement previous and next render methods
  • Include the optional image projection in the document metadata
  • Correctly parse Frontmatter with missing or empty body content
  • Add an RFC 3339 date format string
  • Fix the RFC 3339 format string
  • Clean up documents when files are deleted
  • Use document content fingerprints to track render changes
  • Catch up to the latest Tilt with memory leak fix
  • Speed up incremental builds by caching render statuses
  • Support line separator as an alternative to new lines in Frontmatter
  • Expose document source paths to Tilt to help error reporting
  • Actually perform markdown transform during render
  • Catch up to the latest Tilt with fixes for named template renders
  • Rename render context page to document
  • Initial work to add structured site settings
  • Introduce a ‘version’ command
  • Update Tilt to fix a crash when printing error descriptions