TrueNAS CORE 13.3-BETA1 is Now Available

We are pleased to release TrueNAS CORE 13.3-BETA1!

Early Release Software
Early releases of a major version are intended for testing and feedback purposes only. Do not use early-release software for critical tasks.

This release has software component updates and security fixes that are in the polishing phase.

Notable changes:

  • Due to security vulnerabilities and maintainability issues, the S3 service is deprecated in TrueNAS CORE 13.0 and removed in CORE 13.3 (NAS-127694). Beginning in CORE 13.0-U6, the CORE web interface generates an alert when the deprecated service is either actively running or is enabled to start on boot. Users should migrate to a separately maintained MinIO plugin or otherwise move any production data away from the S3 service storage location before upgrading to a 13.3 pre-release version. See the CORE 13.0 tutorial for detailed migration instructions. See also Feature Deprecations.
  • The web UI Shell is removed in CORE 13.3. Users can continue to access the shell using SSH or a physical system connection with serial cable or other direct method (NAS-124392).
  • The Plugins, Jails, and Virtual Machines features are untested and provided without support to the TrueNAS Community. Users with a critical need to use containers or virtualization solutions in production should migrate to the tested and supported virtualization features available in TrueNAS SCALE. TrueNAS Enterprise customers can contact iXsystems to schedule a TrueNAS SCALE deployment. See CORE to SCALE Migrations for more information.
  • Update SAMBA to version 4.19 (NAS-120600).
  • Update rsync to version 3.2.7 (NAS-124036).
  • Fix macOS Time Machine backup and snapshot issues (NAS-125197 and NAS-125218).
  • Bugfix for zettarepl memory leak (NAS-125338).
  • Allow ampersand (&) character in user email addresses (NAS-125483).
  • SNMP agent bugfix (NAS-125904).
  • Pagination offset and limit improvements for /api/v2.0/certificate (NAS-126080).

See the Release Notes for more details.

Changelog: 13.3 Version Notes | TrueNAS Documentation Hub
Download: Download TrueNAS CORE - Completely Free NAS OS
Documentation: TrueNAS CORE | TrueNAS Documentation Hub

Thanks for using TrueNAS CORE! As always, we appreciate your feedback!


Doesn’t it also include an update to NUT?

EDIT: It does.

1 Like

We synced ports with 2024Q1 upstream.


Is there a reason UI Shell has been removed? I use it at least half the time I connect to the GUI to avoid a separate ssh login. Any insight appreciated.

The reason is because it’s broken. Copy-paste is completely broken.

Although I do sympathize with you, as for basic commands it works really well.

1 Like

So the shell in the jails will also be gone?

Is 13.3 expected to be any more resource-intensive than is 13.0? Trying to figure out whether I should plan on upgrading my parents’ Microserver Gen 8 with 16 GB of RAM (the most it supports), or leaving it on 13.0-U6.1.

Yet not for the green text of “Show Console Messages”. You can copy and paste that with the same finesse as with SCALE’s Shell. So clearly they already have some good code in Core for a “console shell”. :wink:

It also makes you wonder why keep the menu “Display System Processes”, when it uses the same broken display and bugs as “Shell”.

Clearly just using the same shell code as in SCALE would cause an ecological disaster of untold proportions.


I’d stay away from backports. You know … RAM … SWAP … better safe than sorry.

The shell for jails is still available

1 Like

Its expected to stay with same 8GB RAM minimum… so nothing significant.

Did some quick testing in a VM. The SMB performance for edge cases with directories with lots of files is astonishingly improved. This is with a pool compromised of a single NVME drive stripe.

Thanks everyone who made this happen :slight_smile:

Make the files:

@echo off

set "outputFolder=Files"
set "logFile=make_files.log"
set "fileCount=100000"

mkdir "%outputFolder%"

set startTime=%TIME%

for /L %%i in (1,1,%fileCount%) do (
    echo Creating file %%i.txt
    type nul > "%outputFolder%\%%i.txt"

set endTime=%TIME%

echo All files created successfully.

:: Calculate the elapsed time
set startHour=%startTime:~0,2%
set startMin=%startTime:~3,2%
set startSec=%startTime:~6,2%

set endHour=%endTime:~0,2%
set endMin=%endTime:~3,2%
set endSec=%endTime:~6,2%

:: Calculate the elapsed time in seconds
set /A elapsedHour=%endHour%-%startHour%
set /A elapsedMin=%endMin%-%startMin%
set /A elapsedSec=%endSec%-%startSec%

:: Adjust the elapsed time if seconds are negative
if %elapsedSec% LSS 0 (
    set /A elapsedSec=60+%elapsedSec%
    set /A elapsedMin-=1

:: Adjust the elapsed time if minutes are negative
if %elapsedMin% LSS 0 (
    set /A elapsedMin=60+%elapsedMin%
    set /A elapsedHour-=1

echo Elapsed Time: %elapsedHour% hours, %elapsedMin% minutes, %elapsedSec% seconds.

:: Output elapsed time and file count to a log file
echo Elapsed Time: %elapsedHour% hours, %elapsedMin% minutes, %elapsedSec% seconds. >> "%logFile%"
echo Number of Created Files: %fileCount% >> "%logFile%"


Move the Files:

@echo off

REM Pre-fill source and destination folders
set "script_dir=%~dp0"
set "source=%script_dir%Files"
set "destination=%cd%"

set /a count=0

REM Start the timer
setlocal enabledelayedexpansion
set "start_time=!time!"
set "start_time=!start_time:.=!"
echo Start Time: !start_time!

for /r "%source%" %%f in (*) do (
  move "%%f" "%destination%"
  if !errorlevel! equ 0 (
    set /a count+=1

REM Calculate the elapsed time
set "end_time=!time!"
set "end_time=!end_time:.=!"
echo End Time: !end_time!

REM Calculate the time difference
call :TimeDiff "!start_time!" "!end_time!" elapsed_time
echo Elapsed Time: !elapsed_time!

echo Successfully moved %count% files.

REM Output results to a log file
set log_file=%script_dir%move_files.log
echo Start Time: !start_time! >> "%log_file%"
echo End Time: !end_time! >> "%log_file%"
echo Elapsed Time: !elapsed_time! >> "%log_file%"
echo Successfully moved %count% files. >> "%log_file%"

echo Results have been saved to: %log_file%
exit /b

  set "t1=%~1"
  set "t2=%~2"

  REM Extract the hours, minutes, and seconds from the start and end times
  set "h1=!t1:~0,2!"
  set "m1=!t1:~3,2!"
  set "s1=!t1:~6,2!"

  set "h2=!t2:~0,2!"
  set "m2=!t2:~3,2!"
  set "s2=!t2:~6,2!"

  REM Calculate the time difference in seconds
  set /a "total_seconds=(1%h2%-1%h1%)*3600 + (1%m2%-1%m1%)*60 + (1%s2%-1%s1%)"
  REM Calculate the time difference in hours, minutes, and seconds
  set /a "hours=total_seconds / 3600"
  set /a "minutes=(total_seconds / 60) %% 60"
  set /a "seconds=total_seconds %% 60"

  REM Format the elapsed time
  set "elapsed_time="
  if %hours% lss 10 set "elapsed_time=0"
  set "elapsed_time=%elapsed_time%%hours%:"
  if %minutes% lss 10 set "elapsed_time=%elapsed_time%0"
  set "elapsed_time=%elapsed_time%%minutes%:"
  if %seconds% lss 10 set "elapsed_time=%elapsed_time%0"
  set "elapsed_time=%elapsed_time%%seconds%"

  endlocal & set "%~3=%elapsed_time%"
  exit /b

When I check a server status, under prior versions, I look at 1) dashboard, 2) alerts, 3) several report tabs, & 4) the shell for a) date, which tells me if the clock is current, b) upsc ups, which tells me if the UPS data has changed, & c) zpool stataus | more, which alerts me to any zfs errors. Bu deleting the GUI shell, to get the same data, I have to log on the the gui & separately log on the command line via ssh. I don’t think the broken copy/paste issue is sufficient to make server oversight more cumbersome. IMHO, of course. This may be enough, alone, for me to delay migration to 13.3. Sigh.

1 Like

How hard is it to ssh root@truenas?

Not at all, imho. the shell was just easy because you were already “there”.

I’m probably a little biased because I always have at least one terminal window open–it’s much quicker for me to SSH into the server than to log into the GUI. And that’s no doubt why I can count on one hand or so the number of times I’ve used the shell from the GUI, either in CORE or SCALE (where it sucks much less). But I’d rather not have the feature than have it, and have it work as poorly as it does in CORE.


Where did the Shell window go? Is it hidden?

According to the release notes posted up-topic, it’s been removed. And good riddance to it, if iX weren’t going to fix it.

I guess I need to read the release notes, the Display System Processes does not respond to keystrokes either. Yup, time to read.