The exercism CLI follows semantic versioning.
- Your contribution here
- #1178 Add arm64-assembly test configuration [@keiravillekode]
- #1177 refactored exercism.io links to exercism.org [@ladokp]
- #1165 Add support for the YAMLScript language [@ingydotnet]
- #1174 Fix an issue with
exercism completion bash
where the command name is not present in the completion output. - @petrem - #1172 Fix
exercism test
command for Batch track - @bnandras
- #1157 Add support for Batch to
exercism test
- @GroophyLifefor - #1159 Fix duplicated
t
alias - @muzimuzhi
- #1156 Add
test
command to Shell completions - @muzimuzhi
- #1152 Add support for Idris to
exercism test
- @isberg - #1151 Add support for Cairo to
exercism test
- @isberg - #1147 Add support for Arturo to
exercism test
- @erikschierboom
- #1126 Update
exercism test
to use Gradle wrapper to test Java exercise - @sanderploegsma - #1139 Add support for Pyret to
exercism test
- #1136 Add support for J to
exercism test
- @enascimento178 - #1070
exercism open
does not require specifying the directory (defaults to current directory) - @halfdan - #1122 Troubleshoot command suggest to open forum post instead of GitHub issue - @glennj
- #1065 Update help text for
exercism submit
to indicate specifying files is optional - @andrerfcsantos - #1140 Fix release notes link
- #1128 Fix
exercism test
command not working for the8th
andemacs-lisp
tracks - @glennj - #1125 Simplify root command description
- #1124 Use correct domain for FAQ link @tomasnorre
- #1092 Add
exercism test
command to run the unit tests for nearly any track (inspired by universal-test-runner) - @xavdid - #1073 Add
arm64
build for each OS
- #979 Protect existing solutions from being overwritten by 'download' - @harugo
- #981 Check if authorisation header is set before attempting to extract token - @harugo
- #1044 Submit without specifying files - @andrerfcsantos
- #866 The API token outputted during verbose will now be masked by default - @Jrank2013
- #873 Make all errors in cmd package checked - @avegner
- #871 Error message returned if the track is locked - @Jrank2013
- #886 Added GoReleaser config, updated docs, made archive naming adjustments - @ekingery
- #770 Print API error messages in submit command - @Smarticles101
- #763 Add Fish shell tab completions - @John-Goff
- #806 Make Zsh shell tab completions work on $fpath - @QuLogic
- #797 Fix panic when submit command is not given args - @jdsutherland
- #828 Remove duplicate files before submitting - @larson004
- #793 Submit handles non 2xx responses - @jdsutherland
- #752 Improve error message on upgrade command - @farisj
- #759 Update shell tab completion for bash and zsh - @nywilken
- #762 Improve usage documentation - @Smarticles101
- #766 Tweak messaging to work for teams edition - @kytrinyx
- official release of v3.0.10-alpha.1 - @nywilken
- #739 update maxFileSize error to include filename - @nywilken
- #736 Metadata file .solution.json renamed to metadata.json - @jdsutherland
- #738 Add missing contributor URLs to CHANGELOG - @nywilken
- #737 Remove unused solutions type - @jdsutherland
- #729 Update Oh My Zsh instructions - @katrinleinweber
- #725 Do not allow submission of enormous files - @sfairchild
- #724 Update submit error message when submitting a directory - @sfairchild
- #723 Move .solution.json to hidden subdirectory - @jdsutherland
- #720 Make the timeout configurable globally - @kytrinyx
- #721 Handle windows filepaths that accidentally got submitted to the server - @kytrinyx
- #722 Handle exercise directories with numeric suffixes - @kytrinyx
- #705 Fix confusion about path and filepath - @kytrinyx
- #650 Fix encoding problem in filenames - @williandrade
- #652 Add support for teams feature - @kytrinyx
- #683 Fix typo in welcome message - @glebedel
- #675 Improve output of troubleshoot command when CLI is unconfigured - @kytrinyx
- #679 Improve error message for failed /ping on configure - @kytrinyx
- #669 Add debug as alias for troubleshoot - @kytrinyx
- #647 Ensure welcome message has full link to settings page - @kytrinyx
- #667 Improve bash completion script - @cookrn
- #642 Add better error messages when configuration is needed before download - @kytrinyx
- #641 Fix broken download for uuid flag - @kytrinyx
- #618 Fix broken test in Windows build for relative paths - @nywilken
- #631 Stop accepting token flag on download command - @kytrinyx
- #616 Add shell completion scripts to build artifacts - @jdsutherland
- #624 Tweak command documentation to reflect reality - @kytrinyx
- #625 Fix wildly excessive whitespace in error messages - @kytrinyx
This is a complete rewrite from the ground up to work against the new https://exercism.org site.
- #344 Make the CLI config paths more XDG friendly - @narqo
- #346 Fallback to UTF-8 if encoding is uncertain - @petertseng
- #350 Add ARMv8 binaries to CLI releases - @Tonkpils
- #352 Fix case sensitivity on slug and track ID - @Tonkpils
- #353 Print confirmation when fetching --all - @neslom
- #356 Resolve symlinks before attempting to read files - @lcowell
- #358 Redact API key from debug output - @Tonkpils
- #359 Add short flag
-m
for submit comment flag - @jgsqware - #366 Allow obfuscation on configure command - @dmmulroy
- #367 Use supplied confirmation text from API on submit - @nilbus
- #339 Don't run status command if API key is missing - @ests
- #336 Add '--all' flag to fetch command - @neslom
- #333 Update references of codegangsta/cli -> urfave/cli - @manusajith, @blackerby
- #331 Improve usage/help text of submit command - @manusajith
- #306 Don't use Fatal to print usage - @broady
- #307 Pass API key when fetching individual exercises - @kytrinyx
- #312 Add missing newline on usage string - @jppunnett
- #318 Show activity stream URL after submitting - @lcowell
- 4710640 - @lcowell
- Update codegangsta/cli dependency - @manusajith, @lcowell
- #320 Add missing newlines to usage strings - @hjljo
- #328 Append solution URL path consistently - @Tonkpils
- #284 Update release instructions - @kytrinyx
- #285 Create a copy/pastable release text - @kytrinyx
- #289 Fix a typo in the usage statement - @AlexWheeler
- #290 Fix upgrade command for Linux systems - @jbaiter
- #292 Vendor dependencies - @Tonkpils
- #293 Remove extraneous/distracting details from README - @Tonkpils
- #294 Improve usage statement: alphabetize commands - @beanieboi
- #297 Improve debug output when API key is unconfigured - @mrageh
- #299 List output uses track ID and problem from list - @Tonkpils
- #301 Return error message for unknown track status - @neslom
- #302 Add helpful error message when user tries to submit a directory - @alebaffa
- #270 Allow commenting on submission with --comment - @Tonkpils
- #271 Increase timeout to 20 seconds - @Tonkpils
- #273 Guard against submitting spec files and README - @daveyarwood
- #278 Create files with 0644 mode, create missing directories for downloaded solutions - @petertseng
- #281 Create missing directories for downloaded problems - @petertseng
- #282 Remove random encouragement after submitting - @kytrinyx
- #283 Print current configuration after calling configure command - @kytrinyx
- #212 extract path related code from config - @lcowell
- #215 use $XDG_CONFIG_HOME if available - @lcowell
- #248 #253 add debugging output - @lcowell
- #256 clean up build scripts - @lcowell
- #258 reduce filesystem noise on fetch @devonestes
- #261 improve error message when track and exercise can't be identified on submit - @anxiousmodernman
- #262 encourage iterating to improve after first submission on an exercise - @eToThePiIPower
- #200: Add guard to unsubmit command - @kytrinyx
- #204: Improve upgrade failure messages and increase timeout - @Tonkpils
- #206: Fix verbose flag and removed short
-v
- @zabawaba99 - #208: avoid ambiguous or unresolvable exercism paths - @lcowell
- b3c3d6f: Improve error message on Internal Server Error - @Tonkpils
- #196: Add upgrade command - @Tonkpils
- #194: Fix home expansion on configure update - @Tonkpils
- 523c5bd: Document release process - @kytrinyx
- #192: Loosen up restrictions on --test flag for submissions - @Tonkpils
- #190: Fix bug in home directory expansion for Windows - @Tonkpils
- 1a2fd1b: Handle config as either directory or file - @lcowell
- #177: Improve JSON error handling and reporting - @Tonkpils
- #178: Add support for $XDG_CONFIG_HOME - @lcowell
- #184: Handle different file encodings in submissions - @ambroff
- #179: Pretty print the JSON config - @Tonkpils
- #181: Fix path issue when downloading problems - @Tonkpils
- #186: Allow people to specify a target directory for the demo - @Tonkpils
- #189: Implement
--test
flag to allow submitting a test file in the solution - @pminten
- #167: Fixes misspelling of exercism list command - @queuebit
- Tweak output from
fetch
so that languages are scannable. - #35: Add support for submitting multiple-file solutions
- #171: Implement
skip
command to bypass individual exercises - @Tonkpils
Added:
- #154: Add 'list' command to list available exercises for a language - @lcowell
- 3551884: Add host connectivity status to debug output. - @lcowell
- #162: Allow users to open the browser from the terminal. - @zabawaba99
Removed:
- Stop supporting legacy config files (
~/.exercism.go
) - Deleted deprecated login/logout commands
- Deleted deprecated key names in config
Fixed:
- #151: Expand '~' in config path to home directory - @lcowell
- #155: Display problems not yet submitted on fetch API - @Tonkpils
- f999e69: Disambiguate debug and verbose flags. - @lcowell
- Report 'new' at the bottom after fetching, it's going to be more relevant than 'unchanged', which includes all the languages they don't care about.
Tweaked:
- Set environment variable in build script
- #153: Refactored configuration package - @kytrinyx
- #157: Refactored API package - @Tonkpils
- exercism#2155: Fixed problem with passed in config file being ignored.
- Added first version of changelog
- #147: added
--api
option to exercism configure - @morphatic
- #143: added command for downloading a specific solution - @harimp
- #142: fixed command name to be
exercism
rather thancli
ongo get
- @Tonkpils
- 9cbd069: Made path comparison case insensitive
- 0ccc7a4: Implemented debug flag on submit command
- #138: Added conversion to line endings for submissions on Windows - @rprouse
- #116: Added support for setting name of config file in an environment variable
- 47d6fd4: Added a
track
command to list the problems in a given language - #126: Added explanation in
submit
response about fetching the next problems - #133: Changed config command to create the exercism directory, rather than waiting until the first time problems are fetched - @Tonkpils
- 88cf1a1fbc884545dfc10e98535f667e4a43e693: Added ARMv6 to build
- 12672c4: Added an error message when people submit a file that is not within the exercism directory tree
- #128: Made paths os-agnostic in tests - @ccnp123
- 4ca3e97: Fixed incorrect HOME directory on Windows
- 8bd1a25: Added ARMv5 to build
- #117: Archive windows binaries using zip rather than tar and gzip - @LegalizeAdulthood
- 8bec393: Fixed submit so it can handle symlinks
- Completely reorganized the code, separating each command into a separate handler
- 17fc164: Fixed paths to be platform-independent
- 8b174e2: Made the output of demo command more helpful
- 8b174e2: Deleted the 'current' command
- ac6dbfd: Added os and architecture to the user agent
- 5d58fd1: Fixed bug in detecting user's home directory
- #100: Added 'debug' command, which supersedes the 'info' command - @Tonkpils
- Extracted a couple of commands into separate handlers
- 6ec5876: Added a hack to rename old config files to the new default name
- bb7d0d6: Rename 'home' command to 'info'
- #95: Added 'home' command
- Deprecate login/logout commands
- 1a39134: Changed demo to write exercises to the default exercism problems directory
- 07cc334: Deleted the whoami command, we weren't using github usernames for anything
- #97: Changed default exercism directory to ~/exercism - @lcowell
- #94: Updated language detection to handle C++ - @LegalizeAdulthood
- #92: Renamed config json file to .exercism.json instead of .exercism.go - @lcowell
- f55653f: Deleted go vet from travis build temporarily until the codebase can be cleaned up
- #91: Replaced temp file usage with encode/decode - @lcowell
- #90: Added sanitization to config values to trim whitespace before writing it - @lcowell
- Did a fair amount of cleanup to make code a bit more idiomatic
- #86: Triggered interactive login command for commands that require auth - @Tonkpils
- a5b7a55: Update login prompt
- #84: Change hard-coded filepath so that it will work on any platform - @simonjefford
- #82: Fixed typo in tests - @srt32
- aa7446d: Clarified output to user after they fetch
- #79: Updated development instructions to fix permissions problem - @andrewsardone
- #78: Deleted deprecated action
peek
- @djquan - #74: Implemented new option on
fetch
to get a single language - @Tonkpils - #75: Improved feedback to user after logging in - @Tonkpils
- #72: Optimized use of temp file - @Dparker1990
- #70: Fixed a panic - @Tonkpils
- #68: Fixed how user input is read so that it doesn't stop at the first space - @Tonkpils
- 5b672ee: Provided a visual mark next to new problems that get fetched
- #63: Implemeted
fetch
for a single language - @Tonkpils - #62: Expose error message from API to user on
fetch
- @Tonkpils - #59: Added global flag to pass the path to the config file instead of relying on default - @isbadawi
- #57: Added description to the restore command - @rcode5
- #56: Updated developer instructions in README based on real-life experience - @rcode5
- #47: Added 'restore' command to download all of a user's existing solutions with their corresponding problems - @ebautistabar
- Numerous small fixes and cleanup to code and documentation - @dpritchett, @TrevorBramble, @elimisteve
- f8dd974: Fixed content-type header when posting to API
- Fixed user-agent string
- exercism#1039: Stopped clobbering existing files on fetch
- 7f39ee4: Allow users to specify a particular problem when fetching.
- exercism#998: Fix problem with writing an empty config file under certain circumstances.
- #28: Create exercism directory immediately upon logging in.
- Upgrade to newer version of codegangsta/cli library, which returns an error from the main Run() function.
- 371521f: Add support for nested directories under the language track directory allowing us to create idiomatic scala, clojure, and other exercises.
- 371521f: Consume the new hash of filename => content that the problem API returns.
- 371521f: Add output when fetching to tell the user where the files where created.
- Refactor to extract config package
- Delete stray binary TODO we might rewrite history on this one, see #102.
- #22: Display submission url after submitting solution - @Tonkpils
- #21: Add unsubmit command - @Tonkpils
- #20: Add current command - @Tonkpils
- Inline refactoring experiment, various cleanup
- #11: Don't require authentication for demo - @msgehard
- #14: Print out fetched assignments - @Tonkpils
- #16: Fix broken submit for relative path names - @nf
- Create a separate demo directory if there's no configured exercism directory
- #7: Recognize haskell test files
- #5: Fix typo - @simonjefford
- #1: Output the location of the config file - @msgehard
- Recognize more language test files - @msgehard
All changes by @msgehard
- Clean up homedir
- Add dev instructions to README
All changes by @msgehard
- Ensure that ruby gem's config file doesn't get clobbered
- Add cross-compilation
- Set proper User-Agent so server doesn't blow up.
- Implement
submit
- Implement
demo
- Implement
peek
- Expand ~ in config
- Implement
fetch
- Implement
current
- Implement
whoami
- Implement login and logout
- Build on Travis