431 lines
12 KiB
Markdown
431 lines
12 KiB
Markdown
2.12.1 (2023-04-21)
|
|
-------------------
|
|
|
|
* Fix regression with unit qualification when a `Unit` module is in scope with
|
|
no `()` constructor (#429, fixes #428, @emillon)
|
|
|
|
* emacs: add completion-at-point implementation (#406, fixes #261, @j-shilling)
|
|
|
|
2.12.0 (2023-04-17)
|
|
-------------------
|
|
|
|
* Add support for OCaml 5.1 (#421, @emillon)
|
|
|
|
* Mark `prompt_continue`, `prompt_comment`, `smart_accept`, `new_prompt_hooks`,
|
|
`at_new_prompt` as deprecated (they have been documented as such since 2012
|
|
and most of them are ignored) (#415, @emillon)
|
|
|
|
* Qualify `()` constructor in generated expressions. (#418, fixes #417, @emillon)
|
|
|
|
2.11.0 (2023-01-05)
|
|
-------------------
|
|
|
|
* Bump the compatibility to 4.08+ (#393 @emillon)
|
|
* Load `@toplevel_printer` annotated printers for functors (#378 @metavinek)
|
|
* Do not display a backtrace when exiting normally (#399 #398 @emillon)
|
|
|
|
2.10.0 (2022-10-06)
|
|
------------------
|
|
|
|
* Use dependencies compatible with OCaml 5:
|
|
- Use zed 3.2.0, based on uucp, uutf, and uuseg instead of camomile
|
|
- Use logs.lwt instead of `lwt_logs`
|
|
|
|
2.9.2 (2022-06-15)
|
|
------------------
|
|
|
|
* Add support for OCaml 5.0 (#377 @dra27)
|
|
|
|
2.9.1 (2022-03-28)
|
|
------------------
|
|
|
|
* Add support for OCaml 5.0 (#371 @favonia)
|
|
|
|
2.9.0 (2021-12-09)
|
|
------------------
|
|
|
|
* Add support for OCaml 4.14 (#360 @kit-ty-kate)
|
|
* Document options in utop(1) manpage (#364 #365 @lindig)
|
|
|
|
2.8.0 (2021-06-18)
|
|
------------------
|
|
|
|
* If the current working directory is the home directory, then
|
|
do not load `.ocamlinit` (@hyphenrf @copy #338)
|
|
* With OCaml 4.12.0 and later, the toplevel uses the toplevel
|
|
state to exit with the right status code (#348 @octachron)
|
|
* Fix color highlight for errors (#350 @chripell)
|
|
* Add support for OCaml 4.13 (#353 @kit-ty-kate)
|
|
|
|
Emacs mode fixes:
|
|
* Company text-completion fixes (@leungbk #340)
|
|
* `utop-query-arguments` always returns `(utop-arguments)` whether
|
|
it sets the utop-command or not (@dansanduleac #347)
|
|
* Fix completion returning bogus candidates (#352 @chripell @rgrinberg)
|
|
|
|
2.7.0 (2021-01-06)
|
|
------------------
|
|
|
|
* add support for OCaml 4.12 (@emillon, #339)
|
|
|
|
2.6.0 (2020-05-30)
|
|
------------------
|
|
|
|
* compatible with OCaml 4.11 (@kit-ty-kate, #322)
|
|
* switch to the new parser exposed since 4.11
|
|
* Vi edit mode: register support
|
|
|
|
2.5.0 (2020-04-26)
|
|
------------------
|
|
|
|
### Additions
|
|
|
|
* add `#edit_mode_vi` and `#edit_mode_default` mode to set the editing mode(@kandu)
|
|
* Backport the `#use_output` directive (@diml, #313)
|
|
|
|
### General
|
|
|
|
* Load init file from ~/.config/utop/init.ml as per XDG conventions (@copy, #144)
|
|
* Add OCaml 4.09 and 4.10 to the CI matrix (@kit-ty-kate, #310)
|
|
* Add documentation for dune utop usage in emacs (@samarthkishor, #307)
|
|
|
|
2.4.3 (2019-12-31)
|
|
------------------
|
|
|
|
* add support for OCaml 4.10
|
|
|
|
2.4.2 (2019-09-18)
|
|
------------------
|
|
|
|
* Add support for OCaml 4.09.0 (@octachron @avsm, #299)
|
|
|
|
2.4.1 (2019-08-09)
|
|
------------------
|
|
|
|
### General
|
|
|
|
* Remove camlp4 remnants (@XVilka, #290) (@kandu, #293)
|
|
* Allow to statically link utop (@diml, #285) (@hongchangwu, #286)
|
|
|
|
### Misc
|
|
|
|
* Remove broken elisp (m-plamann, #292)
|
|
* Add OCaml 4.08 build in Travis CI (XVilka, #291)
|
|
|
|
2.4.0 (2019-05-17)
|
|
------------------
|
|
|
|
### General
|
|
|
|
* Better support for wide and combined glyph (@kandu)
|
|
* Added tips for simpe prompt without fancy features (Marshall Abrams, #279)
|
|
* Correct quoting for Windows command shell (Dmitry Bely, #272)
|
|
|
|
### Additions
|
|
|
|
* 4.08 compatibility (#284)
|
|
* module `UTop`: add `get_load_path` and `set_load_path` to manage the include directories (#284)
|
|
|
|
### Breaking
|
|
|
|
* module `UTop`: `val load_path : string list ref` is removed (#284)
|
|
|
|
2.3.0 (2019-01-31)
|
|
------------------
|
|
|
|
The new feature in this release is to automatically install
|
|
printers marked with `[@@ocaml.toplevel_printer]` (#269 @diml).
|
|
Adding this annotation to your libraries will remove the need
|
|
to have a separate `top` package to install the printers.
|
|
|
|
For example, in the [uri](https://github.com/mirage/ocaml-uri)
|
|
library, the old printing function for `Uri.t` was:
|
|
|
|
```
|
|
val pp_hum : Format.formatter -> t -> unit
|
|
```
|
|
|
|
Just adding this annotation results in `Uri.t` values being automatically
|
|
pretty printed in this version of utop.
|
|
|
|
```
|
|
val pp_hum : Format.formatter -> t -> unit [@@ocaml.toplevel_printer]
|
|
```
|
|
|
|
* Add cool screenshot to README (#259 @rizo) and update links (#257 @bobot)
|
|
* Improve robustness by using more tail-recursive functions (#251 @gpetiot)
|
|
* Remove deprecation warnings in newer compilers (#246 @ncihnegn)
|
|
* Minimum OCaml version supported is now 4.03.0 (#254 @XVilka)
|
|
* Publish API documentation online and add `doc:` entry to opam file (#270 @avsm)
|
|
* Port build to dune from jbuilder (#268 @avsm)
|
|
* Upgrade local opam metadata to opam 2.0 format (#268 @avsm)
|
|
|
|
2.2.0 (2018-07-15)
|
|
------------------
|
|
|
|
* 4.07.0 compatibility (#238, @hcarty)
|
|
* Fix compatibility with latest tuareg-mode (#241, @Wilfred)
|
|
* Do not expand include directories (#242, @sliquister)
|
|
|
|
2.1.0 (2018-02-28)
|
|
------------------
|
|
|
|
* Add support for company-mode based completion in utop.el (#233)
|
|
|
|
2.0.2 (2017-11-07)
|
|
------------------
|
|
|
|
* 4.06.0 compatibility (#221)
|
|
|
|
2.0.1 (2016-05-30)
|
|
------------------
|
|
|
|
* Fix: restore the installation of `utop.el` (#210, Louis Gesbert)
|
|
|
|
2.0.0 (2016-05-26)
|
|
------------------
|
|
|
|
* Add `-implicit-bindings` option to automatically bind expressions to names
|
|
`_0`, `_1` and so on. For example, `3 + 4;;` becomes `let _0 = 3 + 4;;`
|
|
(#161, #193, Fabian Hemmer)
|
|
* Add tab completion for `#mod_use` (#181, Leonid Rozenberg)
|
|
* Mention `#help` in `#utop_help` (#190, Fabian Hemmer)
|
|
* Add `#utop_stash` and `#utop_save` to save the session to a file
|
|
(#169, #199, Christopher Mcalpine and Fabian Hemmer)
|
|
* Add support for reason in the emacs mode (#206, Andrea Richiardi)
|
|
* Fix a bug where utop wouldn't apply ppx rewriters when running in
|
|
emacs (Bug report: #192, fix: #202, Deokhwan Kim)
|
|
* Refactor the use of hooks to support the various OCaml emacs mode
|
|
(#201, Andrea Richiardi)
|
|
* Drop support for camlp4/camlp5
|
|
* Drop support for OCaml <= 4.01
|
|
* Switch the build system to jbuilder
|
|
* Resurect `UTop_main.interact`
|
|
|
|
1.19.3 (2016-08-15)
|
|
-------------------
|
|
|
|
* fix compatibility with 4.04.0+beta1
|
|
|
|
1.19.2 (2016-04-25)
|
|
-------------------
|
|
|
|
* Make ppx\_tools dependency optional
|
|
|
|
1.19.1 (2016-04-18)
|
|
-------------------
|
|
|
|
* fix compatibility with 4.03.0+beta2
|
|
|
|
1.19 (2016-04-07)
|
|
-----------------
|
|
|
|
* allow to configure the external editor with `UTop.set_external_editor`
|
|
* add `UTop.set_margin_function` to allow users to set
|
|
the margin for the toplevel outcome. It is 80 by default
|
|
* better for quoted strings (`{|...|}`)
|
|
* add a `#pwd` directive
|
|
* experimental support for running utop in the middle of a program
|
|
with `UTop_main.interact`
|
|
* fix Async integration (automatic waiting of `_ Deferred.t` value).
|
|
The new version is more robust against future change in Async
|
|
* fix use of the non-existing `replace-in-string` function in the
|
|
emacs mode (Syohei Yoshida)
|
|
* fallback to Latin-1 for invalid UTF-8 sequences in the compiler output
|
|
|
|
1.18.2 (2016-03-02)
|
|
-------------------
|
|
|
|
* fix compatibility with OCaml 4.03
|
|
|
|
1.18.1 (2015-11-03)
|
|
-------------------
|
|
|
|
* fix compatibility with findlib 1.5.6
|
|
|
|
1.18 (2015-06-23)
|
|
-----------------
|
|
|
|
* emace mode improvements (Mads Hartmann Jensen)
|
|
- add `utop-minor-mode` to make integration with major modes cleaner
|
|
- clean-up of the elisp code
|
|
* add `UTop.end_and_accept_current_phrase` to avoid typing `;;` at the
|
|
end of every phrases
|
|
* fix compatibility with OCaml trunk
|
|
|
|
1.17 (2014-12-12)
|
|
-----------------
|
|
|
|
* re-export `Config.load_path` as `UTop.load_path` (Peter Zotov)
|
|
* enable utop-command to be buffer-local (Mads Hartmann Jensen)
|
|
* fix 4.01 compatibility (Peter Zotov)
|
|
|
|
1.16 (2014-10-20)
|
|
-----------------
|
|
|
|
* make camlp4 support optional
|
|
* require OCaml 4.01.0 or newer
|
|
* implement wrapper for -safe-string
|
|
|
|
1.15 (2014-08-30)
|
|
-----------------
|
|
|
|
* fix compatibility with OCaml 4.02.0
|
|
|
|
1.14 (2014-07-05)
|
|
-----------------
|
|
|
|
* fix compatibility with OCaml 4.00.1 and earlier
|
|
|
|
1.13 (2014-07-04)
|
|
-----------------
|
|
|
|
* don't try to colorize the output when there is too much
|
|
* add auto-completion for the `#ppx` directive
|
|
* add support for -ppx, -dparsetree and -dsource
|
|
* fix compatibility with OCaml 4.02
|
|
* update pa_optcomp
|
|
* do not display the camlp4 welcome message
|
|
|
|
1.12 (2014-04-21)
|
|
-----------------
|
|
|
|
* supports -require for scripts
|
|
* support for React 1.0.0
|
|
* make utop.el compatible with melpa: http://melpa.milkbox.net
|
|
|
|
1.11 (2014-02-11)
|
|
-----------------
|
|
|
|
* update the async hook following the renaming of `Async_core` to
|
|
`Async_kernel`
|
|
* fix tab completion not working on some emacs
|
|
* complete `#load_rec` the same way as `#load`
|
|
|
|
1.10 (2013-12-10)
|
|
-----------------
|
|
|
|
* add the `-require` command line argument to specify packages on the
|
|
command line
|
|
|
|
1.9 (2013-11-26)
|
|
----------------
|
|
|
|
* automatically load all files in `$OCAML_TOPLEVEL_PATH/autoload` at
|
|
startup. Can be disabled with `autoload: false` in `~/.utoprc` or
|
|
`-no-autoload`.
|
|
* fix #38: handle errors from custom camlp4 ast filters
|
|
* fix #7: avoid a stack overflow in UTop_lexer
|
|
|
|
1.8 (2013-10-25)
|
|
----------------
|
|
|
|
* handle new syntax errors
|
|
* extend `#typeof` to values and modules. Thanks to Thomas Refis for
|
|
this feature
|
|
|
|
1.7 (2013-08-08)
|
|
----------------
|
|
|
|
* fix compilation with ocaml < 4.01
|
|
|
|
1.6 (2013-08-07)
|
|
----------------
|
|
|
|
* hide topfind messages by default
|
|
* more predefined prompts available via `#utop_prompt_XXX`
|
|
* fix a bug in `#require` when passing multiple packages
|
|
* display errors in ~/.lambda-term-inputrc nicely
|
|
* doc update
|
|
* fix an issue when using first-class modules
|
|
|
|
1.5 (2013-04-28)
|
|
----------------
|
|
|
|
* when evaluating a region/buffer in emacs, evaluate all phrases
|
|
instead of just the first one. Thanks to Matthias Andreas Benkard
|
|
for this feature
|
|
* change the default prompt from `#` to `$` to match the standard
|
|
toplevel
|
|
* add the option `UTop.show_box` to allow one to hide the completion
|
|
bar
|
|
* enhance the lwt/async hooks for automatically waiting on a
|
|
thread/deferred. Hooks were not triggered when the type of the
|
|
expression was a type alias
|
|
|
|
1.4 (2013-03-09)
|
|
----------------
|
|
|
|
* hide identifiers starting with `_`. This can be disabled with
|
|
`UTop.set_hide_reserved false`.
|
|
* automatically load camlp4 parsing (with original syntax) when
|
|
trying to load a syntax extension
|
|
* fix a small bug when using camlp4, causing an exception to be raised
|
|
when pressing `Enter` in the middle of a comment
|
|
|
|
1.3 (2013-01-29)
|
|
----------------
|
|
|
|
* allow to automatically wait for ascync deferred values
|
|
* added the `-short-paths` options for OCaml >= 4.01.0
|
|
(and make it the default)
|
|
|
|
1.2.1 (2012-07-31)
|
|
------------------
|
|
|
|
* fix: do not expunge `Toploop`
|
|
* install a non-expunged version of utop: `utop-full`
|
|
|
|
1.2 (2012-07-30)
|
|
----------------
|
|
|
|
* ocaml 4.00 compatibility
|
|
* prevent findlib from being initialized twice
|
|
* better highlighting of errors
|
|
* automatically insert `Lwt_main.run` for
|
|
toplevel expressions of type `'a Lwt.t`
|
|
* better camlp4 support
|
|
* parse quotations and antiquotations to
|
|
handle completion inside them
|
|
* better support revised syntax
|
|
* emacs mode improvements
|
|
* various fixes
|
|
* highlight errors
|
|
* add a menu
|
|
* add interactive list of findlib packages
|
|
* packages can be pre-loaded via the file variable
|
|
`utop-package-list`
|
|
* better tuareg integration
|
|
* typerex integration
|
|
* allow to complete using the toplevel environment
|
|
in a tuareg buffer
|
|
* allow to change the utop command
|
|
* use the same history as the terminal mode
|
|
* follow output of ocaml
|
|
|
|
1.1 (2010-08-06)
|
|
----------------
|
|
|
|
* add completion on labels
|
|
* add completion on methods
|
|
* smarter completion on record fields
|
|
* fix a bug in the lexer
|
|
* improvement for the emacs mode:
|
|
* now pressing Tab really complete input
|
|
* when sending input from a tuareg buffer, the cursor follow the
|
|
end of buffer in all utop windows
|
|
* fix usage of threads
|
|
* add help
|
|
* add manual pages
|
|
* show more information in the prompt:
|
|
* show the current value of the macro counter
|
|
* show the number of key pressed since the beginning of a macro
|
|
when recording a macro
|
|
* show intermediate key sequence
|
|
* better support for light colors terminals
|
|
* add colors for module name and directives
|
|
* add `UTop.smart_accept` to send only lines terminating with a `;;` token
|
|
* search for compiler libraries at configure time
|
|
* add a script to install compiler libraries
|
|
* fix compatibility with ocaml 3.13
|