cobalt.rs/CHANGELOG.md
2024-04-15 11:36:25 -05:00

38 KiB

Change Log

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

Compatibility

  • MSRV is now 1.76.0

Fixes

  • cobalt serve -c <file> should now work
  • Cleaned up error messages

0.19.2 - 2024-02-28

0.19.1 - 2024-02-28

Compatibility

  • MSRV is now 1.73

Fixes

  • Put the base url for cobalt serve at / to work with tunnelling

0.19.0 - 2023-06-06

Compatibility

  • Removed support for vimwiki (parser/renderer was unmaintained)
  • MSRV is now 1.70.0

0.18.5 - 2023-06-02

Fixes

  • Include frontmatter tags in jsonfeed

0.18.4 - 2023-04-20

Fixes

  • Improve frontmatter parsing errors

Compatibility

  • MSRV is now 1.64.0

0.18.3 - 2022-08-26

Fixes

  • Wrap code fences in <pre><code> instead of just <pre>

0.18.2 - 2022-08-26

Fixes

  • Error, instead of panic, on bad CWD

0.18.1 - 2022-08-24

Features

  • Loading of custom syntaxes in _syntaxes/

Fixes

  • Report theme errors for markdown, like liquid
  • Consistently handle theme between markdown and liquid

0.18.0 - 2022-06-15

Compatibility

  • cobalt import was dropped (#969)

Features

  • cobalt new --edit support (#967)

Fixes

  • 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

Features

  • 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

Features

  • Allow disabling of templating
  • vimwiki support

Bug Fixes

  • Ensure we ignore --destination when building
  • cobalt new creates dir if needed

0.16.5 - 2021-05-29

Bug Fixes

  • Fix XML syntax for RSS
  • Resolve infinite loop on Windows with cobalt serve

Features

  • Minification support for HTML, CSS, and JS
  • Strike through and task list support in Markdown

Performance

  • Speed up liquid rendering

0.16.4 - 2020-10-17

Bug Fixes

  • Invalid syntax highlighting in some cases (#802)

0.16.2 - 2020-08-03

Bug Fixes

  • new: Create a valid published_date

0.16.1 - 2020-07-28

Bug Fixes

  • serv: Provide content type for 404

0.16.0 - 2020-07-15

Features

  • where filter

Bug Fixes

  • Fixed liquid corner cases to be more conformant

Breaking Changes

  • {% include %} is now strictly Liquid-style rather than Jekyll-style. It takes an expression rather than a bare-word for the path to include.

0.15.11 - 2020-03-09

Features

  • Support opening the page in the browser with cobalt serve --open.

0.15.10 - 2020-02-24

Bug Fixes

  • Report mime-type with cobalt serve (closes #732).
  • Fix RSS content when excerpts are disabled (closes #724).

0.15.9 - 2020-02-11

Bug Fixes

  • Provide a pre-built windows binary

0.15.7 - 2020-02-10

Bug Fixes

  • Fixed "ctrl-c" during cobalt serve so that it will not hang.

0.15.6 - 2019-11-28

Bug Fixes

0.15.5 - 2019-11-27

Bug Fixes

  • liquid: Upgrade to 0.19 (95c85bbb, closes #656)
  • md: Be more conformant (3841da3d)
  • pagination:
    • revamp pagination permalink management (e041aad2)
    • fixes #666 and adjust tests (9621b31a)

Features

  • Add support for sitemap generation (9b6272d6)
  • liquid-jekyll-filter: activate jekyll filters (5c7c568f)
  • pagination:

0.15.3 - 2019-01-31

Bug Fixes

  • files: sort by filename to have a reproducibly walking iterator (1aa7510b)

0.15.2 - 2019-01-29

Features

  • experimental: pagination on tags (1a968352)
  • publish: move post to posts if in drafts_dir (c21ca310)

0.15.1 - 2019-01-24

Features

Bug Fixes

  • liquid: Raw/comment improved (fe795248)

0.15.0 - 2018-12-28

Bug Fixes

  • new: Generate files using jekyll frontmatter format (bb3b31ae)

Breaking Changes

Performance

Features

0.14.0 - 2018-11-18

Performance

Features

  • 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 support or/and
  • pagination (prototype):

Breaking Changes

  • Empty frontmatters followed by --- will no longer build (ad62b2fd, closes #431)
  • liquid: for block ranges are now inclusive (4ef1eded)

Bug Fixes

  • 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])

0.13.2 - 2018-10-05

Features

  • liquid: filter input can index (5a1eb91a)

0.13.0 - 2018-10-04

Features

  • Liquid for-block works on hashes (68ca7b25)

Breaking Changes

0.12.2 - 2018-07-21

Features

  • sass:
    • Enable by default (5cd0f120)
    • add support for Sass's indented syntax (8ca7cb81)
  • add runtime configuration to built in syntax highlighting (3f73c817)

0.12.1 - 2018-03-24

No user-visible change; just working around CI problems.

0.12.0 - 2018-03-22

This release drops support for migrating from pre-0.11. Please use 0.11 to migrate first.

Performance

  • layouts: Switch from lazy to eager loading (b2cbe13a)

Features

Breaking Changes

  • migrate: Removing migration support (20b29932)
  • import: import is self-contained (4e0be270, closes #394)
  • layouts: Switch from lazy to eager (b2cbe13a)
  • liquid:

Bug Fixes

  • clean: Don't error on double-clean (a380fd15)
  • import: import is self-contained (4e0be270, closes #394)
  • new:
    • Dont assume dirs are files (35bed0c5, closes #401)
    • Error if file isn't a part of a collection (99a0d017)
  • serve: Fix site.base_url by adding http:// (1a3ae383)
  • slug: Dont ignore non-ascii in slug (08f0621c, closes #383)
  • liquid:
    • date_in_tz correctly parse date strings (8fca4340)
    • Improve value coercion (8fca4340)
    • if can do existence check again (0ed5247)
  • config: Bug fixes with ignore (0ed5247)

0.11.1 - 2018-01-10

Features

  • liquid: Support contains operator (668f4726)

0.11.0 - 2018-01-09

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.

Bug Fixes

  • 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)

Features

  • Migrate support for changing _layouts to _includes (28ae870d)
  • config:
  • front:
    • Stabilize fronmatter format (9089c721, closes #257, breaks #)
    • Change date to YYYY-MM-DD (1e19ae07, closes #349, breaks #)
    • Change permalink variable names (e78b806c, breaks #)
    • Change permalink to well-defined format (c6c4d7ac, breaks #)
    • Standardize permalink behavior (6730eb68, breaks #)
  • excerpt: Better define non-existent behavior (129c5747)
  • page:
  • serve:
    • Adjust base_url for localhost (e75e1398, breaks #)
    • Merge serve and watch (d2f22d51, breaks #)
  • debug:

Breaking Changes

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:
    • Change date to YYYY-MM-DD (1e19ae07, closes #349, breaks #)
    • Change permalink variable names (e78b806c, breaks #)
    • Change permalink to well-defined format (c6c4d7ac, breaks #)
    • Standardize permalink behavior (6730eb68, breaks #)
    • Stabilize fronmatter format (9089c721, closes #257, breaks #)
  • 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:
    • Adjust base_url for localhost (e75e1398, breaks #)
    • Merge serve and watch (d2f22d51, breaks #)

Performance

  • serve: Reduce duplicate rebuilds (8f2679ce)

0.10.0 - 2018-01-04

Features

  • error: Identify layout errors (0ec3a3d0)

Bug Fixes

  • 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)

Breaking Changes

  • error: Identify layout errors (0ec3a3d0)

0.9.0 - 2017-11-30

Features

  • liquid: Dedicated _includes dir (dc4b9cef, closes #328, breaks #)

Breaking Changes

0.8.0 - 2017-11-09

Bug Fixes

  • new:
    • Pages start as md by default (892d798d)
    • Auto-created posts start as drafts (0cfc1581)
  • 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)

Breaking Changes

  • config:
    • Auto-ignore dest in more cases (8676a3a8)
    • source/dest are now relative to config (ce95b395)
    • Remove layouts config setting (137fb960)
    • Find config in parent rather than default (4e96a1fb)
  • cli:
    • Remove global config flags (b00aad63)
    • Remove source/posts/layouts flags (70b549da)
  • jekyll: Clean up flag names (80468b9f)

Features

  • 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:
    • Remove global config flags (b00aad63)
    • Remove source/posts/layouts flags (70b549da)
  • config:
    • Change future destination to _site (da586c71)
    • Remove layouts config setting (137fb960)
    • Find config in parent rather than default (4e96a1fb)
  • front:
    • Set published_date from filename (ad69b1fc)
  • liquid: Upgrade to 0.11 (fd366fb9)
    • syntax: Add arr[0] and obj["name"] indexing (PR #141, fixes #127)
    • value: Add nil value to support foreign data (PR #140)

0.7.5 - 2017-10-22

Bug Fixes

  • jekyll: Remove crash (7d07b2cc)
  • Don't dump a flag that isn't meant to be (c3873e29)

0.7.4 - 2017-10-21

Bug Fixes

Features

  • Improve error reporting to user (1e07708b)
  • data-files: Add data file support (bb2d7c0f, closes #256)
  • scss: Implement compiling of SCSS files (76b8d8ae)

0.7.3 - 2017-10-05

Breaking Changes

  • page.path now returns non-exploded path. (7f571a8b)
  • --dump=liquid is now split into --dump=DocObject and --dump=DocTemplate (3439265b)

Features

  • Support :categories in permalink (a9b4474f)
  • Support nested frontmatter (cafd42fa)
  • syntax-highlight: Succeed on windows (f1129fa8)
  • debug:
    • Dump doc with all defaults/globals (e4ff582f)
    • Link substitutions dump flag added (3439265b)

Bug Fixes

  • build: Do not attempt to build the output (51f486a8)
  • watch: Ignore dest rather than rebuild (fce89368, closes #170)

0.7.2 - 2017-07-04

Bug Fixes

  • Bump syntect version to 1.7.0 and enable dump-load feature (4d0e14a7)

0.7.1 - 2017-06-25

Bug Fixes

  • CI:
    • Show all build failures, not just first (52916cd8)
    • Re-enable Stable builds on Linux (24f3b209)

0.7.0 - 2017-06-24

Bug Fixes

Performance

  • document: cache off Regex objects (2b2525c1)

Features

  • 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 (former cobalt new renamed to cobalt init) (4700f34)
  • Customize post sort order with post_order: "asc" (28df5e2)
  • Posts now have prev and next attributes (dbcaf7e)
  • Documents now have title, slug, and ext attributes (46b3b22)

Breaking Changes

  • .cobalt.yml's ignore changed to gitingore format (be05d963, closes #221)
  • cobalt new renamed to cobalt init (fe3a246)

0.5

  • 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][])

0.4

0.3

0.2

  • Initial release