Skip to content
This repository has been archived by the owner on Mar 22, 2022. It is now read-only.

Releases: exercism/v2-configlet

Fix bugs in ExerciseMetadata for `fmt` command

12 Jun 02:18
Compare
Choose a tag to compare

This release fixes two fields in the exercises metadata in the track config.

  1. Changes the type of the checklist_issue to an int (it's not a string)
  2. Adds a boolean field, auto_approve. The v2 site has been operating with an assumption that it is there, defaulting to false where missing (which is everywhere). It also had a hack to set all the hello-world exercises to true in the database.

Fix bugs in `fmt` command

04 Jun 00:24
Compare
Choose a tag to compare

This patch release fixes three important problems with the fmt command. It:

  • ensures that the config files end with a newline (for POSIX compliance)
  • distinguishes between null lists (maintainers have not yet considered values) vs empty lists (maintainers have decided no values are applicable)
  • applies consistent ordering to maintainer config files

Update fmt command to apply a definite ordering

08 May 11:11
Compare
Choose a tag to compare

This release changes the behavior of the fmt command so that it enforces a set ordering when formatting a track's master configuration file config.json. Meaning it will no longer alphabetize JSON keys, but instead adhere to the ordering specified in
exercism/meta#95 (comment)

For more information on changes within this release see CHANGELOG

General enhancements to Configlet

16 Mar 03:20
Compare
Choose a tag to compare

This release introduces a number of enhancements to the lint command, along with a new upgrade command for updating a running version of Configlet to its latest available release.

Lint Enhancements

  • lint now validates that bonus exercises are set to be unlocked by core, track implemented, exercises.
  • lint will ignore unsupported exercise directory names (i.e directory names beginning with a .(dot) or _(underscore))

Upgrade Command

The upgrade command downloads and installs the latest released version of configlet. The version command has a new latest flag configlet version -l that can be used to check for the latest available version.

For more information on changes within this release see CHANGELOG

Add check for README to lint command

04 Feb 21:16
Compare
Choose a tag to compare

As of this release, an accompanying README must be provided for each of the implemented exercises within a given track. Any exercise(s) missing a README will be considered incomplete and will fail to lint. This change is in preparation for Exercism V2, as automatic README generation via Trackler will no longer be supported.

For more information on changes within this release see CHANGELOG

Critical fix to the uuid subcommand

10 Nov 12:36
Compare
Choose a tag to compare

The previous version of configlet uuid was known to generate invalid UUIDs, as described in issue exercism/configlet#99. This release fixes the issue by replacing the core UUID generation library with google/uuid.

For more information on changes within this release see CHANGELOG

Add tree command

20 Oct 14:35
Compare
Choose a tag to compare

A track's configuration file can be hard to review, especially the new structure being used for Nextercism. The tree command reads in a track's config.json file and outputs a hierarchy-based view, much like the Unix tree command, for the exercises implemented within the given track.

$ configlet tree path/to/track [--with-difficulty]

For more information on changes within this release see CHANGELOG

Fixes the exit status for lint when given a track containing malformed JSON

23 Sep 10:54
Compare
Choose a tag to compare

Running lint on a track with a malformed JSON configuration file will result in a zero exit status, even though the lint command reports an error. This release fixes the said issue and ensures that a zero exit status is only returned for a valid track that has passed all lint checks.

Add UUID verification to the lint command

05 Sep 00:57
Compare
Choose a tag to compare

This release adds three pieces of behavior to the lint command:

  • verify that each exercise, including deprecated, has a defined UUID within its track's config.json.
  • verify that each exercise has a unique UUID within its track's config.json; outputting one lint error for each set of duplicated UUIDs.
  • verify that each exercise has a unique UUID across all of Exercism's tracks, by remotely verifying all exercise UUIDs against the Exercism UUID verification service.

The remote, HTTP-based, UUID verification process can be disabled at runtime with the --no-http flag.

$ configlet lint path/to/track --no-http

Add fmt command

22 Aug 21:56
Compare
Choose a tag to compare

The fmt command will reformat/normalize the track's config.json file, as well as the maintainers.json file.