Skip to content

Releases: exercism/configlet

4.0.0

05 Sep 19:43
3c21594
Compare
Choose a tag to compare

This release does nothing but change the version number from 4.0.0-beta.21 to 4.0.0.

Configlet has been stable for years, but we wanted to make a particular breaking change before dropping the beta. That change ended up taking longer than anticipated, but we made it last week with 4.0.0-beta.20.

Thanks to all the contributors. And huge thanks to @ErikSchierboom for everything he's put into Exercism over the years.

@ee7

Full changelog: 4.0.0-beta.21...4.0.0

4.0.0-beta.21

29 Aug 10:40
6f68f51
Compare
Choose a tag to compare

configlet generate

  • show missing introduction file in output (#884)

The configlet generate command now distinguishes missing introduction files from outdated introduction files in its output.

Commit: accdc82

4.0.0-beta.20

28 Aug 13:22
9578122
Compare
Choose a tag to compare

configlet generate

  • make interface consistent with other actions (#619)

Unlike other actions, configlet generate was destructive by default (i.e. it immediately overwrote files).
This was not consistent with the other actions, which all required --update (and possibly --yes) to actually change things on the filesystem.
This is now fixed, so you'll need to pass --update to allow configlet generate to write the introduction files.

To check if there are introduction.md files that need to be re-generated, run:

configlet generate

To re-generate introduction.md files, run:

configlet generate --update --yes

Commit: 6e74347

configlet create

  • create(completions): (#869)

Add author and difficulty shell completion support for the new create action.

Commit: 1c6ce62

4.0.0-beta.19

01 May 10:23
e1211dc
Compare
Choose a tag to compare

configlet create

  • create(exercise): allow specifying the author and/or difficulty (#864)

This release adds supports for specifying the author when creating an exercise:

configlet create --practice-exercise <slug> --author foo

For practice exercises, you can now also specify the difficulty:

configlet create --practice-exercise <slug> --difficulty 5

Support for specifying the author when creating an approach or article will be added later.

Commit: 68b92e8.

  • create(completions): add new create options (#857)

Add shell completion support for the new create options.

Commit: 0e3196a completions:

  • create(docs): fix descriptions of new options (#858)

Commit : ec0dd1f

configlet lint

  • lint(track_config): add support for the paradigm/array tag (#866)

Commit: 42e5b0a

Internal

Most notably:

  • df1bbd3 build(deps): bump iffy/install-nim from 5.0.0 to 5.0.2 (#838)
  • 919a5a5 build(deps): bump DavidAnson/markdownlint-cli2-action (#861)
  • 6330b5f CODE_OF_CONDUCT: replace Slack with Discord and Forum (#863)

4.0.0-beta.18

19 Jan 08:29
b2ffaf3
Compare
Choose a tag to compare

New features

In addition to creating articles and approaches, configlet now supports creating practice exercises and concept exercises (#845).

Here are some examples:

configlet create --concept-exercise foo
configlet create --practice-exercise foo
configlet create --practice-exercise foo --offline

As with configlet sync, the --offline flag can be used to skip updating the cached problem-specifications data.


Full Changelog: 4.0.0-beta.17...4.0.0-beta.18

4.0.0-beta.17

03 Jan 11:40
f51d99c
Compare
Choose a tag to compare

This is a small release to make configlet lint support the typing/gradual tag (see #842).

Full Changelog: 4.0.0-beta.16...4.0.0-beta.17

4.0.0-beta.16

20 Oct 10:41
84406a5
Compare
Choose a tag to compare

configlet fmt

configlet fmt now also operates on the track-level config.json file.

It previously operated only on the config.json file for exercises, approaches, and articles.

configlet fmt and configlet lint

Both configlet fmt and configlet lint now support the new tags key/value pair for approaches and concepts.

For background, see the forum thread.


Full Changelog: 4.0.0-beta.14...4.0.0-beta.16

4.0.0-beta.15

06 Oct 13:18
9514f3b
Compare
Choose a tag to compare
4.0.0-beta.15 Pre-release
Pre-release

This pre-release had a bug that blocked marking it as a full release: configlet lint may exit non-zero after running configlet fmt with a well-formed track-level config.json file.

Sorry. Please continue to use 4.0.0-beta.14 for now. fetch-configlet will download that version until 4.0.0-beta.16 is released.

4.0.0-beta.14

18 Aug 06:52
dca4119
Compare
Choose a tag to compare

Releases

Previous configlet releases provided pre-built configlet executables only for these targets:

  • x86_64 Linux
  • x86_64 macOS
  • x86_64 Windows

This release adds these new targets:

  • arm64 Linux
  • arm64 macOS
  • arm64 Windows
  • riscv64 Linux

But note that we have not yet updated the fetch-configlet scripts Exercism-wide to support these new targets.

User-facing commits:

  • 0e8d665 .github, config: use Zig to cross-compile arm64 Linux asset (#460)
  • f280445 .github: cross-compile arm64 macOS asset (#796)
  • a962b18 .github: cross-compile riscv64 Linux asset (#798)
  • 3824299 .github, cli, completion: cross-compile arm64 Windows asset (#797)

Full Changelog: 4.0.0-beta.13...4.0.0-beta.14

4.0.0-beta.13

09 Aug 10:58
6d0319a
Compare
Choose a tag to compare

configlet create

This release adds a new command: configlet create. Currently this can only create an approach or article, with the usage:

configlet create --exercise <slug> --approach <slug>
configlet create --exercise <slug> --article <slug>

But in a future version, it will probably gain the ability to create other things (such as an exercise).

Commits: 6c9f1ba, 512e646.

configlet lint

The online_editor.highlightjs_language key/value pair in the track config.json file is now optional (075ecd8).

Releases

We now sign configlet release archives. For more details, see the new Verifying section of the repo README.md, and 009dc9d.

Internal

Most notably:

  • fa7d0bb .github, config, json, nimble: bump Nim from 1.6.12 to 2.0.0 (#723)
  • 7471af3 nimble, patches, cli: vendor parseopt3 dependency (#780)
  • 53a75a2 nimble, uuid: generate UUIDs via std/sysrand, not pragmagic/uuids (#777)

Full Changelog: 4.0.0-beta.12...4.0.0-beta.13