Releases: RWS/ISHRemote
v8.1
The one where...
Boosted performance for protocol WcfSoapWithWsTrust, introduced Add-IShBackgroundTask enablers to support the Tridion Docs 15.1.1 Metrics feature, and ...
Full release notes are on https://github.com/sdl/ISHRemote/blob/master/Doc/ReleaseNotes-ISHRemote-8.1.md holding much more detail.
All customers on ISHRemote v8.0 are advised to upgrade, especially when using ISHRemote to Tridion Docs 14SP4/14.0.4 and earlier or when using the New-IShSession -IShUserName ... -IShPassword ... parameter set.
In ISHRemote v8.0 we refactored the proxies to introduce Modern Authentication next to existing legacy authentication now known as -protocol WcfSoapWithWsTrust. Performance was boosted and memory handling was optimized by making the token expiration less overzealous. #196
The below text describes the delta compared to fielded release ISHRemote v8.0.
Breaking changes
All cmdlets and business logic are fully compatible.
Platform Support
- Verified for Windows PowerShell 5.1 powered by NET 4.8 and PowerShell 7.4.5 powered by NET 8. Note that we deliver NET 6 code base to run under NET 8 runtime.
More New and Changed
- Boosting performance for protocol WcfSoapWithWsTrust #196 Thanks @ddemeyer
Get-IshTypeFieldDefinition, since Tridion Docs 15.1, no longer backfills theIShEventandIShBackgroundTasktable type storage, they now are also returned by the CMS' API call. These two types are still backfilled on Tridion Docs 15.0 and earlier. #191 Thanks @ArianArt- Extend cmdlet
Add-IshBackgroundTaskwith parameterInputDataTemplateto enable full or partial Metrics build available in Tridion Docs 15.1. #193 Thanks @ArianArt
Housekeeping
- Made several tests environment agnostic by adding some explicit default entries in
ISHRemote.PesterSetup.ps1, but in turn allow overrides in later loadedISHRemote.PesterSetup.Debug.ps1by re-initializing variables like$ishLngLabel = 'en-us' $ishLngTarget1 = 'VLANGUAGEESES' $ishLngTarget1Label = 'es-es' $ishLngTarget2 = 'VLANGUAGEDEDE' $ishLngTarget2Label = 'de-de' $ishLngCombination = 'en-us' $ishEventTypeToPurge = "TESTBACKGROUNDTASK"
Again, more details and examples are listed on the full release notes which are on https://github.com/sdl/ISHRemote/blob/master/Doc/ReleaseNotes-ISHRemote-8.1.md
v8.0
The one where...
Introduced Modern Authentication support over a -Protocol parameter on the IshSession cmdlets. Where we used to have only implicit WcfSoapWithWsTrust protocol - same as ISHRemote v7.0 and earlier on Tridion Docs 14SPx/14.0.x and earlier - resulting SOAP Proxy classes on IShSession. We now introduce WcfSoapWithOpenIdConnect for usage on Tridion Docs 15.x/15.x.0 which results in SOAP Proxy classes that are authenticated over Modern Authentication.
Full release notes are on https://github.com/sdl/ISHRemote/blob/master/Doc/ReleaseNotes-ISHRemote-8.0.md holding much more detail.
- If protocol on a
New-IShSessioncmdlet is forced toWcfSoapWithWsTrust, then it behaves the same as ISHRemote v7.0 and earlier or any Tridion Docs 14SPx/14.0.x and earlier system- WS-Federation/WS-Trust over –IshUserName/-IshPassword parameters, typical ISHSTS setups
- WS-Federation/WS-Trust over implicit ActiveDirectory NetworkCredentials , typical ADFS setups
- If protocol is not mentioned, it defaults to
WcfSoapWithOpenIdConnecton Tridion Docs 15.x/15.x.0- Modern Authentication like Publication Manager or Organize Space, etc over your favorite Browser
- Modern Authentication over –ClientId/-ClientSecret coming from Access Management (ISHAM)
- Note: ISHWS/OWCF web services have feature parity to ISHWS/WCF (and actually also ISHWS/*.ASMX)
- If protocol is forced to
OpenApiWithOpenIdConnect- You mostly get fully operational WcfSoapWithOpenIdConnect
- You also get an OpenAPI 3.0 experimental proxy on your IShSession object (experimental, might look different in the future)
The below text describes the delta compared to fielded release ISHRemote v7.0.
Breaking changes
All cmdlets and business logic are fully compatible.
Platform Support
- Verified for PowerShell 7.4 and NET 8 Support. Note still delivering NET 6 code base to run under NET 8 runtime. #179 @ddemeyer
More New and Changed
New-IshSessionandTest-IshSessionreceived the-Protocolparameter. See table https://github.com/sdl/ISHRemote/blob/master/Doc/ReleaseNotes-ISHRemote-8.0.md Thanks @ddemeyer and @ivandelagemaat- Extend Parameter FilterOperator with value cilike (case insensitive like) for Set-IshMetadataFilterField and in turn all Find/Filter cmdlets #154 Thanks @yuliamm87
- Get-IshBaselineItem parses incoming ModifiedOn and CreatedOn values using CurrentCulture instead resulting in Month Day swapping for some Regional Settings #157 Thanks @ddemeyer
- Extend Parameter Completion for *-IshSetting cmdlets parameter -FieldName, similar like Get-IshMetadataField or Get-IshLovValue. #153 Thanks @ddemeyer
- Extend enumerations to support ISHProject in Get-IshTypeFieldDefinition cmdlet #159 Thanks @OlegTokar
Compare-IshTypeFieldDefinitionPester tests comply to public/non-public field changes coming in 15.1/Alf1. #169 Thanks @ArianArt- Get-IshTypeFieldDefinition is enhanced for ISHEventType and ISHBackgroundTask to support dynamic result coming from API Settings.RetrieveFieldSetupByIshType. #171 Thanks @ArianArt
- Pester tests for ISHBackgroundTask and its manual field setup, are aligned to be synched with the result from API Settings.RetrieveFieldSetupByIshType. #177 Thanks @ArianArt
- Correct Get-IshSetting tests regarding field count change coming in 15.1/Alf1 #182 @ArianArt
- Improved stability of Pester tests on larger database #188 @ddemeyer
- Experimental OpenAPI proxies added to Tridion Docs Web Services REST v3.0 (
/ISHWS/api) and to Access Management Web Services REST v1.0 (/ISHAM/) #180 @ddemeyer
Housekeeping
- Made several tests environment agnostic by adding some explicit default entries in
ISHRemote.PesterSetup.ps1, but in turn allow overrides in later loadedISHRemote.PesterSetup.Debug.ps1by re-initializing variables like$ishLngLabel = 'en-us' $ishLngTarget1 = 'VLANGUAGEESES' $ishLngTarget1Label = 'es-es' $ishLngTarget2 = 'VLANGUAGEDEDE' $ishLngTarget2Label = 'de-de' $ishLngCombination = 'en-us'
Again, more details and examples are listed on the full release notes which are on https://github.com/sdl/ISHRemote/blob/master/Doc/ReleaseNotes-ISHRemote-8.0.md
v7.0
The one where...
- We introduced PowerShell 7+ support next to keeping Windows PowerShell 5.1 support. The latter powered by Windows .NET Framework 4.8 while PowerShell 7+ is powered by .NET 6+
- Again - similar to ISHRemote v1.0 recently - most users will not see many changes. Unless you are an expert in the WS-Federation/WS-Trust authentication protocols, those differences are described in the detailed release notes.
- This release marks the completion of the plan as described on ThePlan-ISHRemote-7.0.md
Full release notes are on https://github.com/sdl/ISHRemote/blob/master/Doc/ReleaseNotes-ISHRemote-7.0.md holding much more detail.
The below text describes the delta compared to fielded release ISHRemote v0.14, so will repeat some v1.0 highlights.
Breaking changes
The breaking changes are mostly induced by adding .NET 6.0 as platform support. This release achieved to have one set of ISHRemote cmdlets and cmdlet parameters that work across .NET Framework 4.8 and .NET 6.0.
- Most cmdlets and business logic are fully compatible except around authentication (
New-IshSession,Test-IshSessionandNew-IshObfuscatedFile) as described below. - Windows PowerShell older than 5.1 is no longer supported. In turn also .NET Framework 4.8, the final Windows .NET Framework version by Microsoft is required. This enables TLS 1.3 support in turn. #102
- Stop Strong Naming the ISHRemote assembly #80 Thanks @ddemeyer
Platform Support
More New and Changed
New-IshSessionandTest-IshSessionhosted by PowerShell (Core) 7+ can only dousernamemixed. The other variation calledwindowsmixedauthentication, also known as Windows Authentication typically required for Microsoft ADFS, is not supported by the .NET 6.0 platform. Note that these cmdlets hosted by Windows PowerShell 5.1 still supportwindowsmixedas before. Parameter-IgnoreSslPolicyErrorsstill works as before! Although the scope of this parameter is reduced toISHRemoteinstead of your complete PowerShell process session. Thanks @ddemeyerNew-IshObfuscatedFileworks as before (v0.14 and earlier) on Windows platforms on Windows PowerShell and PowerShell (Core). The cmdlet will give a warning that images cannot be obfuscated on non-Windows systems because of missing Microsoft Platform Extensions. Thanks @ddemeyer- Restored Parameter Completion in interactive mode. So with an active
IshSession, you getCtrl-Spaceparameter autocompletion on parameter-LovIdor-Name. #149 Thanks @ddemeyer Add-IshBackgroundTaskfix regarding date time parsing incoming dates incorrectly swapping month/day #137 Thanks @ddemeyerNew-IshObfuscatedFile,New-IshDitaGeneralizedXmlandTest-IshValidXmlreceived updated xml catalog handling classes aligning with product 14SP4/14.0.4 code base. #146 Thanks @jlaridon
Housekeeping
- Enabled Github Actions Continuous Integration, see
.\.github\workflows\continuous-integration.yml#102 Thanks @ivandelagemaat - Added
\Cmdlets\_TestEnvironment\TestPrerequisite.Tests.ps1that requires ISHRemote to test if the typical prerequisites for running Pester integration tests are present. Test descriptions give a hint on what services are expected or how to overwrite values inISHRemote.PesterSetup.Debug.ps1(e.g. unexisting status) to comply with your test environment. #4 Thanks @ddemeyer - Made several tests environment agnostic by adding some explicit default entries in
ISHRemote.PesterSetup.ps1, but in turn allow overrides in later loadedISHRemote.PesterSetup.Debug.ps1by re-initializing variables like$ishLngLabel = 'en-us' $ishLngTarget1 = 'VLANGUAGEESES' $ishLngTarget1Label = 'es-es' $ishLngTarget2 = 'VLANGUAGEDEDE' $ishLngTarget2Label = 'de-de' $ishLngCombination = 'en-us'
Again, more details and examples are listed on the full release notes which are on https://github.com/sdl/ISHRemote/blob/master/Doc/ReleaseNotes-ISHRemote-7.0.md
v1.0
The one where...
- Finally release ISHRemote v1.0, honestly nothing changed regarding quality. Some people find v1.0 more pleasing though :)
- Main reason for v1.0 is to prepare the trunk branch of source control for .NET (Core) as described in the ThePlan-ISHRemote-7.0.md
Full release notes are on https://github.com/sdl/ISHRemote/blob/master/Doc/ReleaseNotes-ISHRemote-1.0.md
Breaking changes
- Windows PowerShell older than 5.1 is no longer supported. In turn also .NET Framework 4.8, the final Windows .NET Framework version by Microsoft is also required. This enables TLS 1.3 support in turn. #102
- Stop Strong Naming the ISHRemote assembly #80 Thanks @ddemeyer
More New and Changed
Add-IshBackgroundTaskfix regarding date time parsing incoming dates incorrectly swapping month/day #137 Thanks @ddemeyerNew-IshObfuscatedFile,New-IshDitaGeneralizedXmlandTest-IshValidXmlreceived updated xml catalog handling classes aligning with product 14SP4/14.0.4 code base. #146 Thanks @jlaridon
Housekeeping
- Enabled Github Actions Continuous Integration, see
.\.github\workflows\continuous-integration.yml#102 Thanks @ivandelagemaat - Made several tests environment agnostic by adding some explicit default entries in
ISHRemote.PesterSetup.ps1, but in turn allow overrides in later loadedISHRemote.PesterSetup.Debug.ps1by re-initializing variables like$ishLngLabel = 'en-us' $ishLngTarget1 = 'VLANGUAGEESES' $ishLngTarget1Label = 'es-es' $ishLngTarget2 = 'VLANGUAGEDEDE' $ishLngTarget2Label = 'de-de' $ishLngCombination = 'en-us'
- Added more Pester Tests, current results below where:
- the skipped are about SslPolicyErrors testing
- the failed are about IMetadata bound fields (issue #58)
- Invoke-Pester 5.3.0 results on the same machine are
Tests completed in 902.47s Tests Passed: 914, Failed: 0, Skipped: 9 NotRun: 0
v0.14-beta
The one where...
This release was about subtle rebranding from SDL to RWS and mostly a maintenance release.
Breaking changes
- n/a
General
- Rebranded from
SDLtoRWS. #129 Thanks @DanyloMykhalchenko
DocumentObj - New and Changed
- Set-IshDocumentObj was extended with parameter
-FileContentfor EDTXML (so only Maps, Topics and Library Topics) allowing in-memory operations avoiding the need for temporary files. This cmdlet no longer has-Metadatamandatory. #19 Thanks @OlegTokar - Remove-IshDocumentObj is now aware that Docs v15 and greater versions will implicitly execute -Force actions, that is deleting object Version which doesn't have any languages anymore and deleting Logical object that doesn't have any versions with languages anymore. That being said, usage of -Force parameter is no longer required in Docs 15 (not yet released version).
More New and Changed
IshSession.MetadataBatchSizecan no longer be set to zero caused by rewriting Pester tests. Divion by zero caused random errors likeGet-IshFolderContent : Array dimensions exceeded supported range.#132 Thanks @ddemeyer- All
*.Tests.ps1are transformed to run on Pester 5.3.0 using new Discovery/Describe syntax. This allows the same*.Tests.ps1to be used on Windows PowerShell as on PowerShell (Core) 7+, see also The Plan of ISHRemote 7+. As most use the built-in Pester version 3.4.0 that comes with Windows PowerShell on Windows 10, I added an extra check to make sure you have the right version available. To force an upgrade from pre-packaged Pester 3.4.0, have a look at Pester Installation, although on most systems it comes down toInstall-Module -Name Pester -Force -SkipPublisherCheck. #132 @ddemeyer - Get-IshUser fails with 'Item has already been added. Key in dictionary: 'None' Key being added: 'None'' when running in parallel in StringEnum::GetStringValue #134 Thanks @jlaridon
Housekeeping
- Made several tests environment agnostic by adding some explicit default entries in
ISHRemote.PesterSetup.ps1, but in turn allow overrides in later loadedISHRemote.PesterSetup.Debug.ps1by re-initializing variables like$ishLngLabel = 'en-us' $ishLngTarget1 = 'VLANGUAGEESES' $ishLngTarget1Label = 'es-es' $ishLngTarget2 = 'VLANGUAGEDEDE' $ishLngTarget2Label = 'de-de' $ishLngCombination = 'en-us'
- Added more Pester Tests, current results below where:
- the skipped are about SslPolicyErrors testing
- the failed are about IMetadata bound fields (issue #58)
- Switched to a new laptop, which makes the test runs quite a lot faster
- Original reference numbers for Invoke-Pester 3.4.0 (
Get-Command Invoke-Pestershows its version)
Tests completed in 435.28s Passed: 922 Failed: 0 Skipped: 8 Pending: 0 Inconclusive: 0- Transformed Invoke-Pester 5.3.0 results on the same machine are
Tests completed in 902.47s Tests Passed: 914, Failed: 0, Skipped: 9 NotRun: 0
v0.13-beta
The one where...
This release was about adding SmartTagging support, giving insight in which fields are using IMetadataBinding and potentially smart-tag so auto-classify field values based on file content. And adding the Search-IshDocumentObj cmdlet giving you full access of the secondary Full-Text-Index of your system.
Full example are on ReleaseNotes-ISHRemote-0.13.md.
Breaking changes
- Public object
IshTypeFieldDefinitionused inGet-IshTypeFieldDefinitionhas got a renamed property fromTypetoDataSource. This property also defaults to an empty string when DataType is not ISHMetadataBinding, ISHLov or ISHType (previously it defaulted to DataType.ToString() ) #106 New-IshSessionnow creates an (implicit)IshSessionobject where-TimeoutIssuesand-TimeoutServicedefault values are lowered fromTimeSpan.MaxValueto 30 minutes. This will make you wait less than 1000+ years on an occasional network glitch (think ISP, load-balancer, firewall, etc).- If you like the unreasonable timeouts back, then use
New-IshSession ... -TimeoutIssue (New-TimeSpan -Days 30000) -TimeoutService (New-TimeSpan -Days 30000). - Note that if you run out of time, then you'll see an error similar to:
The request channel timed out while waiting for a reply after 00:29:59.9959957. Increase the timeout value passed to the call to Request or increase the SendTimeout value on the Binding. The time allotted to this operation may have been a portion of a longer timeout.
- If you like the unreasonable timeouts back, then use
General
Get-IshTypeFieldDefinitioncmdlet that returns an array of IshTypeFieldDefinition objects is now aware of the changes in Settings25.RetrieveFieldSetupByIshType API call that will take into effect since Docs 14SP4/14.0.4 and higher release #106 Thanks @OlegTokar- Property
DataTypereceived extra potential valueISHMetadataBindingfor the metadata-bound fields configured in the XML Extension Settings under the<metadatabindings>section. - Added boolean property
allowonsmarttaggingindicating if the metadata-bound field is also enabled for auto-classification on the backend. - Property
DataSourcewill show the server-side configured IMetadataBinding handler, sourced from<metadatabindings>.
- Property
- When using
StrictMetadataPreference.Continueupon Create and Update will filter out metadata-bounded fields of ValueTypeValue. Before the server back-end would throw an error like[-105006] Value type "none" is not allowed on field "FMBCONTENTREFTYPE". Field has configured metadata binding and it's value type can only be 'id' or 'element' [f:16244 fe:FMBCONTENTREFTYPE ft:Text] [105006;InvalidValueTypeForFieldType]as aValuefor taxonomy-like fields is not unique enough. For example value 'Paris', is it the city or the celebrity.Add-IshDocumentObject,Add-IshPublicationOutput,Set-IshDocumentObjectandSet-IshPublicationOutputare fixed for 14SP4/14.0.4 and up. #108- Extended
Get-IshTypeFieldDefinitionandNew-IshSessionand verifiedCompare-IshTypeFIeldDefinitionfor the 13/13.0.0 up until 14SP4/14.0.4 legacy case, starting 14SP4/14.0.4 the TypeFieldSetup API call handles this implicitly. Thanks to #106, issue #58 is solved on version 13/13.0.0 and above.
DocumentObj - New and Changed
Search-IshDocumentObjwas added which enables- Simple query with pipeline
IshObject[]as result for further processing. Or a-Count. - Raw Xml-based query - so without DSL - with pipeline
IshObject[]as result for further processing. Or a-Count.
Search-IshDocumentObj -MaxHitsToReturn 2000 -SimpleQuery "red AND blue OR green" | Out-GridView -PassThru
- Simple query with pipeline
Folder - New and Changed
- Extended
Get-IshFolderContentwith a-RequestedMetadataparameter. BeforeGet-IshFolderContentreturnedIshObjects to the pipeline initialized by$ishSession.DefaultRequestedMetadata(default toBasic). To get extra metadata like a system field likeFISHSTATUSTYPEyou had to pipe fromGet-IshFolderContenttoGet-IshDocumentObjwhich is in essence again a retrieve metadata call, which grows into a lot of communication overhead. Starting this version you could optionally add a-RequestedMetadata (Set-IshRequestedMetadataField -Level Lng -Name FISHSTATUSTYPE)which merges with theBasicfields - retrieved in one cmdlet. #123 - Fixed
Add-IshFolderparameter group where-IshSessionparameter is no longer mandatory. Thanks @OlegTokar #118
BackgroundTask - New and Changed
Add-IshBackgroundTaskcmdlet was added which enables- Classic use case enabling access to the BackgroundTask API
- Trigger a background task event for content objects using DocumentObj25.RaiseEventByIshLngRefs. E.g. triggering legacy correction actions on metadata like SMARTTAG would look like:
Get-IshFolder -BaseFolder Data -FolderTypeFilter @('ISHLibrary','ISHMasterDoc','ISHModule') -Recurse | Get-IshFolderContent -VersionFilter LATEST -LanguagesFilter en-us | Add-IshBackgroundTask -EvenType SMARTTAG
More New and Changed
- Service references updated for the MetadataBinding25 and DocumentObj25 to support Smart Tagging #108
- Changed default value of $ishSession.MetadataBatchSize from 1000 to 999. This value reduces the amount of database queries, especially on Oracle RDBMs-based systems. #116
- Extended cmdlet
Set-IshSettingandGet-IshSettingwith-ValueTypeparameter to allow read and write of referenced fields by element names. For example updating BOOLEAN fields or RESOLUTION fields by element names is safer than using the resolution value. #116
Housekeeping
- Made several tests environment agnostic by adding some explicit default entries in
ISHRemote.PesterSetup.ps1, but in turn allow overrides in later loadedISHRemote.PesterSetup.Debug.ps1by re-initializing variables like$ishLngLabel = 'en-us' $ishLngTarget1 = 'VLANGUAGEESES' $ishLngTarget1Label = 'es-es' $ishLngTarget2 = 'VLANGUAGEDEDE' $ishLngTarget2Label = 'de-de' $ishLngCombination = 'en-us'
- Added more Pester Tests, current results below where:
- the skipped are about SslPolicyErrors testing
- the failed are about IMetadata bound fields (issue #58)
Tests completed in 589.08s Passed: 868 Failed: 0 Skipped: 8 Pending: 0 Inconclusive: 0
v0.12-beta
Annotations - New and Changed
- Added ISHAnnotation layout printing #89
- Overload on
Get-IshPublicationOutputby-LogicalIdwould allow you to find all annotations for the logical id of the passed publication, map, topic, library, image or other. Thanks @OlegTokar #89 - Tests are now ListOfValue value independent, you can rename/customize
DANNOTATIONCATEGORYandDANNOTATIONTYPEentries and still have successful test runs. #88 #89
Folders - New and Changed
Get-IshFoldernow has a parameter-FolderTypeFilterthat already filters for certain folder types. By default it is backward compatible returning all folders. By specifying one or more folder types through-FolderTypeFilter @("ISHModule", "ISHMasterDoc", "ISHLibrary")you only get those folders on the pipeline to pass to cmdlets likeGet-IshFolderContentas you potentially only want to handle topics (ISHModule) or maps (ISHLibrary). Thanks @OlegTokar #92Get-IshFolderContentno longer implemented over DocumentObj25.RetrieveLanguageMetadata but over the RetrieveVersionMetadata/RetrieveMetadataByIshVersionRefs API calls when-VersionFilteris present or over RetrieveMetadata when-VersionFilteris explicitly set to""if you want to retrieve all version and not just the defaultLATESTversion. This allows instant filtering on folder content. It respects$ishSession.MetadataBatchSizeto iterate over massive repositories. Thanks @OlegTokar #91 #93 and @HildeVermeiren #99- The below example recursively loops a certain folder, showing a progress bar. Passed on the pipeline it will only return LatestVersion of objects where the source language is empty (so the authoring language and not generated target languages).
$metadataFilter = Set-IshMetadataFilterField -Level Lng -Name FSOURCELANGUAGE -FilterOperator Empty Get-IshFolder -FolderPath "\General\Mobile Phones Demo" -Recurse | Get-IshFolderContent -VersionFilter LATEST -MetadataFilter $metadataFilter - Another example recursively loops a certain folder, showing a progress bar. Passed on the pipeline it will return all versions objects in the folders where the source language is not-empty (so generated target languages that potentially contain 'pretranslation'). And additional filter on status filter the result set to objects in or send out for translation.
$metadataFilter = Set-IshMetadataFilterField -Level Lng -Name FSTATUS -ValueType Element -FilterOperator In -Value 'VSTATUSTOBETRANSLATED, VSTATUSINTRANSLATION' | Set-IshMetadataFilterField -Level Lng -Name FSOURCELANGUAGE -FilterOperator NotEmpty Get-IshFolder -FolderPath "\General\Mobile Phones Demo" -Recurse | Get-IshFolderContent -MetadataFilter $metadataFilter - A lengthier example allowing custom operations or purging
pretranslationwith progress/logging over a customizableLog-IshCustomDocumentObjis available on /Source/ISHRemote/Trisoft.ISHRemote/Samples/Sample.Automate.LegacyCorrection.ps1 Thanks @OlegTokar #97
- The below example recursively loops a certain folder, showing a progress bar. Passed on the pipeline it will only return LatestVersion of objects where the source language is empty (so the authoring language and not generated target languages).
More New and Changed
Get-IshLovValuegot an overload-LovValueIdparameter. This way you can explicitly retrieve a fully initialized LovValue object and through constructs like(Get-IshLovValue -LovId DANNOTATIONCATEGORY -LovValueId VANNOTATIONCATEGORYCOMMENT).Labelyou can still test labels (e.g.Comment) in your cmdlet tests. #88
Housekeeping
- Made several tests environment agnostic by adding some explicit default entries in
ISHRemote.PesterSetup.ps1, but in turn allow overrides in later loadedISHRemote.PesterSetup.Debug.ps1by re-initializing variables like$ishLngLabel = 'en-us' $ishLngTarget1 = 'VLANGUAGEESES' $ishLngTarget1Label = 'es-es' $ishLngTarget2 = 'VLANGUAGEDEDE' $ishLngTarget2Label = 'de-de' $ishLngCombination = 'en-us' - Added more Pester Tests, current results below where:
- the skipped are about SslPolicyErrors testing
- the failed are about IMetadata bound fields (issue #58)
Tests completed in 719.56s Passed: 821 Failed: 0 Skipped: 8 Pending: 0 Inconclusive: 0
v0.11-beta
More New and Changed
- Added the following cmdlets
Housekeeping
- Added more Pester Tests, current results below where:
- the skipped are about SslPolicyErrors testing
- the failed are about IMetadata bound fields (issue #58)
Tests completed in 298.98s
Passed: 788 Failed: 0 Skipped: 8 Pending: 0 Inconclusive: 0
v0.10-beta
More New and Changed
- On IshSession...
Housekeeping
- Added more Pester Tests, current results below where:
- the skipped are about SslPolicyErrors testing
- the failed are about IMetadata bound fields (issue #58)
Tests completed in 312.65s
Passed: 602 Failed: 0 Skipped: 8 Pending: 0 Inconclusive: 0
v0.9-beta
The one where...
This release was about extending functionality. Skipping version 0.9 because of an internal version conflict, but we have version numbers available still :)
Breaking changes
Although binary and behavior compatibility is always high on my list, sometimes you have to break.
- Parameter
$ishSession.Separatorwas previously misspelled like$ishSession.Seperator. Thanks @vmaksymenko #61
General
Folder - New and Changed
- Recursive folder retrieval with
-Depthparameter specified has become faster as the superfluous subfolder retrieval is now avoided. Thanks @OlegTokar #56 Get-IshFolderLocation -FolderId 0no longer defaults to BaseFolder (typically\General) which when unchecked causes issues in your downstream code. Thanks @OlegTokar #62
More New and Changed
Get-IshTypeFieldDefinitionto support new typeISHAnnotationpart of the 14/14.0.0 release. Thanks @HildeVermeiren #54
Housekeeping
- Added more Pester Tests, current results below where the skipped are about SslPolicyErrors testing.
Tests completed in 222.77s
Passed: 602 Failed: 0 Skipped: 8 Pending: 0 Inconclusive: 0