Skip to main content
Changelog

ZeyOS Release Notes

Stay up to date with the latest features and improvements

Latest Releases
v1.04-30

ZeyOS 1.04-30 released

  • Allow user to issue API tokens via my credentials
  • Add API tokens for unrestricted API access
  • Add API permission for unrestricted API access
  • Add predefined "API Access" group
  • Add cleanup trigger for obsolete changes
  • Support generic message notice on login
  • Auto-generate iXML DTD in public docs
v1.04-28
PERSISTENCE LAYERZYMBA

ZeyOS 1.04-28 released

iXML

PERSISTENCE LAYER
  • Introduce DB table "changes"
  • Record all changes (incl. extdata+tags) of main entities
  • Bind extdata and tags to entity object state in persistence layer
  • Merge session-level objects with base objects
  • Also enforce consistency for existing extdata and tags on modification/deletion
  • Add variables `OLD_EXDATA` and `OLD_TAGS` to on deletion service trigger
  • Add variables `NEW_EXTDATA` and `NEW_TAGS` to on creation service trigger
  • Add variables `MOD`, `MOD_EXTDATA` and `MOD_TAGS_ADD` to on creation service trigger for upsert
  • Add variables `OLD_EXTDATA`, `OLD_TAGS`, `NEW_EXTDATA`, `NEW_TAGS`, `MOD_EXTDATA`, `MOD_TAGS_ADD`, `MOD_TAGS_REMOVE` to on modification service trigger
  • Use random transaction/commit id for bulk changes via SDK
  • Add `snapshots_create` utility command
  • Support generic message notice on login
  • Remove obsolete DB tables "documentversions" and "enhancementversions"
  • Remove versions (for now) from enhancements and documents
  • Also record monitor fields on creation
  • Move persistent login token from users table to tokens table
  • Reissue persistent login token on each persistent login
  • No longer double count binfiles with same ID in one field in statistics
ZYMBA
  • Rename `@ZeyOS.Object.load()` to `reload()`
  • Rename `@ZeyOS.ObjectUser.hasAccess()` to `hasAccessTo()`
  • Add `@ZeyOS.Object.hasAccess()`
  • Add `@ZeyOS.Object.listExtData()` and `setExtData()`
  • Add `@ZeyOS.Object.listTags()`, `addTags()`, `removeTags()` and `resetTags()`
  • Add `@ZeyOS.ObjectTransaction.fromEinvoice()` and `toEinvoice()`
  • Remove `@ZeyOS.getSessionVariable()`
  • Remove prefix parameter from `@ZeyOS.ExtData.setFields()` and `@ZeyOS.Object.setFields()`
  • Add `@Mail.Message.countHeaders()`, `listHeaderNames()` and `removeHeaders()`
  • Add `@HTTP.countRequestHeaders()`, `countResponseHeaders()`, `listRequestHeaderNames()`, `listResponseHeaderNames()` and `removeHeaders()`
  • Remove `@Base.hasSlot()` and `setSlots()`
  • Auto-generate iXML DTD in public docs
  • Add parameters "var_extdata" and "var_tags" to `<db:get>`
v1.04-27

ZeyOS 1.04-27 released

  • Use devices as base entity in serials/charges tab of item details
  • Add `<custombox>` to iXML for forms based on custom fields
  • Support all generic types in ixml `<textbox>`
  • Support negative quantites in line items
  • Support negative quantites in components
  • Add "extdatamonitor" config setting
  • Add `GET /sdk/v1/apps` endpoint to SDK API
  • Allow login token in `/oauth2/v1/userinfo`
  • Falsify `NaN` in Zymba
  • Clamp to min/maxint on cast from float to int in Zymba
v1.04-25

ZeyOS 1.04-25 released

  • Auto-include namespaces in Zymba
  • Use allowance for coupons in X-Rechnung
  • No longer cleanup entity-specific records as those should be retained
  • Allow editing users even if invalidly signed; only block login and warn in details
  • Add binfile integrity check that implicitly tests all remote storages
  • Add "trust" environment setting to ignore user signatures
  • Replace "nocron" environment setting with "mirror"
  • Add "preservecase" option to `<xml:parse>` in iXML
  • Add "preservecase" option to XML parsing in Zymba
  • Add `@String.escapeC()`
  • Add `@Var.toSource()`
v1.04-24

ZeyOS 1.04-24 released

  • Have backup use remote storage box if available (with local fallback)
  • Only clean-up binfiles via trigger file (`/data/.trigger-cleanup-binfiles`)
  • Add "bin_nostore" environment setting to temporarily disable binfile replication
  • Always send `Last-Modified` header in REST API
  • Support `If-Unmodified-Since` (PATCH/DELETE) and `If-Modified-Since` (HEAD/GET) in REST API
  • Re-interpret `@IO.isRegularFile()`, add `@IO.isFile()` and `@IO.isRegularDirectory()`
  • Refactor extdata/tags DB functions for correctness, simplification and lock-friendliness
Page 1 of 34