The general idea of the Latest user command is to list the latest changes the user made to the APL code.
Imagine you left a project half-baked because of a change of priorities or whatever. When you come back after a day or a week or a month you might or might not be able to continue where you left depending on your memory. ]Latest to the rescue.
By default all changes made on the last day the code was changed are listed.
There is a Dyalog user command that does something similar. However, it takes timestamps into account, meaning that it is helpless when it comes to scripts and dfns because neither have a timestamp.
]latestcan act on a LINK, that is anything returned by]Link.Status; specify the LINKed namespace for this]latestcan act on acre projects.]latestcan act on the workspace, meaning that you need to specify something like#or⎕SEor#.Fooas argument- If you use the project manager acre and Linked folders in parallel then the flag
-acreallows you to tell]Latestthat it should focus on acre project(s) ]latestcan act on a specific (un-linked) folder likeC:\MyProjects\ThisProject\APLSource
If no argument is specified and there are no LINKed namespaces and the -acre was not specified and there are no acre project then it falls back to the current directory but will ask the user for confirmation.
By default the user command reports all objects or files changed lately (read: last day something was changed).
Note that by providing a path as an argument you can extend the meaning of ]Latest beyond APL source files, in particular together with the -allFiles flag.
]Latest
#.ADOC ≢ ←→ 5
#.Latest.Latest.ADOC_Doc 2022-05-22 13:57:12
#.Latest.Latest.AddSlash 2022-05-22 13:57:12
#.Latest.Latest.EndIf 2022-05-22 13:57:12
#.Latest.Latest.History 2022-05-22 13:57:12
#.Latest.Latest.Run 2022-05-22 13:57:12
]latest -v
7.0.0+127 from 2023-12-28
Latest can be installed as a Tatin package:
]Tatin.InstallPackages [tatin]latest [MyUCMDs]
This will make the user commands of Latest available, but it will not establish the API. However, executing any of its user commands will force Latest to load the API into ⎕SE. For that, executing ]Latest.Version will do.
If you want the API to be available right from the start then please consult the article Dyalog User Commands.