Releases
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.escapeXMLhelper
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.renderincludes erranthtmlandbodytags
3.9.9
- Fix numerical document metadata and query parameters on Linux
3.9.8
- Ensure
SQLite.Expressiontakes 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.renderfunction 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, andInt
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
TemplateIdentifierwrapper 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
titlecaserender function into theincontextnamespace
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
base64function to Tilt - Watch for changes and rebuild with the
--watchcommand-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
PageContextinto 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
setkeyword - 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.unknownwith 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_pastshould be aFunction- Add
iso_8601_formatconstant - Catch up to the latest Tilt for improved error handling
- Rename
ic3toincontext - Add
markdownandtitlecasecontext 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
datecontext 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_filenameimage importer setting - Rudimentary support for rendering videos
- Support basic video metadata
- Use ‘DateTimeDigitized’ if ‘DateTimeOriginal’ EXIF tag is invalid
- Remove
TemplateLanguagenow 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
previousandnextrender 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
pagetodocument - Initial work to add structured site settings
- Introduce a ‘version’ command
- Update Tilt to fix a crash when printing error descriptions