Release Notes#
Current Release#
Version 26.04 — May 2026#
Core Improvements
Instant NuRec: Added a new
instant_nurecconfig that allows for faster NuRec training and higher quality output. Generate gaussians with Instant NuRec for input to NuRec to optimize for training speed and quality.Harmonizer: Released Harmonizer, an online diffusion enhancer that improves temporal consistency, appearance harmonization, artifact correction, and lighting realism on neural-reconstruction renderings. Pretrained checkpoints are on Hugging Face (
nvidia/Harmonizer). See Use Harmonizer for Post-Processing.GSplat Renderer — Lidar Rendering:
GSplatRenderernow supports lidar rendering, including direct use of gsplat’s own lidar preprocessing and removal of legacy transpose workarounds. Adds antialiased camera mode by default,saturate_radiancesupport, and sensor-type-specific output configs.GSplat Training Recipes: New
car2sim_gsplatandcar2sim_6cam_gsplatconfig YAMLs, plus an end-to-end Waymo-on-gsplat training recipe.Unified gRPC Renderer Selection: New
--rendererflag on the gRPC server selects the rendering backend (defaultfor the artifact’s trained renderer,gsplatto forceGSplatRenderer, ornrendfor the fast C++/CUDA JIT). The legacy--enable-nrendand--use-gsplatflags are deprecated and emit aDeprecationWarningwhen used.Lidarfree — Colored Ground-Mesh Init: Lidarfree now initializes the road layer from a colored ground mesh, with sparsity compensation, optional random road points, and a clearer projection-type config to disambiguate from the new NRM projection.
Lidarfree — Traffic Light Layer: Traffic light layer is now enabled in lidarfree mode.
Stateless Track Edits: Track edits applied via the gRPC API and
rendercommand are now stateless, simplifying composition with other edits and avoiding cross-request leakage.Demo Transform in Lidar Render:
render_lidarrequests now apply the demo actor transform consistently with camera rendering.Per-Step Validation Render Directories: New
separate_val_dir_per_stepconfig prevents validation renders from being overwritten across training steps.Direct S3 Reading:
nvs_ncoreandaux_gencan now read scenes / data directly from S3 paths without an intermediate download step.NCore Upgrade: Adopts NCore’s native time-restriction API, exposes
cuboid_loading_max_workers(defaulting to serial in V3 to avoid contention), adds caching for loaders and sensors, and enhances cuboid data-processing options.
Bug Fixes
Static Rigids Rainbow Artifacts: Reduced rainbow artifacts that appeared on
static_rigidslayers.NCore Pose Dtypes: Fixed pose dtypes and made
world_globaloptional in NCore loading; extended batch tests.Frame Transform Pose Dtype: Preserved
T_posesdtype inframe_transform_poseto avoid silent precision loss.Static Tracks Failure: Fixed an initialization failure path for static tracks.
Lidarfree on NCore V4: Removed the hard requirement of a lidar sensor for lidarfree training when migrating to NCore V4.
USD Export Track Filtering: Refined track filtering and logging during USD export.
Celsius Output Range: Fixed the celsius output range in temperature post-processing.
gRPC Lidar Rendering Without Lidar: Returns a clear error message when an artifact has no lidar sensor; up to one lidar sensor is now supported (zero allowed).
Past Releases#
Version 26.03 — April 2026
Core Improvements
gRPC Local Scene Registration: The
x-nre-scene-urlheader now accepts local file URIs for on-the-fly scene registration. When a local path is provided, the scene is registered directly without downloading, and local scene artifacts are preserved across requests.Aux Gen Per-Camera Ego Mask: Auxiliary data generation now supports per-camera ego mask generation, enabling more granular control over ego vehicle masking across camera setups.
Bug Fixes
gRPC Asset Editing: Fixed multiple issues with asset editing via the gRPC API: local PLY file paths are now supported for asset insertion; asset insertion gating and state restoration are handled correctly; partial asset edits are now rolled back on replace or insert failure; and edit asset replacement handling is fixed.
LiDAR Rendering Quality: Fixed a regression where Gaussians smaller than the dense tile size were incorrectly culled during LiDAR rendering, causing a 2x artificial training speedup and minor quality drop. Rendering now behaves consistently with pre-regression behavior while retaining all prior bug fixes.
Dynamic Object Classification: Fixed a bug where vehicles behind the ego vehicle were misclassified as static when no camera-visible intervals existed for those tracks. The classifier now falls back to full track poses in that case.
Asset Harvester FOV: Fixed an incorrect field-of-view calculation in Asset Harvester object view extraction.
Version 26.02 — March 2026
Core Improvements
Visibility guided MCMC losses: Added a visibility mask for Gaussians to improve scaling for MCMC-related scale and density losses. This particularly improves highway and large-extent scenes when using the MCMC strategy.
Asset Harvester Model Update: Upgraded base Asset Harvester models to newer versions.
Asset Harvester Pipeline Integration: New models in the pipeline: Sana Multiview Diffusion, TokenGS 3D lifting, and enhanced Mask2Former (more object classes).
gRPC get_server_config: New
get_server_configendpoint returns current server configuration as a string key-value map for detecting defaults or parameter mismatches.gRPC Batch RGB Rendering: New
batch_render_rgbendpoint to render multiple cameras in one request (common setup once, then sequential per-camera render; helper ready for future parallelization). New protobuf messages: BatchRGBRenderRequest, BatchRGBRenderReturn and item types; per-camera error handling.gRPC Error Handling: Structured gRPC error codes and descriptive messages.
Forward Rendering: Rendering by any means, including the
rendercommand and the gRPC API, now supports on-demand upgrades to an asset’s checkpoint and config, so a separate upgrade step is not required. This is supported by more robust backwards-compatibility testing.
Bug Fixes
GaussiansRenderReturn IndexError: Added scene-level fields to GaussiansRenderReturn to avoid IndexError for non-ray based data (e.g. LiDAR visibility mask).
Asset Harvester Timestamp Mismatch: Fixed timestamp mismatch assertion in asset harvester.
Version 26.01 — January 2026
Core Improvements
Static Rigids Layer: Added static_rigids layer to include static cuboids in scene reconstruction.
Background Gaussian Loss: Modified loss function to only penalize gaussians with dynamic labels in background during track gaussian loss computation.
Camera Visibility Check: Added optional camera visibility check during dynamic tracks classification to filter tracks based on camera field of view.
Track Classification Refinement: Improved track classification code with renamed config options, validation assertions, and code cleanup.
NRE-Tools Reorganization: Refactored project structure by moving nre-tools applications (asset_harvester, aux_gen, avmask_annotator) from internal/scripts/ to new top-level apps/ directory.
Bug Fixes
Forward Rendering Issue: Fixed missing key exception when accessing layer_labels_to_use config key that doesn’t exist in previous milestone configs, now using config.get() for safe access.
Configuration Upgrade Function Version: Fixed incorrect version number on the upgrade function for background extra state configuration.
Asset Harvesting Training: Updated base config for AH training and fixed hard type checking issues for layer data.
Track ID Flickering: Fixed flickering issues by using original cuboid track IDs in get_layer_data for SHGaussianModel, RigidGaussianModel, DeformableGaussianModel, and DeformableRigidAssetModel.
CUDA Illegal Memory Access: Fixed intermittent CUDA illegal memory access errors during rendering operations.
CUDA Synchronization: Reverted removal of CUDA sync in render_cam and render_lidar to prevent race conditions and ensure rendering stability.
Version 25.11 — December 4, 2025
Major Features and Updates
Configurable Run Binaries: Added configurable run binary and repository paths that are configurable rather than hardcoded, with enhanced robustness of script line replacements and informative warnings for missing or mismatched tasks.
Asset Harvesting Pipeline Harvested Asset Modification: Improved Asset Harvesting pipeline and added support for the modification and inclusion of harvested assets in reconstructions. See [Use Asset Harvester Output in Reconstructions](../../nurec/use-ah-assets) for more details.
Bug Fixes
Bilateral Grid Inference: Fixed RGB tensor contiguity issue to ensure proper functioning of bilateral grid operations by returning RGB as contiguous tensors.
Asset Harvesting RGB2SH Calculation: Removed incorrect rgb2sh conversion from particle radiance calculation during 3D reconstruction, correcting the radiance calculations in the Asset Harvesting workflow.
Render GRPC Asset Editing: Fixed undefined remove set error when not using edit-assets.json in render-grpc, preventing errors in gRPC rendering when asset editing is not used.
Version 25.09 — October 15, 2025
Major Features and Updates
Added OpenCV Pinhole Camera Support to gRPC Service: Full support for OpenCV pinhole cameras in the gRPC service, enabling bidirectional conversion between gRPC protobuf messages and NCore camera model parameters.
New settings to fully disable radiance saturation: Added config option to sky_mlp and sky-envmap background to control radiance saturation behavior.
Multi-GPU checkpoint corrections: Proper handling of checkpoint saving and loading in multi-GPU configurations.
Added `training_step_scaling_factor`: New configuration option for multi-GPU training scaling.
Four new lidar metrics: Added distance mae, medae, recall@50 and intensity mae for lidar validation.
Improved reconstruction quality: Adjustments made to the calibration optimization have led to significant improvements in reconstruction quality.
Enabled `cosmos-fixer` models for Fixer: See [Use Harmonizer for Post-Processing](../../nurec/harmonizer) for more details.
New configuration options: Added new configuration options to the configuration system. See the following sections for more details.
Configuration Upgrades
This release includes comprehensive configuration upgrade support to migrate configs from version 25.05 through 25.09. Use the new run upgrade-config command to automatically upgrade older configuration files.
New Configuration Options:
model.appearance_embedding.* - Appearance embedding configuration
system.training_step_scaling_factor - Multi-GPU training step scaling
background.saturate_radiance - Control radiance saturation in sky models
profiling.params.start_step and profiling.params.num_steps - CUDA profiler control
dataset.generate_traffic_light_cuboid_tracks - Traffic light track generation
dataset.val_lidar_ids and dataset.val_camera_ids - Validation sensor selection
checkpoint.every_n_train_steps - Checkpoint frequency configuration
model.calib.enabled - Camera calibration module toggle
Bug Fixes
Fixed device handling in multi-GPU renderer scenarios: Adjusted bindings to allocate output tensors on the same GPU as inputs.
Corrected error when editing actors is enabled: Fixed gRPC rendering to properly respect the edit_actors flag.
Handle unavailable target version and allow version gaps in config upgrade system: More robust version migration.
Fix nominal resolution aspect ratio in projectio: Proper handling of viewport aspect ratios in Omniverse.
Version 25.08 — August 25, 2025
Major Features and Updates
Multi-GPU (MGPU) support: NuRec can now run on multiple GPUs. However, the quality of the reconstruction plateus at more than 6 GPUs. To learn more about running Multi-GPU reconstructions, see Run on Multi-GPU Systems <../nurec/reconstruct-av-scene.html#run-on-multi-gpu-systems>_.
Rendering enhancements: Added dynamic LiDAR tiling to rendering service, and fixed cuboid tracks.
Asset Harvester (AH) improvements: Added metadata and remote debugging to Asset Harvester, cleaned up 3DGUT configurations, reduced memory requirements, and integrated Asset Harvester with tools.
Temporal appearance: Enhanced temporal appearance for traffic light detection.
Core Improvements
LiDAR enhancements: Added LiDAR processing option to opt-out tiling, added option to include dropped LiDAR rays, refactored LiDAR render API.
Blackwell support: Added support for Blackwell GPUs (CC80 to CC10).
Memory optimization: Reduced background Gaussians due to OOM issues.
Gaussian system improvements: Export Gaussians as octahedra with correct vertex color shapes, and fixed road loss gradient NaN issues.
Robotics support: Added comprehensive robotics support.
Bug Fixes and Minor Updates
Python 3.11 CVE: Fixed CVE for Python 3.11.
Empty rendering: Fixed rendering when there are no parameters.
Assert crashes: Fixed assert(tileOffset == maxTileOffset) crash.
Dropped rays: Fixed dropped rays handling in distributed training.
Compositing: Fixed OV compositing issues.
Quaternion initialization: Fixed quaternion initialization bugs.
NCore: Bumped NCORE to 0.16.8 (fix py310 compatibility).
Sequential dataset: Added support for DataBatch return in NCoreSequentialDataset.
Version 25.07 — July 28, 2025
Version Highlights
PPISP Production Ready - Physically plausible image signal processing now in production
Blackwell GPU Support - Full support for NVIDIA’s latest B100/GB100 architecture
Enhanced Temporal Appearance - Improved handling of dynamic lighting changes
MCMC Memory Cap
Stability enhancements
New Features
PPISP Integration Now Production Ready (NRE-485)
Full production integration of Physically Plausible Image Signal Processing
Supports exposure compensation, vignetting correction, color correction, and camera response functions
Ported to Slang for improved performance
Available for both camera and post-processing pipelines
Missing : nRend integration
Blackwell GPU Support (NRE-1191)
Full support for NVIDIA B100/GB100 GPUs
Optimized CUDA kernels for Blackwell architecture
Support for FP4 precision on new tensor cores
Compatibility from CC80 to CC100
Enhanced Temporal Appearance Changes
Improved handling of traffic lights and vehicle brake lights
Better temporal consistency for dynamic lighting
Reduced flickering in time-varying scenes
MCMC Promoted to Default Strategy
MCMC sampling strategy moved from experimental to default configuration
Improved convergence and quality over previous default
Legacy strategy still available via config override
Bug Fixes
Fixed multi-GPU training crashes - Resolved the ~5% crash rate issue promised in 25.06
Fixed lidar scan direction - Carried over fix from 25.06, now verified
Fixed quaternion initialization - Resolved NaN issues in rotation computations
Fixed road loss gradient NaN - Improved numerical stability
Fixed Bilarf camera resolution bug - Resolved issues with multiple camera resolutions
Fixed MCMC NaN covariance - Improved stability in MCMC sampling
Fixed gRPC linear_cde support - Added missing proto definitions
Fixed calibration issues during rendering - Disabled calibration workaround
Fixed actor pose interpolation - Corrected track pose updates in artifacts
Known Issues
High memory consumption - Progressive Distillation now requires >192GB RAM (increased from 96GB)
Render gRPC limitations - Limited to 25.07 data format, breaks backward compatibility
Multi-GPU edge cases - Still crashes when using dataset.aux_data=false (carried from 25.06)
Night time performance - Limited quality with active light handling (ongoing issue)
PPISP not fully integrated in nRend - Recommended to disable nRend for PPISP workflows
Fixer for Tesla not included - Model integration postponed to 25.08
Version 25.06 — June 30, 2025
Version Highlights
2x speedup
Improved Multi-gpu support
Stability Improvements
MCMC strategy
Bug Fixes
CUDA Illegal memory access caused by exploding gradients during training
Discrepancies in validation, grpc and render.py script
Known issues
High memory (CPU RAM) consumption when using Progressive Distillation (>96GB - we currently recommend 192GB)
Larger reconstructions were previously limited by GPU memory. For 3DGUT we have not yet rerun scenes with more than 1800 frames (previous limit with NERF)
Night Time Performance is limited with active light handling being still an open research problem
Postprocessing with e.g. Bilarf or PPISP is not yet supported in nRend which is why nRend for validation and gRPC rendering is recommended to be turned off for 25.06
Render gRPC is limited to 25.06 data, it fails using 25.05 and previous version data
Multi-GPU training crashes in few scenarios (~5%) - fix known and will be part of 25.07
Multi-GPU training crashes when using dataset.aux_data=false
Bilarf crashes with multiple cameras with different resolution, a work-around is to set: model.post_processing.b.enable_gridsize1_optimization=False