Pyrite ITMenu Download the alpha
Documentation index

Documentation · project

Release notes

Changes in each version for people who manage the server. The engine uses PocketBase 0.40.6.

Version 0.7.7 Alpha

The console closes by itself, Pyrite knows the Windows firewall, a port that cannot be reached is noticed when you load an app, and the apps waiting for approval warn the Owners.

  • The console closes by itself: after 30 minutes without use it asks for the password again (and for the code, with two-factor authentication). The time is changed in Network rules, from 5 minutes to 12 hours. In the Profile everybody sees and closes their own console sessions. Read more.
  • The Windows firewall: installing the service creates the rule for the program; the command pyrite.exe firewall status | open | close; a box “Windows firewall” in Network rules. Read more.
  • Load app and the port: if the port of the package is closed by the firewall or already used, Load app says so and offers another one with one click. Read more.
  • Apps waiting for approval: an email to the Owners, “Remind the Owners”, and “Reject” with the reason. Read more.
  • Incomplete copy? When you move Pyrite, it says by itself if the copy is incomplete. Read more.

Coming from 0.7.6? Read Updating from 0.7.6: it is short.

Version 0.7.6 Alpha, “Permissions”

One engine can serve several customers, the console has more levels, the sign-in can ask for a code from the phone, and the scripts of the apps live inside a narrower fence.

  • Levels and roles: Owner, People Admin, App Admin and User. For whoever comes from 0.7.5 with a single unit almost nothing changes. Read more.
  • More customers on one engine: units. Each unit has its own people, groups and apps, and nobody sees what belongs to another unit. Read more.
  • Two-factor authentication for the console and the portal, with reserve codes. Read more.
  • What an app can do: an app can no longer call the engine or another app, many more things are closed to the scripts, and the limit of this protection is stated plainly. Read more.
  • The apps no longer receive from visitors the addresses written in the headers CF-Connecting-IP, X-Real-IP and True-Client-IP; the Certificates page warns when an app is open on the internet with only the internal certificate; before sign-in the portal shows only the open-access applications.
  • Among the declared systems there is now also Windows Server (2019 and 2022).

Coming from 0.7.5? Read Updating from 0.7.5: there are checks to make first on the scripts of the apps. Coming from 0.7.4? The same chapter covers it. What this version does not do is in Known limits.

Version 0.7.5 Alpha

The apps can be reached in more ways (a name for each app, an entrance from the internet), the sign-in is better protected, and the engine keeps a history that nobody can erase from the console.

  • Network rules: a new page, for Owners, with where the apps listen, a name for each app instead of name + port, the entrance from the internet (tunnel or open port) and which apps are seen from the internet: an Admin asks, an Owner approves. Read more.
  • First start with a code: the page that creates the first Owner opens from any computer of the network, but asks for a code that Pyrite prints on the server. Read more.
  • One sign-in between different names, a limit to wrong sign-in attempts that doesn't lock out the people in the local network, and the console only from the addresses you choose. Read more.
  • HTTPS with Let's Encrypt and Cloudflare, and more than one certificate. Read more.
  • Engine history: who did what, in a file that nobody can erase from the console. Read more.
  • Pyrite as a Windows service: it starts with the server, even with nobody signed in. Read more.
  • The new command pyrite.exe network setup asks the two network questions from a terminal (see Network rules).
  • In the top menu of the console some items have a short name (see The console and the levels).

Version 0.7.4 Alpha: legacy .xls files, people imports, sidebar, slow routes and unattended startup

  • Legacy Excel files. The Import tab, “Import preview” and pyrite.exe import now read Excel 97–2003 .xls files. The importer rejects password-protected files, Excel 95 and earlier formats, damaged files and Word or PowerPoint documents renamed to .xls. Open a supported spreadsheet in Excel and save it as .xlsx.
  • Whole-file import. Choose “Whole file” on the Import tab to see suggested sheet-to-collection matches and their similarity scores, column-to-field mappings, an import order based on relations, and a preview for each collection. The importer chooses a key only when the match is reliable. For related collections, such as order lines, it suggests a key for you to confirm. It validates first, then writes everything in one transaction, limited to 50,000 rows and 60 seconds. You can stop the import or undo the entire operation. Undo checks for relations and later edits, and offers an “Undo anyway” option. JSON, JSON Lines and ndjson are supported. An app package can include recipes in release/import and set import.consoleCollections in app.json. An empty numeric cell now preserves the existing number. See the administrator guide.
  • Import people, groups and access from Excel. On the People page, select “Import from Excel”. The four-sheet template supports a row-by-row error preview. The operation only adds entries and commits them all together. Temporary passwords are available in a file you can download once. See the administrator guide.
  • Sidebar. Five apps appear by default. Each person can choose between 3 and 15, open “More apps” and set their own order, including in the “Top menu” layout. Engine entries are grouped under Services and System.
  • Slow routes. If an app route takes longer than 4 minutes and 50 seconds to respond, the engine returns HTTP 504. If the app closes the connection, it returns 502. The engine never retries a request. It reuses connections to apps to prevent incorrect “unavailable” responses under load.
  • Update an app from ZIP. Updates also replace delivery notes and compare versions using semantic versioning. “Go back to the previous version” explains what will be set aside and warns that sequence numbers can be issued again after a rollback.
  • Upload app. The security and standards scores are labelled “indicative only”. They do not constitute a security review.
  • Unattended startup. Use --unattended with pyrite.exe --autostart --unattended to suppress message boxes and the browser. The engine records the reason for failure in logs\engine.log and exits with code 1 on error or 3 if another Pyrite instance is running. Windows Task Scheduler can then restart it. This is a new procedure: try it on a test PC before relying on it for an engine in use (see the administrator guide).
  • pyrite.exe -v and --version print both the program version and the file version.
  • The 0.7.4 agent standard covers .xls, slow routes, delivery notes and semantic version comparisons.

Earlier releases One line per release, newest first

  • 0.7.3: engine tools for apps, HTTPS, all-or-nothing updates for the engine and apps, and copying backups to a network folder.
  • 0.7.2: the three-cube logo and a new light theme with a lighter look.
  • 0.7.1: the engine console, with three access levels (Owner, Admin, User) and approval of apps uploaded by Admins.
  • 0.7.0: “Upload app” to install an app from a ZIP file, the first-start page and the agent standard.
  • 0.7: English and Italian, password rules and a simpler Data tab.
  • 0.6: Excel and CSV imports, the engine tools page and a customizable portal home page.
  • 0.5: access to apps decided centrally, with roles kept inside each app, and engine events in one place.
  • 0.4: all management in a single panel, with the Analytics section.
  • 0.3: a central directory of people and groups, and single sign-on for the apps.
  • 0.2: management of all apps in one place, with nightly backups and the logs of every app in a single list.
  • 0.1: the first engine, a single program that starts the apps, checks their health and restarts them if they stop.