Releases: SenseNet/sensenet
sensenet Services 7.6.1
There are bug fixes and new features as well in this release, please take a look at the following list of changes.
This release requires an upgrade patch to be executed if you already have a database. Download the patch from the assets list below.
Features
- Shared lock: for multiple users to be able to edit the same document in the browser.
- CORS wildcard support: you can define a subdomain with a wildcard for CORS.
- Comment OData API: a simple API for managing comments next to preview images.
- AccessToken cleanup: periodically remove old tokens.
- add a built-in method for configuring the external blob provider.
- in preparation for cloud patching, we made the ContentType system more robust by allowing it to start even if a content handler is missing.
- from now on it is possible to edit the allowed child types on a content from the client easily using PATCH or PUT OData requests.
Bug fixes
- the Open in editor action takes file extension and permissions into account when deciding whether the action is available to the client or not.
- a null reference error has been fixed in the desktop access provider for console environments.
Package changes to support .Net Standard
- we removed the Services dependency from the Test project.
Installation
To get started please follow the instructions in the Install sensenet from NuGet article.
sensenet Services 7.6
This release contains new features and major architectural changes. Please take a look at the change log below.
New features
- AccessToken: a new C# API for generating security tokens for users. The feature is integrated into our authentication pipeline so it is possible to use it for authentication by 3rd party players.
- WOPI: we started working on a feature that will let users open and edit Office documents in the browser. In this release we added the API for viewing documents. Editing and the full UI solution will come later.
Architectural changes
Introducing data provider extensions
Previously any feature that required unique storage and data operations needed to be integrated to the core data provider of sensenet. Starting with this release it is possible to add a new feature involving storage and db operations outside of the main db provider. This architecture will let us provide a lot more simple and clean data provider layer in the future.
The changes above are mainly under the hood, but developers who created a custom data provider may encounter build errors, because the surface of the db provider interface has changed a little. The required changes are really minor things, please contact us if you do not know how to upgrade your code.
Package changes to support .Net Standard
Converted projects
In this release we finally converted two of our main projects to .Net Standard: the Storage
and ContentRepository
projects are now compatible with modern .Net environments. We are working on a fully deployable solution that will let developers access the repository in a .Net Core environment.
Legacy packages
During the .Net Standard conversion we had to move a couple of legacy features to separate packages. This is because they use old APIs that are not available in a modern environment. If your project uses these features, please install the corresponding NuGet packages:
- JScript evaluator (used for default values in Content Type Definitions)
- Mail processing (Inbox feature)
- iTextSharp Pdf text extractor
Installation
To get started please follow the instructions in the Install sensenet from NuGet article.
Upgrade from previous versions
If you already have sensenet installed and want an in-place upgrade instead of re-creating the database, you have to do the following:
- upgrade your database using the upgrade patch (see the attachment above in the Assets section) in your dev, test and live environments to be up to date.
Before executing the patch please make sure you have the latest version of the
System.Data.SqlClient
NuGet package installed in your application and there is no assembly binding in your config files pointing to a previous version of this library.
sensenet Services 7.5.1
There are bug fixes and new features as well in this release, please take a look at the following list of changes.
This release requires an upgrade patch to be executed if you already have a database. Download the patch from the assets list above.
Features
- The backend part of the Sharing feature provides the API for managing private and public content sharing.
Bug fixes
- Add allowed child types API works correctly.
- Querying on a content's reference field (inner or nested query) works correctly through the OData API.
- User Avatar property always contains the image url and it can be modified correctly.
- Notify property changed event is fired correctly to avoid deviations between the node and content layers.
- Indexing activity deserialization errors are written to the log only once, not every time the same error occurs.
Package changes to support .Net Standard
- The legacy Performance counters api has been removed from the core product in preparation for moving our packages to .Net Standard. The feature has been moved to the Performance counters repo and package.
- We moved the MSMQ Channel Provider to a separate package because the MSMQ technology is not available in .Net Standard.
- We rearranged default permissions for the Identified and Everyone groups. This will make adding new users simpler because they will receive the necessary basic permissions automatically through the Everyone group. These changes will affect new projects only, they are not included in the upgrade patch to avoid unwanted permission changes.
- We removed the System.Web reference from the Storage library to be able to convert it to .Net Standard later.
- We also removed the IHttpHandler interface from the repository project: Images are served through the regular binary provider from now on.
- We removed the separate Configuration dll from the main package and moved all its classes to the Services library to make our library set more streamlined.
Installation
To get started please follow the instructions in the Install sensenet from NuGet article.
sensenet Services 7.4.1
This is a small bugfix release, please take a look at the details of the fix below.
This release does not require an upgrade patch if you already have the previous version installed: it is enough to update the packages in Visual Studio.
Bug fixes
- Cache insert failed in cases when the maximum date value could not be converted to the UTC time on the local server.
Installation
To get started please follow the instructions in the Install sensenet from NuGet article.
sensenet Services 7.4
There are bug fixes and new features as well in this release, please take a look at the following list of changes.
This release does not require an upgrade patch if you already have the previous version installed: it is enough to update the packages in Visual Studio.
Bug fixes
- The infinite Children expand issue has been fixed.
- ReindexBinaries task (used during upgrading from sensenet 6) threw an exception in tests.
- Content property changed notification: when a contenthandler property is changed, we need to reset the content field value to let indexing use the most recent value. Because of this bug developers needed to reload content objects in some cases after a save operation.
New features
- we extended the built-in OAuth identity with an avatar image so that external providers may import a profile image for the user.
Package changes to support .Net Standard
- removed Entity Framework 6 hard reference: this will let us convert our libraries to .Net Standard later. In the default package there is still an EF6 soft dependency (because of the security component) but that will be also replaced later with the already published EF Core data provider for the security component.
- removed Ionic.Zip dependency from sensenet to rely on the built-in .Net compression API.
- removed System.Web.Caching dependency. This may cause a breaking change in your project if you used the cache dependency API in sensenet. Do not worry, the upgrade is straightforward and very few projects are actually affected.
Installation
To get started please follow the instructions in the Install sensenet from NuGet article.
sensenet Services 7.3.3
There are mainly internal changes in this release, take a look at the following links to know more about what has changed since the last release.
This release requires an upgrade patch to be executed if you already have a database.
New features
- add additional no cache headers to the response to make the client clean up the cache (thanks @VargaJoe for the contribution).
- Patching:
- we added a new indexing step (BinaryReindex) for rebuilding index documents in the database without indexing binaries. This will make the upgrade from sensenet version 6 to 7 much faster.
- new control flow step: WhileDatabaseValue will let developers execute long-running db patch operations in blocks without experiencing SQL timeout.
- DeleteContentType step is able to work with multiple content types to run faster.
- Version poperties are available on the OData API. This will let you access the correct creators and creation dates for individual content versions.
Installation
To get started please follow the instructions in the Install sensenet from NuGet article.
Upgrade from previous versions
If you already have sensenet installed and want an in-place upgrade instead of re-creating the database, you have to do the following:
- upgrade your database using the upgrade patch (see the attachment above in the Assets section) in your dev, test and live environments to be up to date.
sensenet Services 7.3.2
There are both new features and bug fixes in this release, take a look at the following links to know more what has changed since the last relase.
This release requires an upgrade patch to be executed if you already have a database.
New features
- there are new OData functions for getting children or ancestors of a content item
- we simplified the logging infrastructure (under the hood) and removed the Enterprise Library dependency from the system
Bug fixes
- empty file import threw a notsupported exception
- cleaning up a reference field through OData is possible
Installation
To get started please follow the instructions in the Install sensenet from NuGet article.
Upgrade from previous versions
If you already have sensenet installed and want an in-place upgrade instead of re-creating the database, you have to do the following:
- upgrade your database using the upgrade patch (see the attachment above in the Assets section) in your dev, test and live environments to be up to date.
sensenet Services 7.3.1
In this release we converted one of the internal standalone libraries in sensenet (TokenAuthentication) to .Net Standard 2.0 as part of our goal to modernize our libraries. This is something that happens under the hood, just upgrade the NuGet packages and compile your application.
Bug fixes
- The update binary algorithm handled stream copy operations incorrectly in some corner cases.
Installation
To get started please follow the instructions in the Install sensenet from NuGet article.
Upgrade from previous versions
If you already have sensenet installed and want an in-place upgrade instead of re-creating the database, you have to do the following:
- versions before 7.2: upgrade your database using the upgrade patch (you'll find it on the page of the 7.2 release) in your dev, test and live environments to be up to date.
- versions 7.2 or later: do not require a patch in the dev environment, just update the NuGet package and compile your application.
sensenet Services 7.3
Features
- The new Repository builder API lets developers configure the repository from code during application start instead of having to edit configuration files.
Bug fixes
- The site start process froze in some environments when trying to access the performance counter API.
Breaking changes
- The Blob storage library has been converted to .Net Standard 2.0. During this process we had to move a legacy feature, MS Sql FILESTREAM column support to a separate package. If you are using the FileStream feature to store binaries in sensenet, you will have to install that new package and configure it as an external blob provider. Please visit the main page of the MS Sql FileStream provider repository to know more.
Installation
To get started please follow the instructions in the Install sensenet from NuGet article.
Upgrade from previous versions
If you already have sensenet installed and want an in-place upgrade instead of re-creating the database, you have to do the following:
- versions before 7.2: upgrade your database using the upgrade patch (you'll find it on the page of the 7.2 release) in your dev, test and live environments to be up to date.
- versions 7.2 or later: do not require a patch in the dev environment, just update the NuGet package and compile your application.
sensenet Services 7.2
This is an important milestone toward cloud compatibility: we started to convert our projects to support .Net Standard 2.0. This means that we had to upgrade all our projects to at least .Net Framework 4.6.1 (which is the earliest version of the framework that supports netstandard 2.0).
In this release cycle we converted the following related packages to .Net Standard:
- SenseNet.Common
- SenseNet.Search
Features
- Easy release: from the next release it will be possible to update only the NuGet package of a component (without executing an upgrade patch) if there were no database or configuration changes (this is not the case for this particular release however, because there are config changes).
- We removed Unity containers from the product in preparation for removing EntLib as a dependency. Please check remaining Unity containers and type definitions in your configuration after upgrading.
- Our provider loading mechanism got smarter: if there is no provider configured in code for a certain name, it will look into the configuration file for that provider automatically.
Bug fixes
- There was a stackoverflow exception in certain cases when a custom Membership extender tried to access the security subsystem.
- There was a serialization error during patch execution (when upgrading from a previous version), caused by an incorrect indexing algorithm.
- Incorrectly formatted xml files were not indexed at all. From now on we index them as regular text files.
Breaking changes
- Please make sure that all your projects are built using .Net Framework 4.6.1 (or a later version) before upgrading.
- Please check remaining Unity containers and type definitions in your configuration after upgrading.
Installation
To get started please follow the instructions in the Install sensenet from NuGet article.
Upgrade from previous version
If you already have sensenet installed and want an in-place upgrade instead of re-creating the database, please run the upgrade patch (you'll find it above in the Assets list) in your dev, test and live environments to be up to date. The patch is an SnAdmin package.
The patch above is a cumulative package that you may execute on any previous version. This means you do not have to upgrade to previous interim versions before executing this one.
Note that after executing the patch, you will have to update your sensenet Services NuGet packages to the same version. Please check your connection strings (web.config and Tools\SnAdminRuntime.exe.config) after updating the packages, because NuGet may change those values based on the package contents.
Known issues
It is possible that when you upgrade your NuGet packages, an extra line appear in the loggingConfiguration/formatters
section: a duplicated line with the name 'Text Formatter'. If that happens, please remove one of those lines.