We're excited to announce the release of nuBuilder 4.6, packed with new features, improvements, and fixes!
Highlights:
- Sessions Management: Terminate sessions (all, all except own, single)
- User Enhancements: First Name & Last Name fields added
- Better Formatting: Set default formats for nuNumber, nuDate. Preview format
- JS Additions: New functions like nuGetSelectedTabId(), nuIsPopup() etc.
- Improved Error Handling: Better handling when a session expires
- Updated Components: Bootstrap 5.3.3, TinyMCE 7.7.0, phpMyAdmin 5.2.2, Font Awesome 6.7.2, and more!
- Backup: Advanced dump settings (user records only, zzzzsys-tables only etc.)
- nuDebug: Highlight icon and show error on hover
- Numerous fixes, code enhancements, and performance optimisations.

Added
- Sessions: Terminate (all, all except own session, a single session)
- Button Database -> Sessions Menu
- Users: First Name, Last Name Fields
- Objects: Attribute: "nu-disable-calendar"
- Formats: Set Default for nuNumber, nuDate
- Formats: Preview nuDate format
- Context menu option to temporarily hide Admin buttons
- phpMyAdmin: Languages
- PHP nuGetSysTables()
- JS nuRunReportSave(): Optional fileName parameter
- JS nuIsPopup()
- JS nuGetSelectedTabId()
- JS nuObjectIdIsValid()
- nuDebug: Highlight icon and show error on hover
- PHP nuUser(): Returns false if the user does not exist
- PHP nuAddFormatting(): Convert decimal place value to an integer when formatting numbers
- TinyMCE: Disabled Dark Mode
- Prevent the mobile keyboard from appearing initially
- Sessions: Search functionality fixed
- Browse: Do not process Edit objects
- Browse: Search terms were not highlighted properly
- CSV Transfer issues
- nuMessage(): Close message on touch devices
- Form "Run Procedure": Moved invisible columns to the end
- Improved URL parameter handling in index.php
- CSV Transfer: Deprecation warning for auto_detect_line_endings in PHP 8.1+
- PHP nuEvalSafe(): Initialized $result to prevent "Undefined variable" errors on failure
- PHP nuSetNuDataValue(): Pass $nudata to nuEvalSafe()
- nuEval(): Detect $nuFailIfUnsetHashCookies
- Return $result variable from nuEval()
- Cloner: Clone Browse-Only forms (without tabs)
- Procedure NUTESTEMAIL: Fixed syntax error in callback
- Updating from an older version: Replace nuStringStartsWith() with strpos() in nuDebugCreateOutput()
- Updating from an older version: Unknown column zzzzsys_setup.set_style
- Report: setDate() / setTime() Cast values to int (Uncaught TypeError)
- Users / Password Generator: Copy button, Use Password
- JS nuAbortSave(): Now returns true to trigger an error
- JS nuOnSubformDeleteClick(): Enable only if not readonly
- JS nuCloseAfterSave(): Fixed popup detection—iframes would not close
- Formats: Date formatting
- Formats: Cache computed formats for faster retrieval
- Backup: Pass Dump Settings
- Error handling when session expired
- Init nuUXOptions in nuConfigScript()
- Form Properties -> Custom Code: Show "Launch" if Form Type "Launch"
- Context Menu: Correct left alignment for number inputs
- Users: Browse Form: Account for Expired Filter
- nuMessage(): Improved width on mobile devices
- nuMessage(): Increased close icon size on mobile
- JS nuEvaluateOnLoadEvents(): No longer triggered for Browse forms
- JS nuSetDateValue(): Accept date as string too (yyyy-mm-dd)
- nu-Forms: Breadcrumb title no longer includes the previous Browse form
- Calendar: Always displayed on top
- nubuilder4.css: .nuAdminButtonUsed
- JS nuIsVisible(): Now checks if id is not empty
- JS nuSelectNextTab()
- JS nuInitJSOptions(): Merge defaults with existing properties
- PHP nuAddToHashList()
- Various code optimisations
- Mobile View
- TCPDF → v6.8.2
- TinyMCE → v7.7.0
- ctxmenu.js → v2.0.2
- Tiny File Manager → v2025-02-23
- phpMyAdmin → v5.2.2 (with PHP 8.4.2 support)
- ApexCharts → v4.5.0
- PHPMailer → v6.9.2
- Uppy → v4.13.3
- Bootstrap → v5.3.3
- ACE → v1.39.0
- Font Awesome → v6.7.2
- Font "Noto Sans" → v38
- Updated translations (Added weekdays etc.)
- Replaced deprecated jQuery methods
- Updated Form (update.htm)
- JS nuAttachSaveButtonTo()
- JS nuGetProperty()
- JS nuRecordId()
- JS nuStartsWith()
- JS nuEndsWith()
- JS nuSubformAddFilter()
- PHP nuHasProperty()