All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
Unreleased - ReleaseDate
0.19.6 - 2024-08-07
cobalt serve
will now work correctly with sitemap
0.19.5 - 2024-07-05
- (build) List correct default for
--destination
- (serve) Remove unused
--destination
0.19.4 - 2024-07-05
0.19.3 - 2024-04-15
- MSRV is now 1.76.0
cobalt serve -c <file>
should now work- Cleaned up error messages
0.19.2 - 2024-02-28
0.19.1 - 2024-02-28
- MSRV is now 1.73
- Put the base url for
cobalt serve
at/
to work with tunnelling
0.19.0 - 2023-06-06
- Removed support for vimwiki (parser/renderer was unmaintained)
- MSRV is now 1.70.0
0.18.5 - 2023-06-02
- Include frontmatter tags in jsonfeed
0.18.4 - 2023-04-20
- Improve frontmatter parsing errors
- MSRV is now 1.64.0
0.18.3 - 2022-08-26
- Wrap code fences in
<pre><code>
instead of just<pre>
0.18.2 - 2022-08-26
- Error, instead of panic, on bad CWD
0.18.1 - 2022-08-24
- Loading of custom syntaxes in
_syntaxes/
- Report theme errors for markdown, like liquid
- Consistently handle theme between markdown and liquid
0.18.0 - 2022-06-15
cobalt import
was dropped (#969)
cobalt new --edit
support (#967)
- Respect
enabled
with liquid syntax highlighting (#973) - (build) Don't stop build when binary file in
_include
(#1033) - (serve) Serve from a temp directory to avoid corrupting a production build (#968)
- (serve) Pick an unused port (#971)
- Improved panic behavior
0.17.5 - 2021-12-09
site.time
is added
0.17.4 - 2021-09-14
0.17.3 - 2021-09-14
0.17.2 - 2021-09-14
0.17.1 - 2021-09-13
0.17.0 - 2021-09-13
- Allow disabling of templating
- vimwiki support
- Ensure we ignore
--destination
when building cobalt new
creates dir if needed
0.16.5 - 2021-05-29
- Fix XML syntax for RSS
- Resolve infinite loop on Windows with
cobalt serve
- Minification support for HTML, CSS, and JS
- Strike through and task list support in Markdown
- Speed up liquid rendering
- Invalid syntax highlighting in some cases (#802)
- new: Create a valid
published_date
- serv: Provide content type for 404
where
filter
- Fixed liquid corner cases to be more conformant
{% include %}
is now strictly Liquid-style rather than Jekyll-style. It takes an expression rather than a bare-word for the path to include.
- Support opening the page in the browser with
cobalt serve --open
.
- Report mime-type with
cobalt serve
(closes #732). - Fix RSS content when excerpts are disabled (closes #724).
- Provide a pre-built windows binary
- Fixed "ctrl-c" during
cobalt serve
so that it will not hang.
- Add support for sitemap generation (9b6272d6)
- liquid-jekyll-filter: activate jekyll filters (5c7c568f)
- pagination:
- files: sort by filename to have a reproducibly walking iterator (1aa7510b)
- liquid: Raw/comment improved (fe795248)
- new: Generate files using jekyll frontmatter format (bb3b31ae)
- Switch to system allocator (c0db5ac1)
- Jekyll-style frontmatter divider (ad62b2fd, closes #431)
- liquid: (4ef1eded, a1d0006f)
- Index by variables
for
block parameters can be variables- New filters:
at_most
,at_least
,push
,pop
,unshift
,shift
,array_to_sentence_string
- New tags:
tablerow
,ifchanged
,increment
,decerement
- Slightly improved error reporting
- Arrays now have
.first
and.last
variables if
conditions supportor
/and
- pagination (prototype):
- Empty frontmatters followed by
---
will no longer build (ad62b2fd, closes #431) - liquid:
for
block ranges are now inclusive (4ef1eded)
- liquid: (4ef1eded, a1d0006f)
for
looping over a range is now inclusive to align with shopify liquid- deeply nested array indexes work again (
a.b[0]
)
- liquid: filter input can index (5a1eb91a)
- Liquid for-block works on hashes (68ca7b25)
- sass:
- add runtime configuration to built in syntax highlighting (3f73c817)
No user-visible change; just working around CI problems.
This release drops support for migrating from pre-0.11. Please use 0.11 to migrate first.
- layouts: Switch from lazy to eager loading (b2cbe13a)
new
:- New
rename
subcommand (1fee0775, closes #393) - liquid:
serve
: Custom host support (e654541)debug
:- More details available with
--trace
(0ed5247)
migrate
: Removing migration support (20b29932)import
:import
is self-contained (4e0be270, closes #394)- layouts: Switch from lazy to eager (b2cbe13a)
- liquid:
clean
: Don't error on double-clean (a380fd15)import
:import
is self-contained (4e0be270, closes #394)new
:serve
: Fix site.base_url by adding http:// (1a3ae383)- slug: Dont ignore non-ascii in slug (08f0621c, closes #383)
- liquid:
- config: Bug fixes with
ignore
(0ed5247)
- liquid: Support contains operator (668f4726)
This release focused on unleashing a lot of breaking changes that have been stacking up for a while which also expose a lot of features that have been inaccessible. The hope is that from now on, breaking changes will be minor (like small changes to config) rather than sweeping changes to every file like this.
- Reducing logging noise (a7acd2c8)
- rss: Don't error if the RSS folder doesn't exist. (357cb4b8)
- watch: Don't stop on error (3c4d086b, closes #347)
- Migrate support for changing _layouts to _includes (28ae870d)
- config:
- front:
- excerpt: Better define non-existent behavior (129c5747)
- page:
- serve:
- debug:
cobalt migrate
was created to help mitigate the cost of most of these breaking changes.
- config: Stabilize the format (34e9d545, closes #199, breaks #, #)
- debug: Generalize debug commands (087d9919, breaks #)
- front:
- page:
- Liquid errors on undefined variables (2ec3f24b)
- This was done to help catch migration problems and to move us in the direction of easier debugging of problems
- The restriction might be loosened in some cases (like
{% if var %}
). - Generalize is_post / posts (d280a353, closes #323, breaks #)
- Make page variables future-proof (6f62dea8, breaks #)
- serve:
- serve: Reduce duplicate rebuilds (8f2679ce)
- error: Identify layout errors (0ec3a3d0)
- Correctly copy scss files when sass is disabled (f04bd9d2)
- Log context for failures (be258bfb)
- config: On empty file, use right root (a99ca197)
- drafts: Config can enable again (729e0b18)
- front: Ensure excerpt is rendered before used (9e714697)
- includes: Support including hidden files (cb577c42)
- error: Identify layout errors (0ec3a3d0)
- new:
- watch: Rebuilding ignores dest (b72863b9)
- Auto-ignore dest in more cases (8676a3a8)
- Don't ignore dest lookalikes (33c7d0de)
- source/dest are now relative to config (ce95b395)
- clean: Better detect what we can't clean (78bbfc3e)
- cli: Clarify role of --destination (a9fce407)
- config:
- jekyll: Clean up flag names (80468b9f)
- data-files: Provide information which file caused an error (6b8e7018)
- error: Report file path on parse error (c1cf01cd)
- log: Reduce noise when level is debug (646d5897)
- config:
- cli:
- jekyll: Clean up flag names (80468b9f)
- init: Update defaults (8a0eda99)
- new: Clearer contract for
cobalt new
(8e44311f) - New publish sub-command (c0329df5)
- Expose config's site values (7fea9ddf, closes #216)
- cli:
- config:
- front:
- Set
published_date
from filename (ad69b1fc)
- Set
- liquid: Upgrade to 0.11 (fd366fb9)
- syntax: Add
arr[0]
andobj["name"]
indexing (PR #141, fixes #127) - value: Add
nil
value to support foreign data (PR #140)
- syntax: Add
- Improve error reporting to user (1e07708b)
- data-files: Add data file support (bb2d7c0f, closes #256)
- scss: Implement compiling of SCSS files (76b8d8ae)
page.path
now returns non-exploded path. (7f571a8b)--dump=liquid
is now split into--dump=DocObject
and--dump=DocTemplate
(3439265b)
- Support
:categories
in permalink (a9b4474f) - Support nested frontmatter (cafd42fa)
- syntax-highlight: Succeed on windows (f1129fa8)
- debug:
- build: Do not attempt to build the output (51f486a8)
- watch: Ignore dest rather than rebuild (fce89368, closes #170)
- Bump syntect version to 1.7.0 and enable dump-load feature (4d0e14a7)
- tests:
- tests/cli/log_levels: Improve comparison error reporting (334c4d2e)
- Stabalize the CI (5d739b5)
- Upgrade to liquid-rust 0.10.0 (2421679)
cobalt serve
should ignore query strings (eb9e0b0)- Gracefully handle empty frontmatters (5aa5813)
- document: cache off Regex objects (2b2525c1)
- More advanced blacklisting, now with whitelisting! (be05d963, closes #221)
- attributes: Add input-file based attributes (95fb81f5)
- debug: Dump intermediate state (fec65b37)
- Upgrade to liquid-rust 0.10.0 (2421679)
cobalt new
added to create pages (formercobalt new
renamed tocobalt init
) (4700f34)- Customize post sort order with
post_order: "asc"
(28df5e2) - Posts now have
prev
andnext
attributes (dbcaf7e) - Documents now have
title
,slug
, andext
attributes (46b3b22)
.cobalt.yml
'signore
changed togitingore
format (be05d963, closes #221)cobalt new
renamed tocobalt init
(fe3a246)
- We now generate binaries for OSX, Windows, and Linux (@johannhof)
- Experimental Syntax Highlighting support (behind a compiler flag until we fix Windows support)([@gnunicorn][])
- Prevent
cargo clean
from deleting the current directory ([@kracekumar][]) - Set charset utf-8 in the default template (@nott)
- tons of other bugfixes and improvements (all of the above + [@benaryorg][], [@crodjer][] and [@uetoyo][])
- Improved Windows support (@johannhof)
- Migrated from getopt to clap, global parameters are now available in subcommands (@jespino)
- Added draft support (@johannhof)
- Added
content
andexcerpt
attributes to posts (@johannhof and @nott) - Added
guid
tag to RSS (@nott) - Added
cobalt clean
(@rjgoldsborough) - tons of other bugfixes and improvements (all of the above + @LucioFranco)
- Added
cobalt serve
(@tak1n and @DonRyuDragoni) - Added
cobalt watch
(@LucioFranco) - Added
cobalt new
(@LucioFranco) - Added
cobalt build --import
(@LucioFranco) - Moved from
_posts
toposts
(@johannhof) - Ignore underscored directories by default (@johannhof)
- Added an
ignore
attribute to .cobalt.yml (@jespino) - Implemented custom paths (permalinks) (@johannhof)
- Removed the .tpl file extension in favor of .liquid (@tak1n)
- tons of other bugfixes and improvements (all of the above + @kstep)
- Initial release