Skip to Content
✨ v2.0.3 Released - See the release notes
DocsChangelogs

Release notes

2.0.3 (2026-10-04)

  • Phone OTP Direct Login & Password Reset Flow (@airoom/nextmin-node):
    • Direct Login via Phone OTP (POST /auth/login-otp): Added passwordless login using phone number and one-time password (OTP). Authenticates against otpStore, normalizes the user role, issues a 7-day JWT, and emits auth:login.
    • Complete OTP-Based Password Reset:
      • POST /auth/forgot-password: Generates a secure 6-digit OTP, stores it in otpStore under reset:${phone}, and emits an auth:otp:send event with { phone, otp, type: 'forgot_password' }.
      • POST /auth/reset-password: Validates the OTP against otpStore, validates minimum password length (8+ chars), hashes the new password with bcrypt + jwtSecret, and updates the user record.
  • Extended User Schema Hygiene (@airoom/nextmin-node):
    • stripInheritedIfNoBase Response Sanitization: Automatically strips inherited base User fields (username, password, email, etc.) from API responses (GET /:model/:id, GET /:model, POST /:model, PUT /:model/:id) when no base account is linked (baseId is null).
    • Intelligent Base User Creation: Skips creating empty base user accounts during child record creation unless meaningful user fields are explicitly provided.
  • Storage & Image Enhancements (@airoom/nextmin-node):
    • Resized Image Disk Cache: Added persistent on-disk image transform caching (.nextmin/cache/resized/...) with MD5 hashing of keys and dimensions.
    • Graceful Image Fallback: Missing image requests on /files/:key(*) return a clean SVG placeholder (FALLBACK_SVG) with HTTP 200 instead of 404 broken image links.
    • UTF-8 Filename Decoding: Added fixUtf8Filename to repair Multer’s default Latin1/ISO-8859-1 decoding for international and non-ASCII file names.
    • S3/R2 Metadata Sanitization: Sanitizes custom metadata by stripping non-ASCII characters to prevent S3 HTTP header validation errors.
    • Unicode Slugification & Duplicate Protection: Enhanced slugify to support Unicode characters (\p{L}\p{N}\p{M}) and returns HTTP 409 Conflict (FILE_EXISTS) if a file with the same name already exists in storage.
  • Direct Database Schema Indexing for AI RAG (@airoom/nextmin-node):
    • Schema DB Indexing: Added indexDatabaseSchemas() to IndexingService allowing direct extraction and vector indexing of database collections (whitelabelSchemas) without requiring page scraping.
    • Configurable OpenAI Model: Supported OPENAI_MODEL environment variable (defaults to gpt-5.6-luna).
  • Dynamic Theming System (@airoom/nextmin-react):
    • Configurable Theme Engine: Centralized dashboard styling via nextmin-theme.ts / nextmin-theme.js or the <NextMinProvider theme={...}> prop.
    • Automated Color Conversion: Automatically transforms hex color codes (primaryColor) into HSL CSS variables (--heroui-primary, etc.) for seamless HeroUI integration.
    • Custom Dimensions & Positions: Controls for sidebarWidth, sidebarPosition (left or right), inputHeight, inputRadius, topNavHeight, and full color palettes.
  • Data Table Multi-Select & Bulk Actions (@airoom/nextmin-react):
    • Row Checkboxes & Sticky Toolbar: Support for selecting multiple records with a floating counter toolbar.
    • Bulk Deletion: Confirmation dialog (ConfirmDialog) for deleting multiple records simultaneously.
    • Click Propagation Isolation: Cell clicks and copy buttons are isolated (stopRowSelectionProps) to prevent unwanted row toggling.
    • Protected System Rows: Protected rows (isSystemRowItem) disable delete and edit actions.
  • Schema Custom Actions & QR Code Generator (@airoom/nextmin-react):
    • Custom Row Actions: Support for customActions array in model schemas.
    • Built-in QR Code Generator: Modal supporting dynamic URL templates ({slug}, {id}), live SVG rendering, copy-to-clipboard, SVG download, and high-resolution PNG (1024px) download.
  • Rich Text Editor Upgrades (@airoom/nextmin-react):
    • Custom Font Size Modal: Dropdown with preset font sizes (12px - 36px) and an interactive modal supporting custom sizes with unit validation (px, rem, em, pt, %).
    • Clean Heading Enter (ClearMarksOnHeaderEnter): Pressing Enter at the end of a heading resets formatting to a clean paragraph.
    • Pasted HTML Sanitizer (transformPastedHTML): Automatically strips Microsoft Word and Outlook metadata and comment artifacts.
  • Dynamic View Drawer (@airoom/nextmin-react):
    • Full Record Hydration: Automatically fetches complete document records via api.get(model, id) with a loading spinner to display fields omitted from table views.
    • Enhanced Image Detection: Auto-detects image fields by schema attribute types, formats, or common naming conventions (avatar, photo, logo, cover, thumbnail).

2026-08-04

  • Dynamic References (refPath) & Attribute Immutability (readOnly):
    • Dynamic Reference Resolution (refPath): Added support for dynamic model references based on string enum fields in the same schema (e.g. subjectId referencing Doctors or Hospitals based on subjectType).
    • Schema Startup Validation & Developer Warnings: Automated validation of refPath configurations on server boot (registerSchemas), logging clear terminal warnings if target fields are missing, non-enum, or contain unregistered model names.
    • Attribute Immutability (readOnly): Enforced read-only attribute protection at the API router level (PUT /:model/:id) and disabled inputs in @airoom/nextmin-react Admin UI forms.
    • Robust Edge-Case & Runtime Safety: Ensured strict enum string validation, graceful fallbacks for unpopulated IDs or partial projections (select), and prevention of uncaught runtime exceptions.

2026-08-01

  • Dynamic Image Resizing & WebP Default:
    • Dynamic Image Proxying: Added support for width (w), height (h), quality (q), and format (fmt) query parameters to the /files/:key(*) endpoint (powered by sharp).
    • Default WebP Format: All proxied images now default to being converted and served as optimized image/webp for maximum speed and minimal bandwidth.
    • Clean Original Filenames: Preserved original slugified filenames during uploads without appending random hash strings.
    • Duplicate File Prevention: Added storage existence checks before uploading files, returning HTTP 409 Conflict (FILE_EXISTS) if a file with the same name already exists in storage.
  • High-Performance Query Cache & Relational Auto-Indexing:
    • Keyv In-Memory/Redis Caching: Integrated query caching into NMAdapter.read() and NMAdapter.count().
    • Collection Version Invalidation: Automatic O(1) version bumping on collection mutations (create, update, delete) to keep cached results 100% fresh.
    • Automatic Indexing: Automatically indexes ref relation fields and frequently filtered/sorted columns (name, title, slug, createdAt) upon schema registration.
  • Client Projection & RefSelect Performance Optimization (@nextmin/react):
    • Select Parameter Projection: Added .select() method to QueryBuilder and select option to api.list() to fetch only essential columns from the database.
    • RefSelect Optimization: Updated <RefSelect> to send select: 'id,_id,name,title', hydrate missing pre-selected labels eagerly via $in query, and deduplicate concurrent client requests.
    • React Spectrum Event Fix: Fixed stopPropagation warnings on listbox search input components inside HeroUI Select dropdowns.

2026-06-25

  • Sequential Role-Based User Management & Permissions:
    • Context-Aware Owner Policy: Enhanced authorize.ts to dynamically evaluate "owner" depending on schema context. Standard users own their own accounts (doc.id === ctx.userId), while administrators own their accounts plus any users they created (doc.createdBy === ctx.userId).
    • Dynamic Owner Query Filters: Configured ownerFilter to return { or: [{ id: ctx.userId }, { createdBy: ctx.userId }] } for admins listing users, enabling them to see and manage only their own accounts and users they created.
    • Asynchronous Restriction Validation: Migrated enforceRestrictions to be asynchronous, utilizing routerCtx.normalizeRoleName to resolve database role ObjectIds to literal string roles before validating forbidden values.
    • Deep Schema Access Merging: Refactored the SchemaLoader schema merging logic to perform deep merges on the access block (including public, authenticated, roles, queryFilter, createDefaults, restrictions, and bypassPrivacy). This guarantees local custom schemas do not accidentally overwrite default security policies.
    • Admin Creation Escalation Guard: Restructured the user signup and CRUD creation flows to prevent standard admins or public registrants from assigning administrative roles (admin or superadmin) to new users.
    • Schema-Driven Current User Visibility: Removed hardcoded in-memory user filtering from list endpoints, allowing the schema’s queryFilter configuration to dictate when the current user is hidden. As a result, superadmins can now see themselves in the admin panel user table.
    • React 19 key Prop Warning Fixes: Corrected key spreads inside DataTableHero pagination item render loops to prevent deprecation warnings in React 19.

2026-06-24

  • OTP Verification & Phone Authentication:
    • Phone OTP Verification: Added new POST /auth/users/send-otp endpoint, generating 6-digit numeric OTPs stored in a TTL-based key-value store (5-minute expiration) and emitting auth:otp:send events for SMS gateway triggers.
    • Verification Gate (phoneVerification): Added support for the phoneVerification boolean schema flag. When enabled on the Users schema or dynamically overridden at the role level, registration requires a valid OTP mapping to the supplied phone number.
    • OTP Bypass: Requests containing the trusted API key or initiated by authenticated administrators automatically bypass OTP verification for server-to-server signups.
    • Phone Logins (authServices): Added support for logging in via phone numbers. The POST /auth/users/login endpoint automatically parses and routes logins using email, username, or phone depending on configured authServices in the schema.
    • Phone-Based Reset: Enhanced the forgot-password handler to lookup accounts and deliver instructions via email or phone.
  • AI Chatbot & Local Offline LLM Integration (@nextmin/chat):
    • Zero-Dependency React Chat Widget: Launched @nextmin/chat, a beautiful floating chat interface for React/Next.js featuring multi-session threads in localStorage, cross-tab synchronization, absolute URL resolution, and rich markdown parsing with copy-code buttons.
    • In-Process Local LLM (node-llama-cpp): Added support for in-process GGUF LLM execution using node-llama-cpp to host local Gemma/Llama models offline, eliminating API dependencies.
    • Offline RAG & Local Search: Implemented a local TF-IDF document crawler and search engine on scraped static pages with smart paragraph-based chunking and path boosting.
    • Context-Aware Sequence Caching: Caches active LlamaChatSession sequences to avoid reloading multi-gigabyte models into RAM on subsequent prompts.
    • OpenAI Responses & File Search Sync: Integrated OpenAIService to synchronize scraped local content to OpenAI Vector Stores, using Responses API streams with automatic thread session restoration and rate-limiting retry buffers.
    • Incremental Scraping & CLI: Added npx @airoom/nextmin-node reindex command-line crawler with MD5 hash manifest checks to perform fast incremental site indexing and prune deleted pages automatically.
  • Rich Text Editor Enhancements:
    • Bangla & Standard Fonts Selector: Added a font-family dropdown directly in the Tiptap editor toolbar, supporting Bengali fonts (Hind Siliguri, Kalpurush, SolaimanLipi, etc.) and standard sans/serif/monospace choices.
    • Expanded Heading Styles: Exposed controls for H3, H4, H5, and H6 heading elements inside the toolbar for advanced document structuring.
  • SSR Optimization & Batch API:
    • Atomic Multi-Query Batching (POST /_batch): Added a batched query endpoint to combine multiple separate resource requests (e.g. lists, pagination, sample counts) into a single server round-trip, optimizing server-side rendering performance.

2026-06-23

  • Production-Grade Multi-Role Auth Update:
    • Registration Whitelisting: Added publicRegisterFields option to the Users schema, restricting registration inputs to prevent privilege escalation (e.g. users attempting to submit admin status directly).
    • Role-Name to Database ID Resolution: The signup routes now support string-based role names (e.g., role: "agent") in the request payload and resolve them automatically to relational IDs.
    • Admin-Only Role Assignment Protection: Enforced role restriction rules to reject administrative role assignments (e.g. admin/superadmin) on public signup endpoints unless requested by an authenticated administrator.
    • Role-Conditional Onboarding Statuses: Added roleDefaultStatuses schema configuration, mapping individual user roles to conditional default statuses (e.g., buyers register as active immediately, developers/agents default to pending awaiting verification).
    • Auth Lifecycle Events: Registration and login endpoints now emit auth:signup and auth:login events on the central event emitter.
  • AI Chat Integrations & Chatbot Improvements (@nextmin/chat):
    • Dynamic Input Placeholders: Chat widget placeholders can now be loaded dynamically from backend configuration settings.
    • Multi-Line Input Support: Improved standard input to support multi-line messaging using Shift+Enter.
    • Message Context Thread Limiting: Guarded Workers AI/LLM limits and token footprint by enforcing thread message limit options (maxMessagesPerThread) to discard stale context messages.

2026-05-11

  • Dynamic Aggregate Counters via Selection:
    • model[count] Syntax: Introduced a powerful, zero-config way to request related-item counts directly in the select parameter (e.g., select: "name,doctor[count]").
    • Auto-Discovery: The backend now automatically identifies inverse relationships and calculates counts in a single optimized batch, returning them as flattened fields (e.g., doctorCount).
    • Accurate Array Counting: Enhanced the MongoDB adapter with $unwind aggregation logic to ensure 100% accurate counts when relationships are stored as arrays.
  • Timestamp Lifecycle Fixes:
    • Forced updatedAt Refresh: Resolved a critical issue where updatedAt timestamps remained stale during partial updates in NMAdapter. Every modification now correctly triggers a timestamp refresh.
    • oldDoc Event Context: Updated the BaseModel update lifecycle to include the original document state (oldDoc) in BEFORE_UPDATE and AFTER_UPDATE events, enabling complex delta-based business logic.
  • Image URL Proxying & Transformation:
    • On-the-fly URL Transformation: The backend can now automatically rewrite storage URLs (S3/R2) to a local proxy path (e.g., /images) in all API responses.
    • Backend File Proxy: Introduced a new GET /rest/files/:key(*) endpoint that streams files directly from storage, allowing you to serve assets through your primary domain for better SEO.
    • Zero-Config Env Support: Automatically detects S3 base URLs and configures the proxy using the FRONTEND_URL environment variable.

2026-04-11

  • “Perfect SSR” Backend Optimizations:
    • Atomic Multi-Model Batching: Introduced POST /_batch to fetch multiple collections (hospitals, districts, etc.) in a single network request, eliminating API waterfalls on the server.
    • Batched Grouped Counts (countBy): Added ?countBy=field parameter to list endpoints. Ideal for fetching counts for multiple entities (e.g., “Number of Doctors per Hospital”) in one call.
    • Selective Deep-Population: Enhanced relationship hydration to support sub-field projection (e.g., populate=hospital:name,logo), significantly reducing JSON payload sizes for SSR.
    • Server-Side Random Sampling: Added native ?sample=N support for all databases (using $sample for Mongo and RANDOM()/RAND() for SQL), perfect for “Random Featured Doctors” sections.
  • Advanced Schema Intelligence:
    • Virtual Count Fields: Added type: "virtual" support to schemas, allowing automated inverse-relationship counts (e.g., doctorCount on a Hospital) without manual query logic.
    • Real-Time Aggregated Summaries: Introduced the aggregates schema property. The backend now automatically maintains denoised counters (e.g., totalReviews) on parent documents by listening to child lifecycle events.
  • Architecture & DX:
    • Universal ID Coercion: Improved NMAdapter to automatically handle type-safe ID matching across string/numeric boundaries in SQL dialects.
    • TypeScript Definitions: Expanded ParsedQuery and ReadOptions interfaces to support new optimization parameters.

2026-02-23

  • Performance & Caching Architecture:
    • QueryCache System: Introduced a unified caching layer via keyv (with out-of-the-box Redis support) to cache NMAdapter.read and count operations, dropping recurring API latencies from >1s down to <100ms.
    • Auto-Invalidation: Write operations (create, update, delete) now automatically invalidate the cache namespace for the affected collection and its parent schemas.
    • Virtual Field Bypass: Radically optimized sorting and filtering for extended schemas. Queries sorting by createdAt or updatedAt now execute natively on the child collection table, bypassing costly base-collection memory loads.
    • Schema Extension Consistency: Fixed critical routing bugs where explicitly overridden fields in extended schemas (like profilePicture in a Doctor extending User) were previously discarded or incorrectly merged into the base entity during creations and updates.
    • Resilient Default Sorting: List APIs and the internal Query Engine now gracefully cascade default sorts (createdAt DESC -> _id DESC -> id DESC), ensuring chronological consistency even if a schema lacks a formal createdAt timestamp.
    • SQLite Architecture: Resolved a deep-level TypeORM compatibility flaw by universally mapping MongoDB ObjectId references to varchar under the SQLite dialect, ensuring seamless local development.
    • Includes Search Operator: Expanded the Cross-Model Search API and generic query parses to explicitly support searchType=includes, activating LIKE %term% partial string searches across all indexed fields.
  • @airoom/nextmin-react: Admin Panel & Datatables:
    • JSON Summarizer Sanitization: Hardened the jsonSummary extraction logic in DynamicViewer. It now aggressively filters out stray MongoDB ObjectIDs, Amazon S3 Image URLs, and massive comma-separated arrays to prevent them from leaking into the viewer UI as “supporting text”.
    • Custom DataTable Actions: Developers can now seamlessly inject custom localized Action Buttons horizontally into specific rows of the <DataTableHero> to trigger external modals, side-effects, or navigation hooks distinct to that document.
    • Role-Based Passwords: The internal user-creation logic now actively monitors selected roles in the UI, conditionally requiring or entirely hiding the password inputs depending on whether the targeted role necessitates explicit credential generation.

2026-01-30

  • Advanced Search & Query Engine:
    • $nestedSearch: Efficiently search across referenced collections in standard CRUD list queries.
    • Regex Operators: Added support for prefix (^) and postfix ($) matching in both standard and nested searches.
    • Automatic Global Search: The q parameter now automatically indexes array, json, and object fields for a truly “search everything” experience.
  • Database Maintenance:
    • Cleanup Utility: Automated identification and removal of unused fields (MongoDB) or columns (SQL) that are no longer present in schemas. Includes a safe confirmation flow in the Admin UI.
    • Unified NMAdapter: Enhanced the primary adapter to handle maintenance tasks across all supported database dialects.
  • @airoom/nextmin-react: Enhanced Forms & Views:
    • Recursive JSON Groups: SchemaForm now supports infinite nesting of json-group fields with full support for references, dates, and other complex types at any level.
    • Rich Text Rendering: DynamicViewer now features secure HTML sanitization and professional prose styling for rich text content.
    • Validation Sync: Schema constraints like minLength, maxLength, and pattern are now automatically propagated and enforced by the UI components.
  • Architecture Evolution:
    • Adapter Deprecations: Formally deprecated MongoAdapter and InMemoryAdapter in favor of the universal NMAdapter (TypeORM).
    • Socket Refresh: Unified SchemaService into the more robust RealtimeService for live updates.

2026-01-22

  • Unified Event Architecture: Transitioned to a granular, namespaced event system.
    • Model-Specific Events: Backend now emits events like posts:created, users:updated, allowing for precise business logic hooks.
    • Refined Socket IO: Streamlined broadcasting of model-specific events via Socket.io.
  • @airoom/nextmin-react: Performance & Hook Improvements
    • Dynamic useRealtime: Updated the hook to automatically capture any backend event via onAny, eliminating the need for hardcoded event lists.
    • Granular Dashboard Reloads: Optimized the dashboard to only refresh individual cards affected by an event, significantly reducing API overhead.
  • @airoom/nextmin-node: Developer Experience
    • Logger Development Mode: Internal logs (info, warn, error) are now strictly hidden in production mode and improved stack-trace formatting for dev mode.
    • Internal Event Helpers: Added getModelEvent helper to standardize event names across the package.

2026-01-21

  • NextMin Re-architecture: Event-Driven & Multi-Database Support

    • New Database Engine: Added NMAdapter supporting SQLite, PostgreSQL, MySQL, MariaDB, and MongoDB.
    • Universal Event System: Integrated a central EventEmitter for global and model-specific hooks (before:doc:create, after:doc:create, etc.).
    • Adapter-Agnostic QueryEngine: Refactored filtering logic to return standardized Intermediate Representation (IR), ensuring full backward compatibility with MongoAdapter.
    • Real-time Client/Server: Replaced legacy sync with a robust Socket.io-based RealtimeService and RealtimeClient.
    • Unified Auth/Session: Implementation of AuthClient for consistent session handling across the React ecosystem.
    • Fluent Query Builder: Added QueryBuilder for easy construction of complex filters on the frontend.
    • Unit Testing Suite: Established a formal testing infrastructure using Vitest with 15+ core tests.
  • @airoom/nextmin-node: Robust Policy Lookups & Auth Improvements

    • Dot-notation Support: Enhanced policy lookup logic to correctly resolve dot-notated role keys (e.g., roles.admin) within the schema’s access policy.
    • Auth Response Enrichment: Added roleName to the user object in /login and /me responses, simplifying role identification on the frontend.
  • @airoom/nextmin-react: Improved Admin Experience

    • SchemaForm Robustness: Updated privacy bypass logic to use roleName and case-insensitive role comparisons.
    • Fixed Admin Password Field: Resolved an issue where the password field was hidden for admin users during account creation due to role name/ID mismatches.

2025-12-28

  • @airoom/nextmin-react: Schema-driven Auto Slug Generation
    • Auto-populate: Introduced populateSlugFrom attribute to automatically generate slugs from other fields (e.g., populateSlugFrom: "title" or populateSlugFrom: "firstName,lastName").
    • Unique Slugs: Built-in uniqueness handling that appends auto-incrementing suffixes (e.g., -1, -2) scoped to the model.
    • Extended Schema Support: Can generate slugs using fields inherited from base schemas.
    • Smart Validation: Automatically marks slug fields as required.
  • @airoom/nextmin-react: Reference Select Improvements
    • RefMultiSelect: Added alphabetical sorting for options.
    • RefSingleSelect:
      • Added search functionality with clear button.
      • Added alphabetical sorting for options to match multi-select behavior.
      • Improved state management for better data loading and syncing.

2025-12-19

  • @airoom/nextmin-node: SEO Meta Fields Auto-injection
    • Auto-injection: Automatically injects meta field (title, description, keywords, jsonLd) for any schema with schemaType: "page".
  • @airoom/nextmin-react: UI improvements
    • Textarea Support: Added support for format: "textarea" within json-group fields.
    • Numbered Groups: Repeated json-group items now show numbered headers (e.g., “Chamber 1”) for better readability.
    • Dependency Update: Updated @heroui/react to latest version.

2025-12-10

  • @airoom/nextmin-react: Advanced Rich Text & Layouts
    • Layout Support: Added 2-column and 3-column layout blocks to the editor.
    • Image Improvements:
      • Added floating menu for images with alignment and size controls.
      • Support for object-fit (Cover, Contain, Fill) settings.
      • Improved image resizing experience.
    • Grid System: New Grid extension for complex layouts.
  • @airoom/nextmin-node: Local File Storage
    • Introduced LocalFileStorageAdapter for storing uploaded files on the local filesystem.
    • Useful for development environments or simple deployments without S3.

2025-12-08

  • @airoom/nextmin-react: Rich Text Editor Support
    • Added full support for rich text editing in SchemaForm.
    • New rich: true attribute option for string fields.
    • Implemented using Tiptap with custom HeroUI styling.
    • Slash Command System: Type / to embed other schema data dynamically.
    • Schema Embedding: Supports embedding data as Tables, Grids, or Lists directly in the editor.

2025-11-25

  • @airoom/nextmin-react: Added View Drawer with schema-driven DynamicViewer
    • New View (eye) icon in list tables opens a right-side Drawer to display row details.
    • Introduced useViewDrawer hook and DynamicViewer component for reusable viewing.
    • Drawer width increased to ~50% of viewport on desktop (full width on mobile).
  • @airoom/nextmin-react: Privacy and readability improvements
    • Hides technical keys (id, _id, v, __v, baseId, exId, __childId).
    • Masks password/secret-like fields generically (by key patterns and schema type/format) — never rendered.
    • For models that extend a base, if baseId is hydrated, its fields are merged into the view (the link field is hidden).
  • @airoom/nextmin-react: Generic JSON summarizer
    • New jsonSummary.ts converts arrays/objects (including JSON stored as strings) into concise, human-friendly strings.
    • Integrated into table cells and the viewer for consistent display.
  • Docs
    • Added a new page: Viewer (Drawer) explaining behavior and API.
    • Updated @airoom/nextmin-react overview with a link to the viewer docs.

2025-10-16

  • @airoom/nextmin-node: Added cross-model Search API (POST /search)
    • Search across multiple models by text with per-model select and limit. Results grouped by model and masked by policy.
    • See docs: /docs/nextmin-node/search
  • @airoom/nextmin-node: Added file upload APIs
    • POST /file (API key) for server-to-server uploads.
    • POST /files (auth) for authenticated user uploads.
    • DELETE /files/:key to delete an uploaded file by key.
  • @airoom/nextmin-node: Query and sorting improvements
    • New parseSort supports +field/-field, multi-field sorts, and only applies a default when none provided.
    • parseQuery supports fields projection (?fields=a,b), page/limit, and returns a skip value.
    • Introduced virtual sort keys (createdAt, updatedAt, id, _id).
    • Added buildPredicateForField to build robust filters for string/number/boolean/date/objectId and arrays.
  • @airoom/nextmin-react: FileUploader revamped
    • Supports multiple files, progress, cancel/delete, preview, and validation (maxFilesCount, maxFileSize, fileTypes).
    • Configurable endpoint and auth headers; maps server response to value.
  • @airoom/nextmin-react: SchemaForm improvements
    • Better date/time/range handling (withTime), masked number input, and address autocomplete pairing (address -> latLng).
  • Docs: Updated schema examples to include file fields, repeatable JSON groups, and ref page size.

2025-10-09

  • Updated the multiple select with the select values
  • Updated both single and multi select with virtualization
  • Added the fields errors to the create or edit page

2025-10-05

  • Resolved extended schema id issue. it won’t overlap the child id or _id.

2025-10-02

  • Updated schema extending process.
  • Optimized the db adapters for optimizing the db loads.

2025-09-27

  • Added schema extending process that any schema can extend any other schema but @airoom/nextmin-node will optimize the db tables/docs

2025-09-25

Earlier updates

  • Updated settings page
  • Updated auth error
  • Creating example for the public viewers
  • Currently supports mongodb only
Last updated on