Releases: GleamTech/FileUltimate
FileUltimate v8.2.0
Version 8.2.0 - March 5, 2022
-
Changed: .NET Framework target is changed from net40 to net461.
So from now on, you need to have a .NET Framework 4.6.1 or above project to reference our .NET Framework DLL (not related to our .netstandard2.0 DLL).
Minimum supported development environment version is changed from Visual Studio 2010 to Visual Studio 2012 (first to support net461 targeting pack).
Minimum supported deployment server OS is changed from Windows Server 2003 R2 to Windows Server 2008 R2 SP1 (first to support net461 runtime).
Minimum supported deployment client OS is changed from Windows Vista to Windows 7 SP1 (first to support net461 runtime). -
Improved: Example projects:
-
Updated AspNetCoreCS project to net5.0 (Visual Studio 2019+).
-
Updated AspNetCoreOnNetFullCS project to net472 and ASP.NET Core 2.2.0 (Visual Studio 2017+).
-
Updated AspNetMvcCS and AspNetMvcVB projects to net461 and ASP.NET MVC 5.2.7 (Visual Studio 2012+).
-
Updated AspNetWebFormsCS and AspNetWebFormsVB projects to net461 (Visual Studio 2012+).
-
Fixed HintPath attributes of elements in project files with default path "..\packages" ("Solutiondir\packages")
as msbuild never updates HintPath even if it restores packages via packages.config (even if we provide a NuGet.config).
With default path, users can restore and compile the non-SDK-style projects seamlessly on their machine.
Applies to AspNetMvcCS, AspNetMvcVB, AspNetWebFormsCS, AspNetWebFormsVB projects.
-
Included example projects:
- ASP.NET Core (C#) - Visual Studio 2019+
- ASP.NET Core on .NET Framework (C#)- Visual Studio 2017+
- ASP.NET MVC (C#) - Visual Studio 2012+
- ASP.NET MVC (VB) - Visual Studio 2012+
- ASP.NET WebForms (C#) - Visual Studio 2012+
- ASP.NET WebForms (VB) - Visual Studio 2012+
FileUltimate v8.1.0
Version 8.1.0 - February 22, 2022
-
Improved: Document Viewer:
-
Fixed: First page gray issue if "Background graphics" option is selected on Chrome's print preview dialog.
-
Fixed: Incorrect ligatures for Persian Farsi when converting PPTX to PDF.
-
Improved: Stability and performance of Portable, WordProcessing, Spreadsheet, Presentation and Email formats.
-
-
Improved: Stability and performance of image thumbnails, image viewer and video thumbnails.
Included example projects:
- ASP.NET Core (C#) - Visual Studio 2017+
- ASP.NET Core on .NET Framework (C#)- Visual Studio 2017+
- ASP.NET MVC (C#) - Visual Studio 2010+
- ASP.NET MVC (VB) - Visual Studio 2010+
- ASP.NET WebForms (C#) - Visual Studio 2010+
- ASP.NET WebForms (VB) - Visual Studio 2010+
FileUltimate v8.0.0
Version 8.0.0 - November 29, 2021
-
Changed: License keys are changed so please go to https://www.gleamtech.com/upgrade and acquire a new license
key if you want to use this version (or higher). If your one year maintenance has not ended, you will receive a
new free license key on the same page. -
Added: New icons for most file extensions, e.g. latest icons from Windows 11 and Office 2021.
-
Improved: More relax drag and drop for preventing confusion for users, i.e. even if user drags over regular files
(e.g. not subfolder and not container files like .zip), the parent folder will be considered as the drop target (similar
behaviour to Windows Explorer). This works for both internal drag&drop and upload drag&drop. This is especially useful when
user is using "Details" view layout where there is not enough white space. -
Improved: When using drag and drop, keyboard shortcuts will be displayed to the user as labels e.g. "Hold down SHIFT to move",
"Hold down CTRL to copy" and "Press ESC to cancel". Many users may not be aware of these useful keyboard shortcuts. -
Fixed: Missing placeholders in Swedish language file.
-
Improved: Updated Media Player:
-
PIP (Picture in Picture) support.
-
Updated background images to new FullHD images for both audio and video modes.
-
Minimum player size is increased to 448x252 (HD Video 16:9 ratio) so that video info shown at the end, fits the player.
-
Included example projects:
- ASP.NET Core (C#) - Visual Studio 2017+
- ASP.NET Core on .NET Framework (C#)- Visual Studio 2017+
- ASP.NET MVC (C#) - Visual Studio 2010+
- ASP.NET MVC (VB) - Visual Studio 2010+
- ASP.NET WebForms (C#) - Visual Studio 2010+
- ASP.NET WebForms (VB) - Visual Studio 2010+
FileUltimate v7.9.7
Version 7.9.7 - May 26, 2021
-
Improved: FileUploader:
-
Improved: MessageBox opened by FileUploader -> "View info" will display maxRequestSize instead of
maxUploadAsBinarySize, maxUploadAsFormSize in "Server features" for less confusion. -
Improved: In Web.config, will be used again instead of
and for less confusion and also because older machines (lower than .NET 4.5) may not
understand /UploadAsBinary or /UploadAsForm part in path for httpRuntime. -
Improved: Updated "Optional Upload Configuration" docs page for better explanation, and separated steps according to project types.
-
Improved: Ensured upload queue is always stopped for unrecoverable errors, e.g. for connection error (offline error).
-
-
Improved: Better error messages for connection (XHR) errors (e.g. offline error) in FileUploader and FileManager.
Better error handling for late coming responses, to prevent UI update related errors when component was already destroyed. -
Added: FileManager.UploadChunkSize property to control internal FileUploader's ChunkSize property.
-
Changed: Renamed some FileManager properties:
MaxFileSizeToUpload -> UploadMaxFileSize
MaxSizeToCompress -> CompressionMaxSize -
Improved: Document Viewer:
- Improved: Stability, performance for WordProcessing and Spreadsheet formats.
-
Improved: Updated Media Player.
Included example projects:
- ASP.NET Core (C#) - Visual Studio 2017+
- ASP.NET Core on .NET Framework (C#)- Visual Studio 2017+
- ASP.NET MVC (C#) - Visual Studio 2010+
- ASP.NET MVC (VB) - Visual Studio 2010+
- ASP.NET WebForms (C#) - Visual Studio 2010+
- ASP.NET WebForms (VB) - Visual Studio 2010+
FileUltimate v7.9.6
Version 7.9.6 - April 28, 2021
-
Changed: Since v7.9.0, non-static event handlers for FileManager and FileUploader were not allowed (threw an exception),
mainly for allowing serialization to distributed session.
From now on, non-static event handlers will be allowed again if you are not using distributed state.
This will make updating from older versions comfortable (no need to refactor existing event handlers).
The following exception will be thrown ONLY if you are using distributed state.
"When using distributed state, an event handler should be a static method (or shared method in VB),
please fix these methods or use non-distributed state: ..."- Distributed session meaning: If session state mode is InProc for ASP.NET Classic or MemoryDistributedCache is set for ASP.NET Core,
then session is in-process (not distributed). In other cases, session is distributed. - See GleamTechWebConfiguration.DistributedStateMode property which specifies whether distributed state should be used for components.
- Distributed session meaning: If session state mode is InProc for ASP.NET Classic or MemoryDistributedCache is set for ASP.NET Core,
-
Fixed: MessageBox opened by FileUploader -> "View info" was displaying html encoded message where it shouldn't since v7.9.5.
-
Added: MessageBox opened by FileUploader -> "View info" will now display more info, i.e.
"Server features" (maxUploadAsBinarySize, maxUploadAsFormSize, chunkSize)
and "User restrictions" (allowedMaxFileSize, allowedFileTypes, deniedFileTypes).
Included example projects:
- ASP.NET Core (C#) - Visual Studio 2017+
- ASP.NET Core on .NET Framework (C#)- Visual Studio 2017+
- ASP.NET MVC (C#) - Visual Studio 2010+
- ASP.NET MVC (VB) - Visual Studio 2010+
- ASP.NET WebForms (C#) - Visual Studio 2010+
- ASP.NET WebForms (VB) - Visual Studio 2010+
FileUltimate v7.9.5
Version 7.9.5 - April 18, 2021
-
Improved: Names will be html encoded everywhere to prevent possible XSS issues and show proper file names like "File>Test"
instead of "File>Test". In MultiView, MessageBox title/message/conflict dialog, Window title, Breadcrumb buttons and menus,
Folder Tree, MediaPlayer file info, ImageViewer bottom title, DocumentViewer. -
Added: FileManager.InitialFolder property now accepts shortcuts like "first", "last" in addition to a value in
format "[RootFolderName]:\Some\Folder". The default value is "first" but now it's possible to set it to null or empty string
for not selecting and displaying any folder initially. -
Changed: FileManager properties MaxSizeToCompress and DownloadWithChunkedTransferThreshold should treat 0 (zero) as no limit.
-
Added: GleamTechWebConfiguration.CookielessSessionParameter which allows to change the parameter name to use for cookieless session
which will be used in headers, form or querystring where possible. Also default value is changed from "sid" to "gt-sid" to prevent
conflict with more possible user querystring parameter "sid". -
Fixed: For ASP.NET Core projects, license was being checked even for localhost in some cases (for domain restricted Professional license).
-
Improved: Updated docs. Licensing page now includes all details on how to use the purchased license key.
In Getting Started pages, used .NET 5 (NET Core 3.0+) syntax and put config file (appsettings.json, Web.config)
option first for Core, MVC and WebForms. -
Improved: Document Viewer:
- Improved: Stability, performance for Portable formats.
-
Improved: Updated Media Player.
Included example projects:
- ASP.NET Core (C#) - Visual Studio 2017+
- ASP.NET Core on .NET Framework (C#)- Visual Studio 2017+
- ASP.NET MVC (C#) - Visual Studio 2010+
- ASP.NET MVC (VB) - Visual Studio 2010+
- ASP.NET WebForms (C#) - Visual Studio 2010+
- ASP.NET WebForms (VB) - Visual Studio 2010+
FileUltimate v7.9.1
Version 7.9.1 - March 23, 2021
-
Fixed: "Add to zip" action displayed "Could not find file" error even if the zip was correctly generated.
The problem probably started happening with v7.9.0 (after improvements to ArchiveFileSystem). -
Improved: Added implicit string operator to FileTypeSet (type for AllowedFileTypes and DeniedFileTypes properties) for easier API usage:
accessControl.AllowedFileTypes = "*.jpg|*.gif";
Also collection initializer is now possible:
accessControl.AllowedFileTypes = new FileTypeSet { "*.jpg", "*.gif" };
-
Improved: Added example codes to more places in Docs, especially for AllowedPermissions, DeniedPermissions, AllowedFileTypes
DeniedFileTypes properties. -
Fixed: Inherited properties were not being displayed in Docs for FileManagerEventArgs and FileUploaderEventArgs.
-
Fixed: GleamTechWebConfiguration.LocklessSessionFixEnabled property which was added back in v7.9.0, caused early session timeout
issue (e.g. 2 minutes) in the host application. The default property is now changed from true to false for preventing the issue.
Note that this only effected ASP.NET Classic applications but not ASP.NET Core applications. -
Improved: Document Viewer:
- Fixed: Duplicate file names will now be allowed in PDF Portfolio because surprisingly there are people who add attachments
with duplicate names to an email. For example if there are 2 attachments named "test.pdf", the second one will be renamed to "test (2).pdf".
DocumentViewer will no longer display error "PDF already contains an embedded file named ..." for emails with duplicate attachments.
- Fixed: Duplicate file names will now be allowed in PDF Portfolio because surprisingly there are people who add attachments
Included example projects:
- ASP.NET Core (C#) - Visual Studio 2017+
- ASP.NET Core on .NET Framework (C#)- Visual Studio 2017+
- ASP.NET MVC (C#) - Visual Studio 2010+
- ASP.NET MVC (VB) - Visual Studio 2010+
- ASP.NET WebForms (C#) - Visual Studio 2010+
- ASP.NET WebForms (VB) - Visual Studio 2010+
FileUltimate v7.9.0
Version 7.9.0 - February 16, 2021
-
Added: FileManager and FileUploader now supports distributed session (e.g multi-instance on Azure or multi-server environment).
-
Added: GleamTechWebConfiguration.DistributedStateMode property which specifies whether distributed state should be used for components.
The default is DistributedStateMode.Auto.
In DistributedStateMode.Auto mode, serialization of state objects to session is done only if your application is configured to use distributed session:- If your application is configured to use in-process (not distributed) session, ComponentStateManager uses MemoryCache for performance reasons.
This way we can avoid unnecessary serialization of state objects to session which can cause overhead for requests. - If your application is configured to use distributed session, ComponentStateManager uses distributed session,
i.e. serializes state objects to session so that state is available for cloud or multi-server environment. - Distributed session meaning: If session state mode is InProc for ASP.NET Classic or MemoryDistributedCache is set for ASP.NET Core,
then session is in-process (not distributed). In other cases, session is distributed.
- If your application is configured to use in-process (not distributed) session, ComponentStateManager uses MemoryCache for performance reasons.
-
Improved: FileUploader:
- Optimized IUploadProvider interface. The providers now receive UploadQueue and UploadItem in method parameters.
- DefaultUploadProvider now writes each chunk as different file then combine them at the end to support distributed session.
- Since cookieless session feature, legacy Html4 upload method was broken.
- MaxFileSize, AllowedFileTypes, DeniedFileTypes will also be checked on server for better security.
- Default ChunkSize is now only dependent on maxAllowedContentLength only so it will be usually 28.6MB and not 4MB.
For more information see, https://docs.gleamtech.com/fileultimate/html/optional-upload-configuration.htm - Added ItemUploading, ItemUploaded and ItemFailed server-side events.
-
API changes:
- UploadInfo -> UploadQueue
- New properties TotalUploadedSizeAsString, ElapsedTimeAsString, TransferRateAsString
- UploadItemInfo -> UploadItem
- New properties SizeAsString, UploadedSizeAsString
- FileUploaderReceivingEventArgs -> FileManagerUploadingEventArgs
- Validations -> Items
- Properties except Items are moved into Queue property
- FileUploaderReceivedEventArgs -> FileManagerUploadedEventArgs
- Properties except Items are moved into Queue property
- FileManagerUploadingEventArgs
- Validations -> Items
- Properties except Items are moved into Queue property
- FileManagerUploadedEventArgs
- Properties except Items are moved into Queue property
- FileManagerDownloadedEventArgs
- New properties TotalDownloadedSizeAsString, ElapsedTimeAsString, TransferRateAsString
- UploadInfo -> UploadQueue
-
Changed: Removed FileSystem property from FileManager events. Pre-events will be raised before opening FileSystem
and Post-events will be raised after FileSystem is disposed. User can create it if required via e.Folder.GetFileSystem(). -
Improved: Completed missing documentation for all classes in FileUltimate.
-
Improved: FileManager.Id and FileUploader.Id will throw exception if set to an invalid identifier (e.g. guid.ToString()).
For HTML and CSS compatibility, Id must begin with a letter ([A-Za-z]) and may be followed by any number of letters,
digits ([0-9]), hyphens (-), underscores (_). -
Improved: FileManager and FileUploader will throw exception if an event handler is not a static method (or not shared in VB).
Event handlers need to be static for both preventing memory leaks and allowing serialization to distributed session. -
Improved: Better concurrency for OpenFile and CreateFile in AzureBlobFileSystem, AmazonS3FileSystem and ArchiveFileSystem.
OpenFile should return a stream containing existing file for FileAccessOption.Write.
Included example projects:
- ASP.NET Core (C#) - Visual Studio 2017+
- ASP.NET Core on .NET Framework (C#)- Visual Studio 2017+
- ASP.NET MVC (C#) - Visual Studio 2010+
- ASP.NET MVC (VB) - Visual Studio 2010+
- ASP.NET WebForms (C#) - Visual Studio 2010+
- ASP.NET WebForms (VB) - Visual Studio 2010+
FileUltimate v7.8.5
Version 7.8.5 - January 1, 2021
-
Improved: StatefulComponent.StateId will be uniquely generated via hashing component.Id and the host page's
Url.PathAndQuery (e.g. /MyHostPage?q1=val1&q2=val2).This way, State conflict will be avoided when MyHostPage is loaded with different
querystring parameters, for example in different tabs.
In previous versions, it was generated via hashing component.Id and the host page's Url.Path (e.g. /MyHostPage) which caused a problem
such that the last loaded instance overwrote the state (the last one won and all instances shared the same state due to same StateId). -
Improved: Removed GleamTechWebConfiguration.AutoCookielessSessionEnabled property and added GleamTechWebConfiguration.CookielessSessionMode
The default is CookielessSessionMode.Auto. Cookie support is detected on the browser via JS with CookielessSessionMode.Auto.
In some cases (e.g. Cordova WebView), the detection may not be reliable, in that case you can use CookielessSessionMode.Always. -
Improved: Updated Media Player.
-
Changed: Source code package did not include source of GleamTech.Common project since v7.2.0.
From now on, it will be included again.
Included example projects:
- ASP.NET Core (C#) - Visual Studio 2017+
- ASP.NET Core on .NET Framework (C#)- Visual Studio 2017+
- ASP.NET MVC (C#) - Visual Studio 2010+
- ASP.NET MVC (VB) - Visual Studio 2010+
- ASP.NET WebForms (C#) - Visual Studio 2010+
- ASP.NET WebForms (VB) - Visual Studio 2010+
FileUltimate v7.8.1
Version 7.8.1 - November 23, 2020
-
Added: Cookieless session will be used when necessary to automatically fix session issues, i.e. when the browser
does not allow cookies via browser settings or via iframe with a cross-domain URL.
The cookieless session will be established via headers, form or querystring where possible.Added GleamTechWebConfiguration.AutoCookielessSessionEnabled property to control this feature (default value is true).
You don't need to use GleamTechWebConfiguration.CookieSameSiteFixEnabled when this property is true. -
Fixed: When was set in Web.config, the below error was being thrown:
'Invalid method request: Method with name "" not found' -
Fixed: "Document cache info is not found" error when DocumentViewer was opened from FileManager in ASP.NET Core since v7.8.0.
-
Fixed: "Open in browser" action to display HTML pages which has relative resource links (images, CSS, JS) was broken in ASP.NET Core
due to url fragments not being url decoded. This feature was first added in v4.6.1.
Included example projects:
- ASP.NET Core (C#) - Visual Studio 2017+
- ASP.NET Core on .NET Framework (C#)- Visual Studio 2017+
- ASP.NET MVC (C#) - Visual Studio 2010+
- ASP.NET MVC (VB) - Visual Studio 2010+
- ASP.NET WebForms (C#) - Visual Studio 2010+
- ASP.NET WebForms (VB) - Visual Studio 2010+