Repository navigation
Releases: form1c/prompt-atelier
Release list
Prompt Atelier 1.1.0
Three requests from users, an English example package, and the corrections found while working on them.
Added
- Choose what an import brings in. Every prompt and keyword of a file that
does not exist in the workspace yet can be created or skipped, and one choice
sets all new entries at once. Creating is the default, so a file taken as it
is arrives as before. When a skipped keyword is named by a prompt that is
created, the preview says so, because that prompt arrives without it. - Copy the text of a keyword from the list. Every keyword in the list has a
copy button, also for those who may only read keywords. Until now the text
was reachable only through the edit form, which is closed to them. If the
browser refuses the clipboard, the text is offered for selecting by hand, as
on the prompt screen. - An English example package. The sample content now comes in English and
in German.scripts/seed_demo.shtakes the package that matcheslocalein
config.yml, English when none is set, and--language deor
--language enchooses directly. The German file is now called
examples/examples.de.json.
Changed
- The copy buttons stay in sight beside a long preview. The bar with both
copy buttons stays at the bottom of the window on every screen width while
the preview is visible. Before, it did so only on narrow screens. - Notices appear at the top right, below the header. At the bottom they
covered the copy button that had just been pressed. - The title of a copy ends in the word for copy in the language of the
interface, for example(copy)or(copie). Before, it was always the
German(Kopie). This applies to duplicating a prompt and to importing an
entry as a copy. - An import request that sends a decision the preview did not offer for a new
entry, such as overwriting it, is refused. A request without a decision for a
new entry creates it, as before. - The browser tests leave WebKit out unless
scripts/run_tests.shis called
with--webkit. Chromium, Firefox and the narrow screen run as before.
Fixed
- German messages are written with umlauts. Eleven messages from the
server and from form fields readspaeter,gueltigand the like. - The German refusal of a newer export file named only format version 1.
It names versions 1 and 2, as the other languages did. - The update instructions left files behind. They named
app/,scripts/,
doc/,README.mdand aLICENSEfile that does not exist, while a release
carries more, among themVERSION. They now say to replace everything except
config/,data/andtools/. The installation guide had also left out
tools/, wherenssm.exelives on Windows.
Upgrading from 1.0.x
Follow chapter 4.1 of doc/operations.md: create a backup, stop the service,
replace everything except config/, data/ and tools/ with the new release,
run scripts/migrate.sh and start the service again. There is no schema change
in this release.
Coming from 1.0.0, also read the upgrade note of 1.0.1 about the service.
Getting started
Download promptatelier-1.1.0-universal.tar.gz below, or the .zip on
Windows. Unpack it and run scripts/install.sh, on Windows
scripts\install.bat. The installation guide is in doc/installation.md.
Requires Ruby 3.3 or newer and Bundler. On Debian and Ubuntu, ruby-full
does not bring Bundler:
sudo apt install -y ruby-full ruby-dev build-essential curl
sudo gem install bundler -v 4.0.11No database server and no container runtime.
Prompt Atelier 1.0.1
Service operation on Windows and Linux, found and fixed after 1.0.0 was
published. Everything here was measured on the target systems, not inferred.
Fixed
- The Windows service could not be registered at all. A Ruby script cannot
be a Windows service on its own, and the wrapper was given a file the system
cannot execute. It is now started through an entry point of its own, which
resolves the server from the bundle rather than from thePATH. Whether Ruby
is installed for one user or for the whole machine no longer makes a
difference. - The Linux system service ran as
root. It wrote its process id file into
a directory belonging to the installing account, and did not remove that file
when killed. The owner could then no longer replace it, so every later start
bound the port and died immediately afterwards, leaving neither the service
nor the portable mode usable. The system service now runs as the account that
owns the installation. - The last step of the installation left the application running on Windows.
It started the server through a wrapper and stopped only the wrapper, so the
port stayed occupied. - The unit file was invalid for installation paths containing a space.
systemd splitsEnvironment=on whitespace, so such a path arrived cut in
half. - A version stated in more than one place could drift. The version is now
stated once and checked against every repetition of it. - The commit line of the delivered
VERSIONfile always readunknown. It
was looked up one directory above the repository. - A non-interactive installation refused a question whose default it had just
displayed. It now uses that default. A question without a default still
refuses.
Changed
- Bundler is named as a requirement, together with the version the lock file
asks for. On Debian and Ubuntu it is not part ofruby-full. - Removing a user service reports that lingering stays switched on, and names
the command that undoes it. It is a machine-wide setting that may have been
set for something else.
Upgrading from 1.0.0
Replace app/, scripts/, doc/, README.md and LICENSE.md with the new
release, then run scripts/migrate.sh. config/ and data/ are untouched.
There is no schema change in this release.
If you set up the service under 1.0.0 and it never worked, remove it and set it
up again:
scripts/service_uninstall.sh # Linux, as the installing user
sudo scripts/service_uninstall.sh --systemscripts\service_uninstall.bat # Windows, as an administrator
On Linux, check afterwards that no process id file is left behind that belongs
to root:
ls -l data/promptatelier.pidIf it is there and belongs to root, delete it. That file is what kept the
application from starting.
Getting started
Download promptatelier-1.0.1-universal.tar.gz below, or the .zip on
Windows. Unpack it and run scripts/install.sh, on Windows
scripts\install.bat. The installation guide is in doc/installation.md.
Requires Ruby 3.3 or newer and Bundler. On Debian and Ubuntu, ruby-full
does not bring Bundler:
sudo apt install -y ruby-full ruby-dev build-essential curl
sudo gem install bundler -v 4.0.11No database server and no container runtime.
Prompt Atelier 1.0.0
First public release.
What it does
- Library with full-text search across title, description, body and tags. Spelling variants are resolved, so
Größeis found by typinggroesseorgrosse. Filtering by tag, restriction to favourites, sorting by relevance, date of change or title. - Variables: placeholders in double curly braces become form fields with a label, a default value, a required flag and a kind, among them single line, multiline, selection list and number. Unicode letters are permitted.
- Live preview during input. Browser and server produce identical output, verified against 34 shared test vectors.
- Keywords: reusable blocks of text placed before or after a prompt, switchable individually while using a prompt.
- Workspaces with the roles
viewer,editor,adminandowner, plus instance administration. Prompt visibility is set independently asprivate,workspaceorinstance. - Change history: trash with 30 days of retention, undo of the last change, revisions per prompt with a configurable count and minimum retention.
- Import and export as JSON and Markdown, lossless in both directions, with a preview before anything is written. Every collision is decided in the preview and named in the report afterwards. A prompt whose title already exists can be skipped, copied or overwritten. A keyword whose name already exists can be skipped or overwritten, with the existing and the incoming definition shown side by side. Command line tools for moving a whole instance.
- Five interface languages: German, English, French, Italian, Spanish.
- Operation on Linux and Windows, in the foreground or as a system service. Installation, migration, backup, restore and measurement are covered by scripts.
- Security: Argon2id password storage, sessions carried by a random token stored as a hash, CSRF protection on writing requests, rate limits on sign-in attempts and on import and export, and an audit log that cannot be altered through the interface.
Getting started
Download promptatelier-1.0.0-universal.tar.gz below, or the .zip on
Windows. Unpack it and run scripts/install.sh, on Windows
scripts\install.bat. The installation guide is in doc/installation.md.
Requires Ruby 3.3 or newer. No database server and no container runtime.