Repository navigation
Releases: JustJournal/justjournal-client-unix
Release list
2.2.0
JustJournal 2.2.0 adds CMake builds, safer CLI password input, and configurable entry dates, visibility, and body formats.
Changes
- Switch to CMake 3.16 or newer while retaining BSD make and GNU make compatibility wrappers. Build the CLI by default, with optional GTK and integration-test targets.
- Add a hidden password prompt on the controlling terminal and
--password-fdfor automation. Keep-pcompatibility; passwords supplied through arguments can still appear in process listings and shell history. - Restore terminal settings after interrupted password prompts, discard interrupted input, and wipe password buffers on failure.
- Erase login credential encoding buffers and escape terminal control characters in recent-entry output.
- Add
--datefor ISO 8601 timestamps with an explicit timezone,--security public|friends|private, and--format text|markdown|html. - Keep public visibility, text formatting, and server-current-time defaults. Send HTML and Markdown bodies unchanged; preserve legacy title/music extraction in text mode.
- Update the CLI manual, README, and regression coverage. Both clients report version 2.2.0.
Build and compatibility
Dependencies remain libcurl, Jansson, and pkg-config, plus GTK 3 for the graphical client. See the build instructions.
The clients target MidnightBSD, FreeBSD, and Linux. This release was built and tested locally on MidnightBSD; native FreeBSD and Linux execution remains unverified locally.
Validation
The CLI and GTK CMake build, credential-buffer regression test, and all 29 local HTTPS integration tests passed. The integration suite also passed with AddressSanitizer and UndefinedBehaviorSanitizer; cppcheck and diff checks passed. New posting-option tests use a local HTTPS test server rather than creating live posts.
Full changelog: 2.1.0...2.2.0
2.1.0
Both the command-line and GTK clients are now version 2.1.0 and use JustJournal's JSON REST API over HTTPS.
Changes
- Replace XML-RPC with shared libcurl/Jansson support for session login, entry creation, and the CLI's recent-entry listing.
- Send explicit music, trackback, and tag defaults required by the server, including the fix for failed inserts when music was omitted.
- Add optional Title, Music, and Tags fields to the GTK editor. Tags accept spaces or commas, normalize to lowercase, and ignore empty values.
- Keep the GTK username and password filled in between submissions. Successful posts clear entry-specific fields; failed requests preserve the form.
- Preserve legacy title/music tags and the existing public-posting defaults.
- Check HTTP status and JSON responses, verify TLS certificates, keep session cookies in memory, and avoid automatic post retries.
- Update BSD/GNU make builds, CI dependency lists, documentation, and HTTPS integration coverage.
Build dependencies and compatibility
XML-RPC libraries are no longer required. Install libcurl, Jansson, and pkg-config; the graphical client also requires GTK 3. See the build instructions.
The clients target MidnightBSD, FreeBSD, and Linux. Servers must provide /api/login and /api/entry; XML-RPC-only servers require an older client.
Validation and known limitation
Both clients build on MidnightBSD with BSD make and GNU make. All 14 local HTTPS integration tests and cppcheck pass. REST posting was also verified interactively against JustJournal.com. Native Linux and FreeBSD execution has not been verified locally.
The deployed paged-entry endpoint used by CLI -r returned HTTP 500 during testing; server logs identify a separate HATEOAS JSON serialization error. The client reports that failure.
Full changelog: 2.0.3...2.1.0
2.0.3
2.0.2
jjclient and gtkjj:
Fixes breaking change with justjournal.com which now redirects to https. Prior clients will fail with a 301 http status code.
jjclient:
Support longer username and password options as well as a fixed-length subject (up to 255 characters)
2.0.0 Gtk 3 release.
The new version of the just journal client for unix supports Gtk3.
You can still build the command line version without a gui.