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 theIShEvent
andIShBackgroundTask
table 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-IshBackgroundTask
with parameterInputDataTemplate
to 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.ps1
by 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-IShSession
cmdlet 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
WcfSoapWithOpenIdConnect
on 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-IshSession
andTest-IshSession
received the-Protocol
parameter. 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-IshTypeFieldDefinition
Pester 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.ps1
by 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-IshSession
andNew-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-IshSession
andTest-IshSession
hosted by PowerShell (Core) 7+ can only dousernamemixed
. The other variation calledwindowsmixed
authentication, 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 supportwindowsmixed
as before. Parameter-IgnoreSslPolicyErrors
still works as before! Although the scope of this parameter is reduced toISHRemote
instead of your complete PowerShell process session. Thanks @ddemeyerNew-IshObfuscatedFile
works 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-Space
parameter autocompletion on parameter-LovId
or-Name
. #149 Thanks @ddemeyer Add-IshBackgroundTask
fix regarding date time parsing incoming dates incorrectly swapping month/day #137 Thanks @ddemeyerNew-IshObfuscatedFile
,New-IshDitaGeneralizedXml
andTest-IshValidXml
received 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.ps1
that 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.ps1
by 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-IshBackgroundTask
fix regarding date time parsing incoming dates incorrectly swapping month/day #137 Thanks @ddemeyerNew-IshObfuscatedFile
,New-IshDitaGeneralizedXml
andTest-IshValidXml
received 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.ps1
by 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
SDL
toRWS
. #129 Thanks @DanyloMykhalchenko
DocumentObj - New and Changed
- Set-IshDocumentObj was extended with parameter
-FileContent
for EDTXML (so only Maps, Topics and Library Topics) allowing in-memory operations avoiding the need for temporary files. This cmdlet no longer has-Metadata
mandatory. #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.MetadataBatchSize
can 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.ps1
are transformed to run on Pester 5.3.0 using new Discovery/Describe syntax. This allows the same*.Tests.ps1
to 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.ps1
by 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-Pester
shows 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
IshTypeFieldDefinition
used inGet-IshTypeFieldDefinition
has got a renamed property fromType
toDataSource
. This property also defaults to an empty string when DataType is not ISHMetadataBinding, ISHLov or ISHType (previously it defaulted to DataType.ToString() ) #106 New-IshSession
now creates an (implicit)IshSession
object where-TimeoutIssues
and-TimeoutService
default values are lowered fromTimeSpan.MaxValue
to 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-IshTypeFieldDefinition
cmdlet 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
DataType
received extra potential valueISHMetadataBinding
for the metadata-bound fields configured in the XML Extension Settings under the<metadatabindings>
section. - Added boolean property
allowonsmarttagging
indicating if the metadata-bound field is also enabled for auto-classification on the backend. - Property
DataSource
will show the server-side configured IMetadataBinding handler, sourced from<metadatabindings>
.
- Property
- When using
StrictMetadataPreference.Continue
upon 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 aValue
for taxonomy-like fields is not unique enough. For example value 'Paris', is it the city or the celebrity.Add-IshDocumentObject
,Add-IshPublicationOutput
,Set-IshDocumentObject
andSet-IshPublicationOutput
are fixed for 14SP4/14.0.4 and up. #108- Extended
Get-IshTypeFieldDefinition
andNew-IshSession
and verifiedCompare-IshTypeFIeldDefinition
for 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-IshDocumentObj
was 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-IshFolderContent
with a-RequestedMetadata
parameter. BeforeGet-IshFolderContent
returnedIshObject
s to the pipeline initialized by$ishSession.DefaultRequestedMetadata
(default toBasic
). To get extra metadata like a system field likeFISHSTATUSTYPE
you had to pipe fromGet-IshFolderContent
toGet-IshDocumentObj
which 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 theBasic
fields - retrieved in one cmdlet. #123 - Fixed
Add-IshFolder
parameter group where-IshSession
parameter is no longer mandatory. Thanks @OlegTokar #118
BackgroundTask - New and Changed
Add-IshBackgroundTask
cmdlet 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-IshSetting
andGet-IshSetting
with-ValueType
parameter 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.ps1
by 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-IshPublicationOutput
by-LogicalId
would 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
DANNOTATIONCATEGORY
andDANNOTATIONTYPE
entries and still have successful test runs. #88 #89
Folders - New and Changed
Get-IshFolder
now has a parameter-FolderTypeFilter
that 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-IshFolderContent
as you potentially only want to handle topics (ISHModule
) or maps (ISHLibrary
). Thanks @OlegTokar #92Get-IshFolderContent
no longer implemented over DocumentObj25.RetrieveLanguageMetadata but over the RetrieveVersionMetadata/RetrieveMetadataByIshVersionRefs API calls when-VersionFilter
is present or over RetrieveMetadata when-VersionFilter
is explicitly set to""
if you want to retrieve all version and not just the defaultLATEST
version. This allows instant filtering on folder content. It respects$ishSession.MetadataBatchSize
to 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
pretranslation
with progress/logging over a customizableLog-IshCustomDocumentObj
is 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-IshLovValue
got an overload-LovValueId
parameter. This way you can explicitly retrieve a fully initialized LovValue object and through constructs like(Get-IshLovValue -LovId DANNOTATIONCATEGORY -LovValueId VANNOTATIONCATEGORYCOMMENT).Label
you 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.ps1
by 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.Separator
was previously misspelled like$ishSession.Seperator
. Thanks @vmaksymenko #61
General
Folder - New and Changed
- Recursive folder retrieval with
-Depth
parameter specified has become faster as the superfluous subfolder retrieval is now avoided. Thanks @OlegTokar #56 Get-IshFolderLocation -FolderId 0
no longer defaults to BaseFolder (typically\General
) which when unchecked causes issues in your downstream code. Thanks @OlegTokar #62
More New and Changed
Get-IshTypeFieldDefinition
to support new typeISHAnnotation
part 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