Skip to content

Commit 15e051c

Browse files
committed
Release 0.1.0
Stamp the version (`Version' header and `port-version' constant) at 0.1.0, rename the CHANGELOG snapshot section to `0.1.0 (2026-05-11)', and seed a new `0.2.0-snapshot' header on top. Backfill three user-visible items that landed late in the cycle and never made it into the changelog text: the REPL now wires up eldoc and completion-at-point at the prompt, killing the REPL buffer tears the session down, and the package no longer hard-depends on `clojure-mode' (works equally well with `clojure-ts-mode'). Also gitignore .port-history so a real REPL session in this checkout doesn't dirty the working tree.
1 parent 758217f commit 15e051c

3 files changed

Lines changed: 32 additions & 25 deletions

File tree

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,4 @@ TAGS
1212
dist
1313
lisp/port-autoloads.el
1414
lisp/port-pkg.el
15+
.port-history

CHANGELOG.md

Lines changed: 29 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,38 @@
11
# Changelog
22

3-
## 0.1.0-snapshot (unreleased)
3+
## 0.2.0-snapshot (unreleased)
44

5-
Initial prototype.
5+
## 0.1.0 (2026-05-11)
66

7-
- TCP prepl client with a small EDN-ish reader (now handles maps,
7+
Initial release.
8+
9+
- TCP prepl client with a small EDN-ish reader (handles maps,
810
vectors, and lists with simple leaf values).
911
- Two-socket session model: a user socket drives the REPL with raw
1012
streaming output, and a separate tool socket carries helper-command
1113
requests with reliable request/response correlation via a small
1214
`port.tooling/-eval` bootstrap.
15+
- `M-x port` jacks in: detects `deps.edn` / `project.clj` / `bb.edn`,
16+
picks a free port, spawns a JVM running a prepl server, polls until
17+
reachable, and connects. If a session is already active it just
18+
pops to the REPL, SLIME-style.
19+
- Single-buffer REPL that renders `:ret`, `:out`, `:err`, and `:tap`
20+
messages. Eldoc, completion-at-point, and persistent input history
21+
are wired into the prompt; killing the REPL buffer disconnects the
22+
session.
23+
- Persistent REPL input history. Each REPL buffer reads/writes
24+
`<project-root>/.port-history` (configurable via
25+
`port-repl-history-file`); `M-p` / `M-n` walk the history across
26+
sessions. Capacity is `port-repl-history-size` (default 1000)
27+
and adjacent duplicates are dropped.
28+
- Interactive eval commands: last-sexp, defun-at-point, region, buffer.
29+
Values returned through the tool-socket path are pretty-printed
30+
via `clojure.pprint`, capped by `port-print-length` (default 50)
31+
and `port-print-level` (default 5). Multi-line results are
32+
truncated to the first line in the minibuffer; the full text
33+
appears in the REPL when `port-eval-display' is `both'.
34+
- Helper commands powered by Clojure evaluation: doc, source, apropos,
35+
macroexpand-1, macroexpand, load-file, set-ns.
1336
- Eldoc support: arglists for the function whose call surrounds point,
1437
resolved on the tool socket and delivered asynchronously via
1538
`eldoc-documentation-functions`.
@@ -20,28 +43,11 @@ Initial prototype.
2043
the source lives inside a jar, the file's contents are slurped
2144
over the tool socket and shown in a read-only `*port-jar: ...*`
2245
buffer.
23-
- `M-x port` jacks in: detects `deps.edn` / `project.clj`, picks a free
24-
port, spawns a JVM running a prepl server, polls until reachable, and
25-
connects. If a session is already active it just pops to the REPL,
26-
SLIME-style.
27-
- Single-buffer REPL that renders `:ret`, `:out`, `:err`, and `:tap`
28-
messages.
29-
- Interactive eval commands: last-sexp, defun-at-point, region, buffer.
30-
Values returned through the tool-socket path are pretty-printed
31-
via `clojure.pprint`, capped by `port-print-length` (default 50)
32-
and `port-print-level` (default 5). Multi-line results are
33-
truncated to the first line in the minibuffer; the full text
34-
appears in the REPL when `port-eval-display' is `both'.
35-
- Helper commands powered by Clojure evaluation: doc, source, apropos,
36-
macroexpand-1, macroexpand, load-file, set-ns.
37-
- `port-mode` minor mode for Clojure source buffers.
38-
- Persistent REPL input history. Each REPL buffer reads/writes
39-
`<project-root>/.port-history` (configurable via
40-
`port-repl-history-file`); `M-p` / `M-n` walk the history across
41-
sessions. Capacity is `port-repl-history-size` (default 1000)
42-
and adjacent duplicates are dropped.
4346
- Structured stacktrace buffer (`*port-stacktrace*`): on `:exception
4447
true` (and on `:tag :err` from the tool socket) Port renders a
4548
concise one-line summary inline and pops a navigable buffer with
4649
the cause chain, ex-data, and a filtered trace. `RET` on a frame
4750
jumps to the source when the file resolves locally.
51+
- `port-mode` minor mode for Clojure source buffers. No hard
52+
dependency on `clojure-mode`; hook it onto whichever Clojure mode
53+
you use (`clojure-mode`, `clojure-ts-mode`, or both).

lisp/port.el

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
;; Maintainer: Bozhidar Batsov <bozhidar@batsov.dev>
77
;; Homepage: https://github.com/clojure-emacs/port
88
;; Keywords: languages, clojure, port, prepl
9-
;; Version: 0.1.0-snapshot
9+
;; Version: 0.1.0
1010
;; Package-Requires: ((emacs "28.1"))
1111

1212
;; This program is free software: you can redistribute it and/or modify
@@ -56,7 +56,7 @@
5656
:group 'applications
5757
:link '(url-link :tag "GitHub" "https://github.com/bbatsov/port"))
5858

59-
(defconst port-version "0.1.0-snapshot"
59+
(defconst port-version "0.1.0"
6060
"The current version of Port.")
6161

6262
(defcustom port-default-host "localhost"

0 commit comments

Comments
 (0)