package learn-ocaml-client

  1. Overview
  2. Docs
The learn-ocaml client

Install

Dune Dependency

Authors

Maintainers

Sources

v0.15.0.tar.gz
md5=b584ca88887405b4fc11752eadbc2e6f
sha512=7a194de86028d31488e9ce09e7a96e928ef1c71d3de984bcaa159447d303f8308957b53afb5ad1bd9e9bf5da2d905a2f964b2eb65e21bba112198fe56bada971

doc/CHANGELOG.html

Changelog

0.15.0 (2023-08-23)

Features

  • partition-view: Add a selector to show (tokens, nicks, or anon IDs) (#540) (58b3644), closes #528
  • teacher-tab: Add some inline documentation to the teacher tab (651456a)
  • teacher-tab: Allow name input on teacher token creation (c341fca)
  • teacher-tab: Allow partial CSV export (d5d82fc)
  • teacher-tab: Display last synced student's draft (≠ graded code) (#548) (48583ba), closes #527
  • teacher-tab: Highlight the "apply" button on unsaved changes (b20ce4e)
  • js_utils: Add HTMLElement.title support (3a7c42e)
  • ui: Add feedback button with internationalized tooltip (6b7b226), closes #525
  • ui: better string input dialog (03669eb)

Bug Fixes

  • i18n: fix escaping issue in i18n (e060517)
  • partition-view: Use Ctrl-click or ⌘-click (instead of middle-click) (#516) (a6e4c5e), closes #500
  • teacher-tab: show different status for open and closed assigned exercises (8c2c639)
  • ui: Update fr translation (1b88a18)
  • ui: Use proper URL fragments ("#tab=…", not "#tab%3D…") (#557) (7f2b6cf), closes #539
  • html: Fix process_html_file w.r.t. base_url (84bc393)
  • vuln: percent-decode before path-splitting (#560) (1a0c2ef)

Code Refactoring

  • partition-view: Move adhoc CSS code to learnocaml_partition_view.css (8d86f01)

CI/CD

  • *.yml: Use actions/checkout@v3 (6cb8165)
  • docker: Fix build-args syntax (docker/build-push-action@v4) (046087d)
  • docker: Fix GHA input name: s/build_args/build-args/ (a31ff2b)
  • docker: Replace LABEL Dockerfile commands with labels: (GHA) (#551) (ce8c006), closes #545
  • docker: Use docker/build-push-action@v4 (#544) (69006f8)
  • macos: Fix brew upgrade failure (a99c61b)
  • macos: Fix brew upgrade failure, bis (#518) (68221ba)
  • macos: Fix brew upgrade failure, ter (#536) (af83c70)
  • macos: Run the macOS workflow as well in the weekly CI build (84b7863)

Documentation

  • Fix date in README.md and Copyright headers (#517) (04bb39f)
  • Refactor ISSUE_TEMPLATEs to use GitHub issue forms (#509) (7205c39)

0.14.1 (2023-01-06)

Bug Fixes

  • learnocaml_report.css: Display multiple spaces in code excerpts (#503) (c1054ab), closes #502
  • web-app: Ask token (not secret) when opening exercise url (#489) (b91050e), closes #488
  • web-app: Disable the Sync button at load time (1c068dd)
  • web-app: Disable Sync after local save for a static deployment (dd69f3c)
  • web-app: Remove automatic dialog (cf. Mechanism-2 of PR #372) (7ea03f1)
  • web-app: Add Reload button that replaces Mechanism-2 of PR #372 (918b79e), closes #493 #505
  • learnocaml_common.ml: Remove unused var (leftover of PR #489) (dc5c89c)

Documentation

  • index.md: Update index.md (2fdc853)
  • README.md: Update/Fix README.md (7174547)
  • src/main/*: Document exit codes in man pages forall cmd/subcmd (c6ae2ca)
  • src/main/*: Move server options to ad-hoc section in man pages (7c14d4c)

Build System

  • static-binaries: Fix building of static binaries on CI (#497) (bcb0ff7), closes #496

Dependencies

  • opam: Bump ssl (0.5.10 -> 0.5.12) (#499) (9bc28a6), closes #498
  • opam: Upgrade cmdliner version to 1.1.1 & Improve man pages (590034f)

CI/CD

  • check-update-index.yml: Add a workflow to check index.md (24c56b3), closes #490
  • pin-artifacts.yml: Add build artifacts links within upstream commits status (#501) (e55cf61), closes #475
  • update-index.sh: Add a script to update docs/index.md (c538200), closes #490

0.14.0 (2022-03-06)

Features

  • Build learn-ocaml-www.zip (learn-ocaml --contents-dir=www) (#469) (e36d874)
  • Offer better protections against solution overwriting (#372) (5c12539), closes #316 #467
  • Rename Try_OCaml→Tutorials, --enable-tryocaml→--enable-tutorials (#451) (9651160)

Bug Fixes

  • Change learn-ocaml-www.zip inner dir (www → learn-ocaml-www) (#474) (a602ba2)
  • docker: Add missing libs for partition-view/… using compiler-libs (#459) (c2399b0), closes #438
  • grader: Workaround issue #457 about the Introspection module (#461) (f5d66c6)
  • UI: Restore UX of the welcome message "Choose an activity." (#455) (9d5c7de)

Documentation

  • Add CONTRIBUTING.md file (#452) (6e3fa0f)
  • Improve ISSUE_TEMPLATEs & Add PULL_REQUEST_TEMPLATE (#453) (d511d58)
  • Improve {ISSUE,PULL_REQUEST}_TEMPLATEs, slightly (#464) (e3ff435)

Code Refactoring

Build System

  • docker: Refine the .dockerignore as a whitelist (#471) (41706ea)

Tests

  • Improve make detect-libs & Use it (Dockerfile.test-server) (7c81d7f)

Dependencies

  • opam: Add missing package (ocaml-migrate-parsetree v1.8.0) (38809a5)
  • opam: Bump ssl version (9d6da39)

0.13.1 (2021-10-16)

Bug Fixes

  • *.opam: Make common deps constraints uniform & Add missing deps (26a50ef)
  • API: Fix listing exercise status when the status list hasn't been initialized; Fix #314 (3c781cb)
  • grader: Display negative numbers with mandatory parens; Fix #440 (35941b5)
  • UI: Cleanup duplicate, inconsistent camel logos (03d871a)
  • UI: Display Actions=teacher_menubar properly in responsive mode; Fix #444 (#450) (b6d44db)
  • UI: Fix CSS bug regarding the loading animation (#445) (881982a)
  • UI: Increase timeout during grading (3cb9dd1)
  • UI: Update one fr translation (06a71ae)

Dependencies

  • Fix version of dune package (w.r.t. that of dune-project file) (7c11083)

Documentation

  • tests/README.md: Add hint for test case generation (19477a5)

Tests

  • Add Dockefile.test-server to repro issue with learn-ocaml.opam (6d86ce6)
  • Add test to repro issue #440 (07033c9)

CI/CD

  • build-and-test.yml: Add ocamlsf/learn-ocaml:0.13.0 in client test matrix (6c21d9c)
  • Ensure release-please triggers docker/build-push-action jobs (#443) (71c3590)
  • Ensure the CD-related workflows won't run on forks (#446) (6b8c49b)

0.13.0 (2021-10-05)

Features

  • Port to OCaml 4.12 (#408) (34f04af)
  • Relax the client/server coupling & Add support for API versioning (#426) (3113861)
  • Make server version available to front-ends (learn-ocaml-client & learn-ocaml.el) (#429) (d607281)
  • Generate static binaries directly from a GitHub Action (Linux, macOS) (#391) (ff9f091)
  • Make the prelude available in description page (#393) (51ed717)
  • Improve description entrypoint (#423) (a825d7e)
  • Add a ppx facility to test expressions (#403) (526bc07)
  • Make find_binding match annotated declarations (#425) (b277b38)
  • UI: Discourage redundant token creation from users (#410) (83630d5)
  • UI: Move the toplevel buttons to the bottom-right (#409) (90066d0)
  • UI: Reset the toplevel every time before evaluating code from the editor (#411) (65ce0c42)
  • UI: Improve UX for clickable logo (#389) (c406219)
  • Add support for exercise code reuse (#320) (42d8127)
  • Add VG in toplevel and exercises (#352) (1add7ba)

Bug Fixes

  • CI: Use OCaml 4.12.1 (d5ece9b)
  • Blacklist jsoo version 3.10.0 (#420) (2696f86)
  • .ci-macosx.sh: Avoid { set -e; c1 && c2; } bug & Improve script (17a6703)
  • .ci-macosx.sh: Install openssl (0a30b4f)
  • dune: Avoid ANSI char issues in opam show … > VERSION (#394) (b72fa6c)
  • UI: Fix the display of UTF-8 characters in the code editor (#412) (debb635)
  • omd: Update the markdown-to-html transformation so links open a new tab (#392) (e0e3f2f)
  • omd: Update override_url to avoid escape characters problems in URL (1e87190)
  • Fix static deployment (#356) (1332c6e)
  • Fix & Document static deployment CLI support (#368) (3cc2533)
  • Fix learn-ocaml-client regression after PR #320 (#397) (5b16c92)
  • Better error message for X-TOKEN registration (#406) (e27415c)
  • CI: Add custom, curl-based wait_for_it (d910a6e)
  • Docker: Fix runtime error in Docker packaging (a697edf)
  • CI: Bump alpine version & Use ocaml/opam instead of ocaml/opam2 (7766698)
  • CI: Workaround the static-bin-macos failure (#431) (064dafd)
  • Use HTML5 Doctype (fe0fe8b)

Performance Improvements

  • Remove redundant build step (2b3f25b)
  • Learnocaml_main: Remove unneeded Markup.pretty_print (e5ce820)

Tests

  • runtests.sh: Improve the script & Fix all shellcheck issues (5f4a6ac)

Continuous Integration

  • CI/CD using GitHub Actions (#361) (bcecadd)
  • GHA: Add a weekly build https://crontab.guru/#0_8_*_*_6 (63903f2)
  • GHA: Enable cron build for static-builds.yml (6478085)
  • GHA: Deploy ocamlsf/emacs-learn-ocaml-client:{master,$tags} (#433) (dce8f00)
  • GHA: Ensure the uploaded artifacts are single .tar.gz files (#432) (adbb063)
  • release.yml: Add a (3 jobs)-based GHA using release-please (#434) (7e389ef)

Documentation

  • Document student answers classification (#421) (9b1a551)
  • Fix docs issue #399 and unify the markdown syntax (276dac9)
  • Make accessible the documentation generated by odoc (#404) (e10975f)
  • docs/index.md: Update docker badges & ocaml-sf URL (7fce8a1)
  • readme: s/HTTP/HTTPS/ (193df99)
  • UI: Improve text details (#428) (017f049)

Miscellaneous Chores

OCaml

Innovation. Community. Security.