ZeyOS Release Notes
ZeyOS 1.04-13 released
- Add `sellertaxid` field to transactions
- Add `fork` field to records and events
- Remove archival dates feature
- Scale floats before rounding in tax and totals calculation
- Replace add payment dialog in transaction details with direct link to payment details
- Use recent as fallback for global search (on empty input)
- Only search stocktransactions for charges/serials up to 500K rows
- Limit payments and dunning API endpoints to singular modules
- Limit send mail to 1000 per mailserver on each send mail call
- Log notice on excessive number (> 100) of message in mail send queue for each mailserver
- Add PKCE code challenge to OAuth2 authorization flow per RFC 7636
- Rename `@HTTP.getAuthenticated*` to `@HTTP.getAuthentication*`
- Add `@Number.normalize()` and `@Number.isSafeInteger()`
- Replace `@Math.fact()` with `@Math.gamma() function`
- Remove `@Math.root()`
ZeyOS 1.04-12 released
- Remove "new" dialogs from overview in favor of link to regular details view
- Record history and use for details close button to return to previous view
- Hide empty parameters in address bar
- Opportunistically reload session name and email on user details access
- Add initial group input in new user details
- Use EA instead of C62 as default unit code for one piece
- Add unit popup to unit fields analog to taxonomy
- Move control center user settings dialogs to one dedicated page with sections
- Move control center admin settings dialogs to one dedicated (admin) page with sections
- Integrate app settings into user/admin settings pages
- Replace control center profile dialog with link to contact details
- Replace control center system account dialog with link to account details
- Add 4-digit service PIN to credentials page (admin only)
- Comprehensively manage units of measure in dedicated view
- Add foreign tax rates dialog to admin settings page
ZeyOS 1.04-10 released
iXML
- Make customfields a main entity with activity/extdata/tags
- Auto-create indexes on custom fields based on used types
- Add customfields import
- Optionally add group and administrators permission of fork creation and dynamically update session
- Include unassigned app and fork permissions for internal users
- Add fork variants to view select box
- Add `GET /sdk/v1/views` endpoint to SDK API
- Add weblets variables to record details
- Allow JSON top-level array in object data
- Enhance display of entity fields in overviews
- Add "indexed" field to extdata overview
- Overhaul language files DE + ES
- Properly propagate global APPSETTINGS through engine switch
- Support `<extdata:data/null>`in `<db:set>` as atomic operation
- Support `<tags:name>` in `<db:set>` as atomic operation
- Add `var_extdata` and `var_tags` to `<db:set>`
ZeyOS 1.04-04 released
iXML
- Upgrade to PostgreSQL 17
- Allow production item to be editable and nullable while draft
- Rename table `field` and `filters` to `userfields` and `userfilters`
- Make events always entity-specific (remove standalone mode)
- No longer include foreign tags in tag selector
- Restrict API access to essential fields for users, groups and forks
- Limit message fetch to 1000 per mailbox checkmail call
- Add new `customsfields` table (DB only)
- Add `fork` field to all main entities
- Add fork management to admin module
- Add fork admin section to control center
- Build fork infrastructure for page routing
- Make session view management fork aware
- Carry and preserver fork parameter in navigation
- Apply fork defaults in element details (incl. dialogs)
- Outsource custom objects into own module to make it forkable
- Add `<pdf:include>` command
- Add `compress` attribute to `<pdf:document>`
- Lazy initialize PDF section in iXML
- Add `<tags:exists>` analog to `<tags:list>`
- Allow `<tags:name>` within `<db:intags>` as alternative to `var`
- Add return count to `<tags:*>` and `<extdata:*>` commands
- Remove deprecated `<mail:receive>` command
- Add `@Tags.countTags()` and `@ExtData.countFields()`
- Add `@Tags.hasAllTags()` and `@Tags.hasAnyTags()`
- Rename `@Array.hasKeys()` to `hasAllKeys` and `@Array.hasValues` to `hasAllValues`
- Add `@Array.hasAnyKeys()` and `@Array.hasAnyValues()`
- Add `@String.splice()` and `@String.spliceOnBytes()`
ZeyOS 1.04-03 released
- Upgrade to PostgreSQL 17
- Allow production item to be editable and nullable while draft
- Mark object as seen (add to recent) on preview
- Ask for password to show existing OTP secret in auth 2FA section
- Use single input box for OTP in 2FA dialog (to better allow copy-paste)
- Limit message fetch to 1000 per mailbox checkmail call
- Remove deprecated `<mail:receive>` command from iXML
ZeyOS 1.04-01 released
- Add OTP secret to links and integrate 2FA credentials into link details
- Add 2FA field to links overview beased on set otpsecret
- Circumvent browser auto complete for non-login passwords
- Allow one extra time step delay on TOTP code verification
- Encrypt services access key
- Add search to details user permissions popup
- Include meta database in DB reference and Simple-DB
- Add modules to meta database schema
- Add LICENSEKEY as global iXML variable and as `@ZeyOS.LICENSEKEY` in Zymba
ZeyOS 1.03-99 released
- Add top-level filter to items overviews
- Add active price lists filter to item details prices tab
- Allow zero amount payments
- Allow copying encrypted password from links overview
- Reset calculation method on transaction duplicate
- Support arbitrary decimals in E-Invoice quantities
- No longer rely on browser-based date-time parsing
ZeyOS 1.03-97 released
- Several refinements to E-Invoicing
- Expose documentation via `__doc`
- Add BinFile retain environment setting
- Add PDFA parameter to `<PDF:DOCUMENT>` in iXML
- Add `<PDF:FILE>` to iXML
- Add `POST /sdk/v1/sync?activity` SDK API endpoint
- Add multiple new Zymba methods
ZeyOS 1.03-95 released
- Upgrade to PHP 8.4
- Add Einvoice Import to Billing and Procurement
- Use two layered approach for Einvoices with extra fields decoupled from extdata
- Also apply EU intra community VAT exemption to procurement
- Refine taxation logic based on configured system country
ZeyOS 1.03-92 released
- Add EU VAT ID verification to account details
- Restrict contact messages to inbox and only consider the last 100 days
- Add amount input to line item edit dialog
- Canonicalize commercial rounding
- Add `@ZeyOS.ObjectTransaction.fromXML()`
- Add `@ZeyOS.createZUGFERD($pdf, $xml)`
- Add `@ZeyOS.extractZUGFERD($pdf)`
ZeyOS 1.03-89 released
- Support Einvoice in CII and UBL formats
- Add simple Einvoice download to billing/procurement
- Allow extdata fields configuration for Einvoice
- Add seller address to transactions
- Also retrieve taxid from account in procurement
- Add billing/procurement seller types to account addresses
- Also apply foreign tax rates in procurement
- Add classcode field to items
- Built hierarchical product taxonomy database
- Add product taxonomy explorer
- Add taxrate field to suppliers
- Add system account section to control center
- Option to load subscription account data from system account
- Add class taxonomy to system locale settings
- Add tariff taxonomy to system locale settings
- Apply recursion control for services action trigger to entire object
- Add impending binfile ID exhaustion warning
- Option to update contact on account name change
- Derive user's contact company from system account on contact creation
- Add "No Ledger" filter to payments overview
- Incorporate `@IO.Stream` methods `copyTailTo()` into `copyTo()`, `echoTail()` into `echo()`, `readTail()` into `read()`
- Add length parameter to `@IO.read/write()`, `@IO.Streams.read/write()`, `@FTP.Client.read/write()` and `@ZIP.Archive.read()`
- Add position parameter to `@FTP.Client.read/write/upload()`
- Add `@String.unescapeC()`
- Add `@Array.getUniformType()`
- Remove `@IO.Stream.copyAllTo()`
- Support callback in `@ZeyOS.Object.delete()`
- Add `@ZeyOS.ObjectTransaction.calculateTaxes()`
- Add `@ZeyOS.ObjectTransaction.calculateTotals()`
- Add `@ZeyOS.ObjectTransaction.getBalance()`
- Add `@ZeyOS.ObjectTransaction.toXML()`
ZeyOS 1.03-84 released
- Record all logins in dedicated table
- Add login activity popup to user details
- Remove obsolete log_adminlogin config option
- No longer reset expired sticky records
ZeyOS 1.03-83 released
- Introduce optimistic locking in object persistence layer
- Enhance input elements
- Enhance password/accesskey input
- Handle reset password via user details
- Add download option to documents overview (mutliple docs as ZIP)
ZeyOS 1.03-82 released
- Add tariffcode field to items
- Add expdate field to links
- Set timezone on DB connection startup (tracked by pgbouncer)
ZeyOS 1.03-79 released
- Gross prices setting now implies default calculation method
- Split gross prices into specific settings for billing, procurement and production
- Add new items calculation method EXTERNAL
- Add new pseudo types "pricebilling", "priceprocurement", "priceproduction"
- Rename exclude tax settings
- Add maxoccurences field to appointments
- Add designated date field to comments
- Add lastmodified field to all remaining entities
- Remove calculation field from contracts and tickets
- Display better secondary identification fields
- Add derived project/account fields to messages overview
- Add dunning to account details chronology
- Cover more recurrence rules for iCalendar events
- Add option to reset user's login attempts
- Increase default timeouts from 30 to 60 seconds
- Refine REST client routing in iXML/Zymba
- Support sendfile facility in console
- Refactor Stripe interface due to new requirements
- Add delimiter (", ") atrribute to `<listbox>` in iXML
- Add rounding type attribute to `<math:round>` in iXML
- Add `@Array.keyAt()`
- Add `@String.toLowerASCII/toUpperASCII` and `@Array.toLowerKeysASCII/toUpperKeysASCII`
- Add `@Crypt.convertPublicKeyRSAToPEM()`
- Remove `@SQL.Connection.reconnect()` as most underlying ping functions are obsolete
ZeyOS 1.03-78 released
- Add attach object option in message/note details
- Improve mail signature handling
- Adopt new ZeySDK format for app download
- Add `@ZeyOS.ObjectUser.hasAccess()` to Zymba
- Add `@Crypt.createJWT()` and `@Crypt.validateJWT()` to Zymba
- Move several `@IO.Stream methods` to `@IO.FileStream` in Zymba
ZeyOS 1.03-77 released
(as sources API is deprecated)
- Use regular Stripe session checkout for SEPA direct debit
- Auto-create category hierarchy when adding a subcategory (public only)
- Add `@MIME.fromBase64URL/toBase64URL` to Zymba
- Remove `@HTTP.isUploadedFile()` from Zymba
- Remove Google Analytics Integration
ZeyOS 1.03-76 released
- Implement calculation method based on gross prices
- Allow API calls exclusion based on app identifier
- Move Top API Calls to dev module
- Have all APIs equally support `application/json`, `application/x-www-form-urlencoded`, `multipart/form-data`
- Support GZIP input encoding for all requests (also API)
- Postpone POST data reading from PHP startup to application layer
- Remove signed key auth
ZeyOS 1.03-72 released
- Add API access tab to application details
- Activate OAuth callback URL check
- Exclude enhancements of inactive apps from overview
- Add filter for including inactive apps in enhancements overview
- Allow changing of name and identifier in application details
- Clamp configurable minimum password length to a minimum of 6 characters
- Properly 404 when given ID is not found in details
- Treat include once in iXML analog to Zymba by caching the result
ZeyOS 1.03-69 released
- Introduce My Credentials** (module "auth")
- Add Report Security Incident option to My Credentials
- Remove fun facts
- Add `indexes_create` utility command
ZeyOS 1.03-65 released
- Add callback URLs to applications
- Make API-only session lifetime dependent
- Add apionly info to authentication APIs
- Use proper foreign key constraints for referenced binfiles
- Add `@Crypt.createTimeOrderedUUID()` to Zymba
ZeyOS 1.03-63 released
**OAuth 2.0 / Tokens**
- Support OAuth2 authorization code flow via `/oauth2/v1` endpoint
- Support OAuth2 password grant
- Support OAuth2 token revocation
- Support OAuth2 introspection
- Add `type` to tokens
- Allow login tokens (only) to be used with empty username
- Add user login status `inactive` (destinguished from locked)
- Migrate usage stats to (readonly) DB
- Migrate API calls recording to (readonly) DB
- Add buffered apicalls option for specific callers via env
- Add `apicalls_flush` utility command
- Move login/logout/tfa/oauth to own module "`auth`"
- Restructure session viewdata for better compression
- Add `date` field to custom objects
- Auto-generate DB reference JSON file directly from DB
- Base SimpleDB SQL file on DB reference file
ZeyOS 1.03-61 released
- Switch to QUIC+HTTP3
- Add `costprice` to prices for use as purchaseprice
- Add `date` field to opportunities
- Add `date` field to contracts
ZeyOS 1.03-60 released
- Upgrade to PostgreSQL 16
- Replace regular icons with FontAwesome
- Replace HTML editor icons with FontAwesome
- Add instock filter in `details_storage.locations` items popup
- Add sum-up option to database IO view
ZeyOS 1.03-58 released
- Rename dev.php to dev.system
- Make fields selectable in dev.system
- Add TOP tab to dev.system overview
- Use nanosleep instead of usleep for higher resolution
- Retry remaining sleep on signal interrupt
ZeyOS 1.03-55 released
- Upgrade to PHP 8.3
- Add contractitems to contracts
- Add total CPU usage to PHP processes summary
ZeyOS 1.03-52 released
- Elevate channels to main entity** with ownership, extdata, tags
- Add channel management to control center
- Remove meta field from channels
- Also apply adminonly_servers setting to channels
- Remove user/group-specific Mindlog
- Add regular user filter to Mindlog
- Several usability enhancements around Mindlog
- Link users to filtered Mindlog
- Support custom logo via meta field in comments
- Lazy load PDF preview in mindlog
- Go to overview on activity change in details (analog to visibility)
ZeyOS 1.03-51 released
- Fully reload record after editing or pinning
- Asynchronously load comments on viewing record
- Reload complete set of comments after commenting
- Invalidate notification on viewing specific record (no more need to manually acknowledge notification or access object details)
- Asynchronously record preview in object details
- Change records in object details to be a chronologically stripped down preview (max 10 records) including all conversational records (that have comments or files), but monitor records limited to last per user
- Add dedicated record details view via `&umi=&page=details_record&id=...`
- Add meta field to comments
- More broadly lookup account by email (via addresses+contacts2contacts)
ZeyOS 1.03-49 released
- Remove dashboard from Mindlog
- Add "origin" country field to items** (+lineitems)
- Allow change of unit in line item when item type is nostock
- Add unofficial "XI" country code for Northern Ireland (because of Brexit)
- Add code search to enhancements (root only)
- Remove `@Date.setTimezone` in favor of `@Date.TimezoneContext`
ZeyOS 1.03-48 released
- Support legacy TLS 1.0/1.1 with OpenSSL 3.0 by specifically downgrading SECLEVEL
- Add `@Exception.countTraces()`
- Add `@Console.countMessages()`
- Add `@FTP.Client.append()`
- Remove `@FTP.Client.deleteIfExists()`
- Remove `@FTP.Client.isRegularFile()`
- Add iXML command `<file:send>` analog to Zymba
- Add iXML command `<file:readcsv>` to save memory
ZeyOS 1.03-47 released
- Migrate to Ubuntu 22.04
- Add tertiary standby system
- Add IO statistics tab to database overview
- Remove database SLRU popup as it is now integrated in IO tab
- Rename "rate" to "ratio" where more appropriate
- Add integrity check for `feedids.record`
- Override PHP exception file/line with Zymba specifics
- Implicitly convert string to exception on throw in Zymba
- Add `@ZeyOS.sendFile()` to Zymba
ZeyOS 1.03-40 released
- Introduce module "[documents](https://cloud.zeyos.com/zeyon/?umi=documents)"** (BETA)
- Expose public documents via endpoint `/document` (analog to `/resource`)
- Record nearly all masterdata changes in monitor records
- More detailed display of monitor records
- Only monitor field details for modifications
- Show modified fields in details history popup
- Show modified fields in monitor overview
- Add dedicated record flag `feed`
- Move records location from meta to dedicated field `location`
- Add missing `records.stickydate` to REST API
- Simplify `users.signature` to make it DB accessible
ZeyOS 1.03-39 released
This update is bigger than it looks! ;-)
- Run each checkmail/dav/feed in own process
ZeyOS 1.03-37 released
- Add support for SMTPUTF8 (RFC 6531)
- Support IMAP preauth
- Remove internal mail sending via zeyos.internal
- Add memory usage field to DB backend/utilities
- Allow for active replication monitoring via /ping
- Add `@Date.TimezoneContext` to Zymba
ZeyOS 1.03-36 released
- Adjust net calculation method and define previous net as new legacy (`calculation`=`3`)
- Add encrypted password option to links
- Preview email message (`.eml`) in slide show
- Auto-select date-time component on focus of date picker
- Define DB index predicates exclusive instead of inclusive for broadest applicability
ZeyOS 1.03-33 released
- Add channel header to Mindlog when filtered
- Use last 500 records for mindlog navigation filters
- Display foreign objects in records popup of details view
- No longer auto-assign entity based channel for monitor records
- Add mailing recipients popup to message details
- Specifiy address type default in addresses overview
- Add API Inspector (via dev console)
- Use optimized main query builder for REST API
- Add more strictness to REST API
- Allow field aliases to be referenced in sort in REST API
- Support reverse null sorting in REST API
- Support same filter operators in REST API as in iXML
- Add Content-Location header on 201 (Created) in REST API
- Report API request errors as status 400
ZeyOS 1.03-31 released
- Add table "**enhancementversions**"
- Retain enhancement versions for 180 days
- Add versions popup do enhancement details options
- Add download option to application details (SDK compatible)
- Add no-application to applications overview analog to storages
- Add no-application to enhancements nav filter
- Show non-app tokens in no-application details popup
- Add extdata and tags to raw object data popup
ZeyOS 1.03-30 released
- Add entity "**mailingrecipients**"
- Preset mailing recipients on mail queuing and use for sending
- Add secondary entity "**relateditems**"
- Add related items tab to item details
- Add relation grouping to related items
- Only count towards login attempts if password was not empty
- Try to map windows emulation code pages to ISO 8859 counterparts on mail header parsing
- Throw error on include of inactive enhancements
- Strictly limit TLS to versions 1.2 and 1.3
ZeyOS 1.03-27 released
- Confirmation warning for concurrent modification of config file
- Support RFC 2231 in mail header parameter parsing
- Add nullsdistinct field to database indexes overview
- Remove size field from files/messages/notes (derive from binfile instead)
- Add search to topapicalls popup view
- Add meta field to channels
ZeyOS 1.03-26 released
- Add duplicate option to users and groups (+deep)
- Allow presetting in user and group details
- Make mail parsing more robust against mixed line breaks
ZeyOS 1.03-25 released
- Apply foreign tax rates in generic case
- Define non-matching country as tax free with One Stop Shop
- One-time removal of foreigntaxrates config when One Stop Shop disabled
ZeyOS 1.03-24 released
- Upgrade to PostgreSQL 15
- Add important stats as summary to DB backends/queries tabs
- Refactor DB replicators tab to use replication slot info
- Add XID wrap field to DB table/schema overviews
- Add freeze treshold field to DB tables overview
- Warning about insufficient DB freezing with XID wraparound backlog
- Set as default option on save in server details
- Replace SMTP config in favor of default mailserver
ZeyOS 1.03-20 released
- Support Google and Microsoft OAuth in Email
- Make iXML `<mail:send>` analog to `<mail:queue>` but with immediate senddate
- Remove Zymba `sendMail()` in favor of `queueMail()`
- Add toast size field to DB overview lists
ZeyOS 1.03-16 released
- Partition tags by entity and keep tagrels as an updatable view
- Partition extdata by entity and keep extdatavalues as an updatable view
- Value neutral coupons via flag in coupons and items.coupons
- Add contract account as field in devices overview
- Also display views in tables tab of DB overview
- Add isview field to DB tables overview
- Add storage to DB fields popup
- Add rules field to database tables overview
- Add sub view for database rules
- Add mean row size field to database tables overview
- Utilize async DB connect
ZeyOS 1.03-13 released
- Add basic overview archival date restrictions
- Only notify once on one object for any monitor record
- Add settings tab to database overview
- Add sub view for database triggers
- Add triggers field to database tables overview
- Prettify (intermediate) Zcode output in console
- Allow instance specific memory limit
ZeyOS 1.03-11 released
- Make control/admin/dev proper regular modules
- Remove special handling of "Administrators" group
- Derive admin designation from explicit permission instead of predefined group
- Add due amount to transactions/dunning based on balance and status
- Ignore draft transactions for dunning status
- Add raw object data option for admins in details
- Move common SQL functions into public schema
ZeyOS 1.03-10 released
- Introduce standalone runtime console (via control center)
- Upgrade custom fields view to full list view
- Add console and custom objects sections to control center
- No longer treat inline mail parts as regular attachments
ZeyOS 1.03-08 released
- Use partial search indexes (only non empty values)
- Allow utilities/locks tab for non-root users in database overview
ZeyOS 1.03-07 released
(e.g. https://stats.uptimerobot.com/M2EEOf2l43)
- Add dedicated ping endpoint for uptime monitoring
- Degressively postpone erroneous server re-checks
- Use seperate extdata partition for zero values
- Add size field to enhancements overview
- Add reformat option to SQL query view
ZeyOS 1.03-04 released
- Add DAV server field to appointments/contacts/tasks
- Make DAV server changeable in appointments/contacts/tasks
- Only display DAV server select box in details if DAV is actually used
- Add warning on DAV server change in details
ZeyOS 1.02-97 released
- Extract coupons from pricelists into own module
- Always aggregate floating point with safe precision rounding
- Provide `EXTDATA`/`TAGS_`... variables in service triggers
- Move Zymba methods `@Math.randFloat`/`randInt` to `@Number.randomFloat`/`randomInt`
- Remove deprecated Zymba methods `@Math.min`/`max`
- Use PHP composer
- Upgrade to PHP 8.1
ZeyOS 1.02-91 released
- AuditLog Feature
- Add audit section to control center
- Allow non-drag/simple checking in field selection
- Use web worker for showdown rendering
- Allow adding values in raw extdata details
- Add priorday to date range filter
- Move binfiles from /data/bin to /binfiles
- Remove Zymba method `@ZeyOS.Object.saveWithExtData()`
- Add extdata/tags parameters to `@ZeyOS.Object.save()`
- Add Zymba object `@ZeyOS.AuditIterator`
- Widen extdatafields/tagnames IDs to int64
ZeyOS 1.02-90 released
- Add no rows selected warning on action in table views
- Add static unavailability site
- Remove binfile transaction concept (use DB row locks instead of APCu locks)
- Make binfiles immutable
- Remove date field from binfiles DB table
- Remove `@ZeyOS.BinFile.delete()` from Zymba
- Remove id attribute from `<bin:write>` in iXML
- Remove `<bin:delete>` from iXML
ZeyOS 1.02-86 released
- Add calculation flag to contracts/tickets
- Add more options to transaction duplicate
- Option to stop future sending in message details
- Syntax highlight code in markdown code blocks
- Allow leading whitespace in records/comments text
- Support Shift+TAB for `"\t"` in all input elements
- Enhance file type display in list boxes
- Use icon for weblet view field in overview
- Option for streamed CSV export in REST API (admin only)
- Keep file uploads compressed if possible
- Set `X-Accel-Buffering=no` for downloads
ZeyOS 1.02-78 released
- Refactor and optimize query builder join logic
- Add read-only binfiles endpoint to REST API
- Reference numeric extdata field in REST API via "extdatanum" key
- Prefer user emails in email address input
- Add channel name to Mindlog stream and allow channel assignment
- Add contact field to add users dialog in calendar invitations
- Add locks tab to database overview
- Add database field to DB queries overview
- Add partitioned tables to database tables overview
- Lazy load query in DB backends overview and add to utilities/locks overviews
- Remove summary from DB overview
- Add integrity test for records channel
ZeyOS 1.02-75 released
- Add **channels** and **entities2channels** DB tables
- Add channel navigation filter to Mindlog
- Add channel field to monitor
- Add entity navigation filter to monitor
- Add channel field to files overview
- Add channel navigation filter to files overview
- Add channel field to feed servers
- Add adminonly_servers setting
- Remove categories filter from Mindlog
- Remove tagging functionality from records
- Remove days from duration formatting
ZeyOS 1.02-73 released
- Support One Stop Shop EU VAT taxation
- Add foreign tax rates field to items/coupons
- Add One Stop Shop option to admin localization settings in control center
- Add reapply taxation option to transactions
- Move reapply options under "more" in items action list
ZeyOS 1.02-72 released
- Add editinguser field to carat_commissions
- Add locked field to CARAT overviews
- Preserve context URL parameter "ctx"
- Add pseudo checkbox-like type "isset"
- Use single PHP view with tabs for FPM/APCu/OPcache/Session monitoring
- Use APC and Opcache in combination to cache app settings
- Fully cache enhancements metadata in PHP memory
ZeyOS 1.02-70 released
Apart from extensive iXML and Zymba refactoring and major expansion of the testing facility, there are the following changes:
- Category/tag filter in add items dialog
- Add taxid field to accounts (usable as vatid or social security no, etc.)
- Add taxid field to billing/procurement transactions
- Auto-update transaction amount on line items amount change
- Allow nexting of partly completed transactions
- Display percent tax rate in items summary
- Have math inline expressions never return -0.0 in iXML
- Support limit in regular <replace value> in iXML
- Also output message on <debug:log> in iXML
ZeyOS 1.02-63 released
- Show dialog for new production in production details
- No longer verify messages where sender equals recipient email address
- Add quick complete button to payments overview
- Add all available actions to actionsteps tab in ticket details
- Also warn about discarding changes on window close
- Add sessions overview to PHP section in control center (root only)
- Add memory usage to PHP FPM process overview
- Add OPcache stats popup with raw JSON stats
- Change string casting of iXML complex types to format `[type#id]`
- Disallow recursive `<array>` inside `<item>` in iXML
- Add `<tags:reset>` to iXML
- Add `@ZeyOS.Tags.resetTags()` to Zymba
ZeyOS 1.02-61 released
- Add account association to projects
- Make account and project association in tickets mutually exclusive
- Add account filter to projects overview
- Add account filter to tasks overview
- Add inferred dunning level field to transactions overviews
- Default to single writable group for no public user ownership
- Allow purchase price in fabrication items
- Make CARAT objects accessible via Standard REST API
ZeyOS 1.02-60 released
- Switch to S3 compatible storage layer for binfiles
- Migrate binfile data to Wasabi+AmazonS3
- Add applicability field to items
- Make model items usable in billing/procurement via applicability flag
- Allow models to be used as item components in production
- Add type "collection" to account addresses
- Grouping order in multi-association entity lists by number of results
- Refine quotation of HTML message in reply-to/forward
- Infer mailinglist association in campaign details
- Link to carat planning from billing transaction details
- Make slideshow full-screen properly toggable
- Add head/menu-less mode via URL parameter fullscreen=1
- Remove special error status code handling in Zymba REST server
- Remove special error status code handling in iXML REST server
- Add optional response status code to iXML `<header>`
- Include filename in iXML debug log output
ZeyOS 1.02-53 released
- Add mail thread section in message details
- Properly track/set message-id and in-reply-to headers for e-mail threading
- Move suppliers section to own tab in item details
- Add preview image in CARAT plannings overview
ZeyOS 1.02-50 released
- Redesign search filter
- Change sub-contacts table in contact/account details to list style
ZeyOS 1.02-49 released
- Option for implicit contact creation for new account
- Option for implicit contact creation for new user
- Add fixed quantity flag to components
- Add preview image in CARAT plannings overview
ZeyOS 1.02-47 released
- Split dunning into types** (listing, reminder, notice)
- Remove level from dunning
- Remove transaction fee from dunning
- Display public resource request URL in resource details
- Make filters tab specific in billing/procurement overviews
ZeyOS 1.02-44 released
- Make UI responsive
- Make fixed select box fully searchable with list restriction
- Replace icons in HTML editor with TinyMCE SVGs
- Remove RTL support for now
- Remove records shortcut from entity overviews
- Use touch events for notification drop down on mobile
- Config option for summary limits
- Admin only export config option
- Retrieve account extdata ontop of contract extdata in autobilling
- Infer account association in contact details
- Add attachments field in messages/notes
- Include data directory size in usage report
- Add sysfiles popup to database overview
- Inform user about being offline (warning)
- Recognize sticky records in details side bar
- Limit mindlog streams to fellow group members when no public
- Add BTC and ETH crypto currencies
- Only consider persistent login when no user is specified
- Support token as password in regular login
- Work with 401, 403 and 404 status codes in regular pages
- More detailed server timing header
- Change hex-encoded binary data DB fields to raw bytea
- Add `@ZeyOS.Warning()` to Zymba and display appropriately in ZeyOS
- Add `<warning>` to iXML and display appropriately in ZeyOS
- Add shortcut Zymba method `@ZeyOS.Object.saveWithExtData()`
- No longer allow include of non-enhancements (regular files) in iXML/Zymba
- Remove Intercom integration
- Upgrade to Postgres 13
ZeyOS 1.02-37 released
- Expandable descriptions in items lists
- Add number format option for alpha-numeric counter
- Add Top-DAV-Server filter for Contacts and Tasks
- Only display DAV server filter when necessary
- Use status code 410 for gone objects in APIs
- Add explain WAL option to analyze in SQL query view
- Add create-index/analyze/cluster/basebackup processes to database overview utilities tab
- Add non-enforced binfiles.ID integrity check
- Add integrity check for unique accounts.contact
- Disable DB parallelism in iXML/Zymba
ZeyOS 1.02-34 released
- Run each timing service in own process
- More granular timing API calls collection
- Allow `<HBOX>` in dialog forms
ZeyOS 1.02-31 released
- Introduce weblet sub view "action" in overviews
- Allow context ref attributes in integrated weblets
- Display remote call request URL in service details
- Add short date (without time) field to transactions/dunning/payments overviews
- Allow non-root access to DB schemas tab, restrict to own schema
ZeyOS 1.02-28 released
- Introduce **API-Only Users
- Enforce charge number integrity** via DB triggers (running stock >= 0)
- Add charge number integrity check (running stock > 0)
- Add running stock integrity test for serials
- Add **tags reset** field to **REST API
- Remember expanded/collapsed sub views and forms for duration of session
- Make custom input elements in line items forms always be editable
- Add description to overview lists
- Add resend option to messages overview
- Add send error field to messages overview
- Add verified field to messages indicating known sender email
- Highlight file type with colored icon in resources overview
- Add secure field to links overview
- Add secure field to servers overview
- Hide http(s) scheme when formatting URLs
- Reset date field on duplication (transactions, dunning, payments, actionsteps, tickets)
- Fully support empty/nullable extdata defaults in import
- Add explain buffers option to analyze in SQL query view
- Add total/mean temp size fields to database overview queries tab
- Add TPS output to database overview backends tab
- Use individual foreign key indexes for each ownership field
- Use individual trigram indexes for each search field
- Only create indexes for tables with data size > 4 pages
- Add `<db:intags>` command to iXML
- Introduce DB testing facility
- Add language files checker
- Allow Chromium-based MS Edge browser
ZeyOS 1.02-27 released
- Add to mailing list/campaign in accounts overview
- Default Address Changable in Accounts
- Add binfiles popup to database overview
- Make categories scroll loadable
- Maintain tree structure when searching categories
- Limit tag dialog categories to 100
- Make entity boxes retrievable in extdata forms
- Falsify non-empty but untokenizable search queries
- Simplify search by using sampling instead of cut-off for better performance
- Give concatenation operator lower precedence than math operators in Zymba
ZeyOS 1.02-23 released
- Improve date parsing and restrict formats to parsable
- Better handling for embedded .ics/.vcf in mail
- Add filter symbol to table header if specific field is filtered
- Add costs to items list summary
- Add costs to billing transactions overview
- Add integrity check for procurement transaction margin
- Add utilities tab to database overview (root only)
- Add sensible grouping options to DB overview
- Also use real time mode for replicators tab in DB overview
- Support compression in IMAP
- Support non-synchronizing literals in IMAP
- Support APOP authentication in POP3
- Enable `resources.public` in SDK API (with hack for old SDK)
ZeyOS 1.02-20 released
- Allow dialog form weblets in line items** (`main.items.form`)
- Promote action steps list in ticket details to proper table with extra tab
- Add quick action buttons to messages table overview
- Add quick complete button to action steps overview
- Add prior week to date range filter
- Replace all `<output>` and read-only select boxes with `<input readonly>`
- Re-arrange custom fields edit dialog more intuitively
- Ignore cancelled/closed transactions when updating dunning status
- Cache DNS lookups locally in IMAP/POP3/SMTP
- Extend pipelining to POP3 and use it for simple authentication
- Reuse TCP connections in cron scheduler/dispatcher
ZeyOS 1.02-16 released
- Substitute legacy PHP IMAP extension with own implementation
- Use size and internal date instead of hash for fast IMAP sync
- Promote 578 instead of 25 as default SMTP port
- Make STARTTLS the default for email connections
- Add support for ESMTP pipelining (RFC 2920)
- Add support for ESMTP chunking (RFC 3030)
- Allow setting numbers to next number after creation in details
- Add prices tab in account details
- Add accountnum as default field to account-related overviews
- Differentiate display of reserved stock consistently
- Round epsilon floating point aggregates before filtering
- Config to autoremove empty extdata values on cleanup
- Add input types country/currency/unit to iXML <textbox>
ZeyOS 1.02-13 released
- Introduce Devices
- Replace serialnum/chargenum history with direct device link
- Make transaction edit/open dialog available throughout inventory module
- Limit inventory transactions overview to accessible items
- Auto add newly created association in details without extra save
- Highlight archived in secondary lists
- Invite multiple users in one go in appointment details
- Display pictures in primary user lists
- Display pictures in primary contact lists
- Add customer portal to control center
- Add tag filter to iXML entity box
- Add `<zymba:run>` command to iXML
- Make PHP preloading mandatory in non-dev mode
ZeyOS 1.02-11 released
- Add attendees field to appointments overview
- Add type selection on next billing/procurement order
- Allow cancellation of paid transactions
ZeyOS 1.02-09 released
- Add custom fields type `entity_...`
- Concurrency control in details view via lastmod monitoring
- Quick create contacts in contact/account details
- Add multiple users in one go in group details
- Add multiple groups in one go in user details
- Add barcode field to inventory transactions overview
- Add items in scan order
- Make appointments invite customizable via config URL hook
- Redirect to dedicated HTML page when scripting disabled
- Deprecate Microsoft Edge support for now
ZeyOS 1.02-08 released
- Add special "maintainer" user analogue to "root"
- Redesign subscription management
- Add time frame input option to actionstep details
- Add percentage to discount and margin in summary
- Retrieve extdata as hidden input when no matching form elements
- No longer restrict integrity checks to root user
- No longer reactivate enhancements through SDK
- Deduct proportionate API calls when sleeping via iXML/Zymba
- Add web app manifest
- Upgrade to PHP 7.4
- Upgrade main storage server to Nginx
ZeyOS 1.02-06 released
- Infer reference message from last reply message
- Preview Text (.txt) in slide show
- Preview Markdown (.md) in slide show
- Preview JSON and XML in slide show
- Add numeric count field to extdata overview
- Add numeric field to extdata field popup
ZeyOS 1.02-05 released
- Preselect current date on production processing
- Only count positive stock to external stock
- Add unenforced integrity check for enhancement identifiers
- Add lateral join operations to iXML
- Add ExtData/tags join shortcut to iXML
- Only allow known values in type attributes in iXML
- Improve stack trace in iXML and Zymba
- Auto-generate extdata number on write
ZeyOS 1.02-04 released
- Summary in item details stock transactions view
- Summary in payments overview
- Deep duplicate for items with suppliers/prices/components
- Deep duplicate for pricelists with prices/accounts
ZeyOS 1.02-03 released
- Highlight visibility of line items
- Robust ExtData number generation
- Lower send mail interval to 15 seconds
- Add flame graph to SQL explain/analyze
ZeyOS 1.02-01 released
- Add multiple transactions in one go in dunning details
- Add notify option to feed servers
- Avoid substitution of hash tags inside code blocks
- Separately number text positions in items list
- Strip currency symbol from price/money fields in import
- Allow more pseudo values (x, +, -) for checked fields in import
- Have iXML generate native PHP code
ZeyOS 1.01-97 released
- Add description to line items
- Dynamically link @user and @group tags in feed records
- Support quoted hastags with arbitrary non-space characters in feeds
- Discard confirmation on exit of dunning details
- Treat unavailable details tabs as not found
- Provide parent entity context to "addnew" dialog forms
- Add unenforced integrity check for stock transaction amounts sign
- Add recommendation integrity check for user and group name equivalence
- Utilize PHP 7.4 preloading facility
ZeyOS 1.01-96 released
- SCA-ready subscription payment handling
- Also reset lastmodified on extdata or tags alteration
- Option to duplicate only untaken part of transaction
- Skip text items in items list counter field
- Scale up integrity checks and add new tests
- Add locks field and popup to database backends overview
- Add postmaster start time to DB backends
- Download notes as raw mail instead of ENEX
- Add Zymba `@Crypt.validatePasswordPHP()`
ZeyOS 1.01-95 released
- Add integrity check tests to control center** (root only)
- Make transaction production factor editable on processing
- Add transaction due date to stock transactions views
- Treat record creator analogue to assigned user regarding visibility
- Allow modal wait to optionally be abortable
- Add time variance field to DB queries view
- Improve usability of Top API Calls logging
ZeyOS 1.01-93 released
- Add queries tab to database overview (root only)
- Support "timing" as a new base type
- Display IDs as text instead of formatted numbers
ZeyOS 1.01-92 released
- Include tags in DAV synchronization
- Map tags to iCalendar/vCard categories and vice versa
- Support new color attribute for iCalendar events
- Add date range filter to appointments overview
- Ignore lines with all empty columns in CSV import
- Allow easy root access by empty password in development mode
- Add replicators tab to database overview (root only)
ZeyOS 1.01-90 released
- Split stock transactions in items list
- No longer allow different charge nums on stock transfer
- Only display charge num selection for outgoing transactions
ZeyOS 1.01-89 released
- Retrieve multiple transactions in items list
- Make charge num input fields selectable/searchable
ZeyOS 1.01-81 released
- Split production transaction booking into two steps** (reserving and processing)
- Support holding/reactivating production transactions
- Refactor to allow for reuse of IMAP connections in checkmail
- Abort all sub requests on page context change
- Remove side bar stickiness (because of flackering)
- Allow use of static url and avoid session loading for pics
- Disable field "distinct" when sampling in extdata overview
- Add fields "empty" and "filled" to extdata overview
ZeyOS 1.01-79 released
- Add new production shortcut to item details
- Make values editable in details view raw extdata popup
- Add tab for distinct values to extdata field popup
- Add distinct values count field to extdata overview
- Add calculated effective gross price field to prices overview
- Add calculated effective gross price field to items list
- Add global default setting for billing/procurement auto-advance payment to config
- Add missing auto-advance option to payment dialog in transaction details
- Add field for element IDs count to server overview
- Add root override option to sql query view
- Client-side fallback to document root favicon.ico for feed record logo
- Process XML in 1MB chunks to avoid memory issue in C-libxml
ZeyOS 1.01-77 released
- Spit production transaction into types "fabrication" and "disassembly"
- Prioritize recent elements in entity list boxes
- Allow duplicate transactions as a different type
- Add iXML commands for handling of tags
- Add regular (filled) filter to extdata field popup
- Optimize and refactor binfile cURL requests
- Compress request payloads when greater 10 KB
- Support compression in DAV/Feed requests
ZeyOS 1.01-74 released
- Add public option to resources
- Introduce `/resource` endpoint for public access to resources
- Create-new-Ticket option in message details
- Default storage option in control center user settings
- Default ledger option in control center user settings
ZeyOS 1.01-73 released
- Follow/Unfollow in details view
- Stock transactions import
- Mailing Lists import
- Participants import
- Use rel=noopener for all external links
ZeyOS 1.01-72 released
- Redesign edit record dialog and add recipient
- Add presettings (defaultsettings) to application details
- Gracefully handle wrongly encoded import data
- Cache Mindlog navigation between page reloads
- Refine DB summary caching and enable JIT ondemand in sql query
ZeyOS 1.01-70 released
- Add optional tags popup to tag component
- Split contracts/tickets items into billing and procurement
- No longer allow procurement types in contract auto-billing
- Universally increase connection timeout to 10 seconds
- Add admin-only raw extdata popup to options in details
- Add admin-only raw items popup to options in details
- Use limited precision for numeric output to mitigate JS quirks
ZeyOS 1.01-69 released
- Add OPcache overview (root only)
- Add PHP-FPM overview (root only)
- Add backends tab to database overview (root only)
- Fork action in SQL query view
- Add prior month/year options to date range filter
- Remove "X days ago"/"in X days" from date prettification
- Enable support for TLS 1.3
ZeyOS 1.01-67 released
- Locations tab with drill down in item details
- Locations tab with drill down in storage details
- Add "No Storage" as pseudo-storage to storage overview
- No storage filter in items/transactions overview
- Apply storage filter to potentialstock field (analouge to other stock fields) in items overview
- Add last chargenum field to serials tab in item details
- Increase recent items to 100
- Add calculated dateto field to actionsteps overview
- Added sales field to items lists
- Hide decimal digits from summary when monetary value exceeds 1M
- Differentiate between contact email and recent mail addresses and in recipient select box
- No longer display text content larger than 1MiB in resource details
- Add explicit stock invoice option (default: false)
- Upsert instead of insert for secondary unique entities
- Partition extdatavalues into extdataempty and extdataregular
- Use table sample for filter counts when over 500K rows
- Clamp result count at 500K rows in list views
- Clamp global search at 50K searches per entity when query has less than 3 chars (trigram indexes require 3+)
- Apply extdata form defaults only in context of new object
- Log excessive duration (> 30s) of timing/remotecall/weblet
- Replace mailparse lib (abandonware) with own implementation
- Remove (obsolete) ID field from notifications
- Add PRETTY (bool) attribute to ENCODE:JSON in iXML
- Upgrade to PHP 7.3 language features (7.3 now required)
ZeyOS 1.01-65 released - BETA!
Currently, only instances `bitmosaik`, `franse` and `zeyon` run on this version.
- Backend refactoring for code clarity** (Let's keep those fingers crossed!)
- Add date range filter for list overviews
- Include date range filter in saved filters
- Reset stock transactions option in billing/procurement
- Also display reserved stock in add items dialog
- Allow deletion of same date serial transactions in case of highest ID
- Lower check/sendmail interval to 30 seconds
- Implicit upload on copy-paste files into Mindlog (records+comments)
- Output Excel export dates as text to mitigate conflicting timezones
- Use "Inter" as base font (only on high pixel density devices)
- Also check application restriction on remotecall auto-authentication
- Output meaningful messages on DB integrity constraint violations
- Return meaningful error messages for 401/403 status in APIs
- Remove APPID variable from script context
- Add iXML auto test based on ixmldoc.xml
ZeyOS 1.01-64 released
- Native Excel XLSX/ODS export
- Make generic JSON export numeric type aware
- Support import of OpenOffice ODS spreadsheets
- Create Contract Shortcut in Contracts Overview
- Create Contact Shortcut in Contacts Overview
- Add New Address Popup in Accounts
- Remove Google Maps Integration in Mindlog (requires API key/billing)
- Massively speed up tags filter count
- Content merging for multipart messages with several content parts
- Option for administrator only disable of 2FA
- Remove obsolete/unused Zymba functionality and only load what's available
- Only provide app settings in top script context
- Cache app settings
- Update to PDF.js-2.0.0
- Support PDF font subsetting
- Replace PHPExcel with PhpSpreadsheet
- Detect UTF-8 BOM in iXML header
- Switch from YUI Compressor to Closure Compiler for JavaScript
- Automated release update with apicall preservation
ZeyOS 1.01-63 released
- Stock transactions input for tickets/contracts line items
- Root option to examine JSON line items in details
- Remove application installer
- Add actions to APCu overview
- Options to enable/disable gather and JIT in SQL query
- Use estimate to decide between loop join and aggregate join
- Enable BBR as TCP congestion algorithm
ZeyOS 1.01-62 released
- Integrate Sentry for error logging
- Option to include categories when deleting/renaming tags
- Add contracts field to transactions
- Make supplier stock editable
- Auto-repair foreign key relations
- Highlight non-regular (archived/deactivated/deleted) elements in lists
ZeyOS 1.01-60 released
- Add APCu overview (root only)** (`/?umi=dev&page=apc`)
- Cache pre-initialized config
- Hardened CSRF attack prevention
- Auto-generate simplified DB schema
- Add implicit OPTIONS to iXML/Zymba REST server
- Only try to send mail if senddate within last 7 days
ZeyOS 1.01-57 released
- Allow pinning of records to make them sticky
- Add in stock field for billing order transactions based on stock reservations
- Use QR code for sharing publicly
- More appealing error and page invalidation handling
- Notify user about session expiration
ZeyOS 1.01-54 released
- Heuristics-driven top global search results
- Prioritize recent elements in global search
- Make recent persistent across sessions (up to 250)
- Two-Factor-Authentication via TOTP
- Add authentication section in control center
- Move reset password dialog to control center
- Remove initial password setting
- Remove password auto-generation
- No longer send user passwords via email
- Add 2FA (checked) field to users overview
- Add JS library for QR code generation
- Highlight main keyboard shortcuts as tooltips
- Further generalize data retrieval and remove some quirks
- Remove obsolete or privacy sensitive data from humans.txt
ZeyOS 1.01-53 released
- Add item option to enforce in stock
- Add HTML type to iXML form textboxes
- Language selection in login view
ZeyOS 1.01-50 released
- Facelift of header menu
- Switch logo and cloud to flat design
- Add more CSS animations where appropriate
- Utilize browser storage for session caching and transfer across tabs
- Notify about notifications in 10 second interval (instead of 60)
- Send server timing header with page/plain requests
ZeyOS 1.01-49 released
- Auto advance option in payments
- Make action steps association non-editable only when booked
- Replace prettify with highlight.js (in web worker)
- Make code editor more responsive
- Add entity reference when sending record
ZeyOS 1.01-48 released
- Add subtransactions to stocktransactions for use with set items
- Allow permanent deletion of app-dependent enhancements
- Add payments to import
- Add campaigns to import
ZeyOS 1.01-46 released
- Make fixed select boxes searchable
- Enable searching in country dropdown
- Upgrade details item serials to full list view
- Upgrade details item charges to full list view
- Field selection in item details serials/charges tab
- Item pictures in list overviews on hover
- Zoom pictures on hover in table list views
- Contract auto-billing also with procurement transactions
- Make recording of top API calls controllable
- Locale specific format decimal point in numeric input fields
- Add option to view data excerpt in import
- Warn about empty name in import preview
- Add <mail:queue> command to iXML
ZeyOS 1.01-40 released
- Redesign and enhance Import
- List view in messages
- Check uniqueness of numbers and optionally ignore
- Show info dialog about email deletion when selecting POP3
- Users/groups option to reassign ownerships
- Publish option for tickets (token-based)
- Redesign user profile pics
- Show number of notifications in document title
ZeyOS 1.01-39 released
- Custom Fields in Control Center
- Manage units of quantity through control center
- Allow editing of lang aliases in weblet details
- Add lang aliases field to weblets overview
- Make side bar sticky on scroll
ZeyOS 1.01-37 released
- Add to Mailing List/Campaign in Contacts Overview
- Add to Price List in Accounts/Items Overview
- Add deleted to activity and make analog to visibility
- Properly distinguish between pre and permanent deletion
- Affirm definite account deletion
- Restyle mindlog record external link box
ZeyOS 1.01-35 released
- Split DB schema** in global (public) and specific parts
- Add schemas tab to database view (root only)
- Root option to show all relations from all schemata in database view
- Move enhancements to separate module
- Option to request GDPR contract in subscription mgmt.
- Remove EULA reference
ZeyOS 1.01-34 released
- Calendar invitations without contact
- Two-Factor-Authentication option with e-mail TAN
- Option to log top API calls within one clean-up cycle
- New request initialization and dispatch (once again)
ZeyOS 1.01-29 released
- Allow field selection in basic export
- Add dav server field to account addresses view
- No longer treat item set's stock as net neutral
- Always cancel stock transaction transfer duett fully
- Make serials field filterable in stock transactions view
- Optimize item price retrieval
- Allow JSON alongside regular url-encoded input in all APIs
- Handle OPTIONS method before anything else in REST APIs
- Reference ZeyOS Dev Center in Control Center
- Add auth tokens popup to application details
- Allow token deletion from user details
- Check application activity on token validation
- Preset iXML envelope in enhancement details
- Re-include paste.depesz.com (online again)
- Remove schema.html (refer to new dev.zeyos.com website instead)
- Move control center to separate control module
- Rename module "system" to "main"
- Make SQL sanitation safer via proper SQL lexing
- Add separate endpoint for creation/update sync in SDK API
- Write capped REQUEST_URI to error log
- Add PHP info (for root user) via control center
ZeyOS 1.01-28 released
- Introduce contracts auto-billing
ZeyOS 1.01-27 released
- Introduce payments module
- Move payments from collection to payments module
- Add new entity "ledgers" for payments structuring
- Add ownership summary popup to group/user details
ZeyOS 1.01-26 released
- Share Publicly option for appointments, contacts, links, notes and tasks
- Option to reissue application API secret
- Create Custom Object Shortcut in Objects Overview
- Auto-select search field on '=' input
ZeyOS 1.01-25 released
- Link to RSVP endpoint in calendar invitation mails
- Only count towards top storages when items actually have stock in storage
- Added subscription usage history drill down
- Use separate files for each month when recording usage
- Stop timing service from running concurrently
ZeyOS 1.01-21 released
- History view of monitor records
- Always expand feed item (no more collapsed version)
- Support full extdata and tags retrieval in REST API list
- Also collect API calls when running enhancement or SQL query from inside ZeyOS
- Fix mail address parsing by completely refactoring address list handling
ZeyOS 1.01-20 released
- Pending calendar invitations in main menu (analog to messages)
- Link database rows field to sql query view
- Support basic authentication for RSS feeds
- Dedicated not found page instead of auto-redirect
- Switch to monthly sys token expiration
- Make mail parsing more robust
ZeyOS 1.01-16 released
- Preview appointments (.ics), tasks (.ics) and contacts (.vcf) in slide show
- Redesign load account data dialog
- Support regular expressions in filters
- Display unread messages since last login in main menu
- Use explicit MIME type for services/weblets
- Play tetris theme when running console for more than 5 seconds
ZeyOS 1.01-11 released
- Finalized couponing
- Support couponing in billing
- Stock transaction booking on invoice booking
- Make stock transaction sellingprice and purchaseprice editable for reservations
- Allow supplier no. with employee account type
- Refactored binfile transaction mechanism with nearly lock-free MVCC
- Switch to 100ms interval after first 1s when collecting API calls
ZeyOS 1.01-10 released
- Allow search and filters to be saved
- Allow field selection and sorting to be saved
- Redesign field selection and related view handling
- Finalized Intercom Integration
- Generate notifications every minute
- Lazy-load Mindlog navigation
- Only set current time of date-time selector when input non-empty
- Scroll to end of list when adding to items list
- Allow negative prices/rebates/discounts
- Move view data from user settings to dedicated database tables
- Removed dependencies from applications
- Upgrade to Postgres 10
- Server upgrade to PHP 7.2
ZeyOS 1.01-02 released
- Finalized OpenAPI specifications** (Todo: Intros)
- Finalized SDK API /sdk/v1
- Make all APIs work with Cross-Origin Resource Sharing
- Add developer section to control center (incl. API reference)
- Make application associated enhancements editable
- Preset transaction balance when adding payments
ZeyOS 1.01-01 released
- Finalized RESTful API /api/v1
- Finalized Authentication API /auth/v1
- Use MailGun for no-reply e-mails** (e.g. calendar invitations)
- Allow creation of custom applications for REST API usage
- Optionally bind token to application
- Support basic authentication scheme for /auth and /remotecall
- Factor in last senders from inbox in email address selection
- Recipient address data in dunning notice
- Charge number for scan in item lists
- Add account type prospect as filter option
ZeyOS 1.00-97 released
- Serialnumber for scan in item lists
- Add indexes tab to database view
- Buffer export's database result set retrieval via cursor
- Session refactoring (custom read/write of PHP sessions)
- New request initialization and dispatch
- Use db optimization fence against planner overestimation of aggregate with filter
ZeyOS 1.00-95 released
- Added Coupon Codes (incomplete)
- Support reply-to header input for e-mail messages
- New all-day date picker
- Lazy initialization of database transactions
- New multi tenancy request relay architecture
ZeyOS 1.00-93 released
- Endpoint for ZeySDK API
- Separate endpoint for token authentication API
- Add charges tab to item details
- Allow search by charge number in item overview lists
- Enforce item charges integrity via DB constraints
- All day shortcut for date ranges
- Introduce coupon related DB schema objects
- Provide IP address to Single-Sing-On
- Re-allow URL input on HTML editor link insert
ZeyOS 1.00-91 released
- Subscription Management incl. Payment Processing
- Only notify when association with assigned user match notification user
- Add top users filter to campaigns overview
- Upgrade extdata and tag views to full overviews
- Allow copy-paste of username per click on label in links
- Reset date on next transaction action
- Make collection transactions retrieval scalable
- Make database view scalable with multi-schema DB
- Query Builder Join Refactoring
- Use PG Replication Slots for Streaming Replication
ZeyOS 1.00-82 released
... and as always, many code related enhancements and optimizations.
- Internal Subscription Management** *(WIP)*
- Add fill factor field to extdata overview
- Record Active Users, DB Size and Bin Size via Clean-up
- Immediately enforce user deactivation/expiration
- Treat extdata null values as non-existing
- Remove default access key from applications
- Preserve previous access key when re-installing app
- Added auth tokens popup in user details
- Support token authentication for remotecall services
- Don't allow any whitespace in token identifier
- Remove session.contact.email2 from predefined e-mail senders
- Integrate paste.depesz.com in SQL query page
ZeyOS 1.00-81 released
In general this release contains many DB related enhancements and optimizations (see commit messages for details).
- Generate notifications for all users in one pass (now every two minutes)
- Use lateral DB joins where possible
- Massively speed up search queries
- Reset login attempts when resetting password
- Fallback to default time zone instead of UTC for iCalendar
- Restrict all database access to current schema (default: public)
- Harden custom SQL sanitization
- Optimize enhancement loading
- Add index size to DB indexes view
- Remove PHP mcrypt dependency
- Server update to PHP 7.1
- Update to PDF.js-1.7.225
ZeyOS 1.00-78 released
- Added potential stock field to items lists
- Search for supplier item num in item lists
- Enforce mail server sender to contain an e-mail address
- Use Github style markdown flavor
- Fix clash between `# tag` and `<h1>` in markdown
- Fully support markdown tables
- Explicit new company/person instead of new contact in contacts
ZeyOS 1.00-77 released
- New Module Production
- Allow no stock components in set items without failure
- Default to amount one when adding inventory item to items list
- Add excludetax to system locale settings
- Use account currency for supplier price
ZeyOS 1.00-76 released
This is a very technical release with lot's of code refactoring for upcoming features...
- Compiles to native PHP code instead of an interpreted bytecode-like structure.
- It is in many cases now as fast as using native PHP, even in micro benchmarks and scientific computation.
- Speed-up to old Zymba is around **1000% (10x)**, to iXML around **10000% (100x)**!!!
- Complexity of the compiler and the optimizer have been greatly reduced and are in many ways easier to understand.
- Thousands of lines of very tricky code of the virtual machine were removed now that we no longer have an interpreter.
- In generel it is less likely to contain bugs than the old version because of the more straight forward design. I actually found a few corner case bugs that have gone undetected for such a long time even though we have thousands of lines of Zymba code actually deployed (e.g. Zeylib, POS, SysAPI).
- Side note: Language sematics have not changed at all.
- Configurable search fields for all entities
- Refactor DB select infrastructure to use custom fields explicitly w/ type affinity
- Replace virtual extdata view DB field "int" with more general field "number"
- Add global statement level timeout via ENV db_timeout (defaults to 30 seconds)
- Remove compatibility with PHP5 (now only >=PHP7)
- Add Office 365 as predefined mail provider
ZeyOS 1.00-74 released
- Configurable form fields for new/addnew dialogs
- Allow for special tag input in new/addnew dialogs
- Show results with more than 6 fields vertically stacked in SQL query view
- German translation for currency names
- German translation for country names
- Create Campaign Shortcut in Campaigns Overview
- Add campaign association to opportunities
- Only consider auto-reply for ticket message if it's the initial message for a newly created ticket
ZeyOS 1.00-71 released
- Add opportunity association to messages
- Add messages section to opportunity details
- Message association ticket (x)or opportunity
- Consider opportunitynum when setting message association by subject
- Allow form weblets in new/addnew/edit dialogs
- Use personal defaults in new/addnew dialogs
- Highlight infos and warnings in confirmation dialogs
- Fun Facts in Login/Logout Page
- Auto-resizing multi line text inputs
- Auto-resizing text input for record comments
- Affirm checkbox when deleting users or groups
- Affirm checkbox when running potentially harmful SQL query
- Campaign field (derived from mailinglist) in message overview
- Allow association change in actionsteps when completed
- Support SMTP AUTH type CRAM-MD5 and use for insecure connections
- Ensure use of SMTP STARTTLS if requested and supported
- Use proper external IP address as host for SMTP EHLO
- DB based NumCounters with appropriate locking
- Basic Intercom Integration
- Log user and group deletions
- Handle import charset encoding issues gracefully
ZeyOS 1.00-65 released
- Database SQL Query View
- More comprehensive database view with additional stats
- Added sub view for database indexes
- Added sub view for database constraints
- Added collation info to database fields sub view
- Link foreign key references in database sub views
- Add Outline to Control Center side bar
- Make extdata and tag views accessible through control center
- Option to log administrator logins in security settings (config.log_adminlogin)
- Detect iCalendar (.ics) embedded in Outlook message
- Added RSVP endpoint for remote response to calendar invitations
- Raw Mail (.eml) Import in Messages
- Allow tab (\t) insert via key down in editor
- Add SQL to Code Prettify
- Repair mechanism for binfiles after failover
ZeyOS 1.00-63 released
- Support Direct Excel Import** (with client-side conversion of XLS/XLSX)
- LDIF import for contacts/accounts
- Better tabular import (CSV/TSV) delimiter detection
- Allow colon (:) as CSV delimiter in import
- Add optional tag name for import data (defaults to 'Import' + DATE)
ZeyOS 1.00-61 released
**IMPORT WIZZARD**
- Generic CSV Import** for most main entities
- ICS (iCalendar) import for appointments and tasks
- VCF (vCard) import for contacts and accounts
- Charset conversion for CSV
- Field mapping and default values
- Auto-detection of CSV header field names via normalized synonyms
- Auto-detection of CSV delimiter `; , \t |` (supports Excel's `sep=` syntax)
- Incremental import in batches of 20 with progress indication
- Detailed per element import error report
- Added tag to mailserver ticketing options
- Added employee type to accounts
- Add delete/rename options for extdata
- Add delete/rename options for tags
- Add number fields of second-degree associations to views
- Make link password filterable
- Renamed item type "regular" to "simple"
- Auto-reload on invalid view data
ZeyOS 1.00-60 released
- Allow adding to DAV Server after creation
- Control Center Edit Profile
- Change Picture in Mindlog Profile
- Added tags view to enhancements
ZeyOS 1.00-58 released
A new update of ZeyOS has just been released. Here are the highlights:
- Standardized export of views with fixed fields and normalized values
- Added date field to tickets
- Added generic binfile field to objects
- Added serials field to stock transactions views
- Native duplicate function for all objects
- Duplicate Transactions Feature
- Added HTML mode to new shortcut dialog in notes
- Removed HTML editor's use of dialogs
- Removed contact related fields from users overview
- Summary in collection receivables/payables
- New mail server auto-reply handling
- New e-mail signature handling via mail server
- Mail server option for automatic ticket creation
- Added my default servers dialog to control center
- Use Auto-Sumbitted header instead of subject prefix on auto-reply
- Avoid unnecessary mail materialization
- Decomopose embedded message/rfc822 only on root level in mail message
- Token-based remote trigger for application install
- Allow sub tag weblet filter
- Pass DATA, EXTDATA and TAGS variables to form weblets
- Added entity as variable for form weblets
- Added variable substitution for text mime types to iXML/Zymba include
- Added dedicated include support for text/tab-separated-values in iXML/Zymba
- Check JSON base type integrity via DB constraints
- Give all regular DB date fields current time as default
- Increase validity of internal token from day to week
- Reset password hook for middleware (e.g. LDAP)
- Remove support for legacy MD5 user passwords
- Pre-compress static CSS/JS/SVG for use with Nginx gzip_static
- Enable HTTP Strict Transport Security (HSTS)
ZeyOS 1.00-45 released
A new update of ZeyOS has just been released, including the following changes:
- Stock transactions overview in inventory management
- Booked filter in item details transactions view
- Added account field to stock transactions in item details
- Added transaction type field to payments overview in collections
- Do not list model items when adding as line items
- Immediately remove notify item when clicking on seen
- Facelift navigation filter component
ZeyOS 1.00-39 released
A new update of ZeyOS has just been released, including the following changes:
- Completely redesigned control center
- Detach servers from control center
- Removed system console
- Natively integrate demo data (partially)
- Root option for ZeyConnect app installation
- Added dependencies to applications
- Removed special handling of ZeyConnect applications
- PDF miniature view preview
- Server-side thumbnail caching
- Asynchronous sendmail
- Added optional senddate field to mail send dialog
- Send just one e-mail to entire group in internal send mail
- Make user name and email lower case unique
- Make group name lower case unique
- Enhancements accesskey with clipboard functionality
- Serial number search in items list
- Remove base64 encoding from remotecall authentication
- Encrypt default smtp password in config file
- Use Postgres enum type for entities
- Improve extdata/tag view write performance
- Moved appointments timespan to DB function
- Fix performance regression of files view DB selects
- X-Sendfile caching infrastructure
ZeyOS 1.00-34 released
A new update of ZeyOS has just been released, including the following changes:
- Enforce no-stock for items of type container/nostock/model via DB triggers
- Show inventory/reservations popup on click of stock columns in inventory overview
- Hide transactions tab in message details for nostock types
- Add move to junk option in message details
ZeyOS 1.00-31 released
A new update of ZeyOS has just been released, including the following changes (extracted from tasks):
- No public option for users
- Integrate enhancements into administration
- Add creator and creationdate to files (all entities now have creator/creationdate)
- Make bulk actions transactional
- Track page views with Google Analytics
- Track actions with Google Analytics
- Track page timing with Google Analytics
- Track exceptions with Google Analytics
- Added model field to items
- Added model type to items
- Add variants tab to item details for type model
- Discard Confirmation on Exit after Modification of Transactions
- Serial number integrity check (in/out sequence)
- Move serials DB table to array field in stock transactions
- Enforce serial number integrity via DB triggers
ZeyOS 1.00-30 released
A new update of ZeyOS has just been released, including the following changes (extracted from tasks):
- New search and filter UI component
- Summary view in Billing/Procurement
- Add status to dunning notices
- Add overpaid status to transactions
- Draggable transaction order in dunning details
- Change Enddate on Startdate Change
- Create Appointment Shortcut in Appointments Overview
- Attendees filter in appointments overview
- Move directly to Junk option in messages
- Remove self (session) from read by in messages
- Added suppliers field to items lists
- Catch catchable server exception without page reload
- Renamed pricelists2items to prices in DB schema
- Renamed associates to associations in DB schema
ZeyOS 1.00-17 released
A new update of ZeyOS has just been released, including the following changes (extracted from tasks):
- Image Viewer for Records/Attachments (slideshow)
- Item package set logic
- Resample/resize record images
- ETag support for men
- ETag support for inline binfiles
- Serve binfile content directly without re-compression
ZeyOS 1.00-14 released
A new update of ZeyOS has just been released, including the following changes (extracted from tasks):
- RSS Integration with Feed-Server
- Files view in Mindlog
- Atom-Support for checkfeed
- Handle embedded XHTML markup in atom feeds
- Use cookie based persistent login token for "Remember Me"
- Hash access tokens for storage in DB
ZeyOS 1.00-12 released
A new update of ZeyOS has just been released, including the following changes (extracted from tasks):
- Search and Filter Section in Mindlog
- Generalized option to leap to subsequent step for all transactions (< credit)
- Default to amount one on multiple selection in add item
- Removed max width limit from dashboard
- Move primary currencies to front of currency selection field
- Autoresize date picker (adjust to input field)
ZeyOS 1.00-11 released
A new update of ZeyOS has just been released, including the following changes (extracted from tasks):
- Scan option in items view
- Option to leap to subsequent invoicing step when delivery booking
- Component view in application details grouped by type
- Auto-save after connection verification on save (dav/mailserver details)
- Allow internal scripting in embedded content iframe (replace sandbox with custom algo)
- Mindlog record post via CTRL and Enter
- strg + click -> open in new tab
ZeyOS 1.00-09 released
A new update of ZeyOS has just been released, including the following changes (extracted from tasks):
- Create Price List Shortcut in Price Lists Overview
- Create Storage Shortcut in Storages Overview
- Create Item Shortcut in Inventory Overview
- Inline status editing in notes table overview
- Zymba function for debug log in ZeyOS
ZeyOS 1.00-08 released
A new update of ZeyOS has just been released, including the following changes (extracted from tasks):
- Realtime DAV synchronization when saving in details view
- Option to change ownership on record edit
- Create Group Shortcut Button in User Mgmt. Overview
- Create Note Shortcut Button in Notes Overview
- Create Project Shortcut in Projects Overview
- Added move option to message details
- Added mailbox to message details header
- ZIP-/Batch-Download mehrerer/aller Dateien/Anhänge eines Objektes (z.B. Notizen).
- New system settings database tabview
- Normalize DAV URLs
- Global JavaScript Packaging
- Updated sabre vobject lib
ZeyOS 1.00-06 released
A new update of ZeyOS has just been released, including the following changes (extracted from tasks):
- DAV Server field in detail views
- Swipe for side bar on mobile/tablet
- Optimized page layout for tablet devices (single fixed viewport)
- Show all elements and select text on focus of hybrid select boxes
- Made davservers.type non-updateable through constraint trigger
- Derived Permissions Popup in User Details
- Unlogged and removed "ID" from tokens table (no longer an entity)
- Schema Documentation Link in System Settings > Database