All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Automatic deployment of documentation to website (#120, [@lipkau][])
- New parameter
-Query
toGet-Page
for complex searches (#106, [@lipkau][]) - Documentation for the custom classes of the module (#107, [@lipkau][])
- Added full support for PowerShell Core (
pwsh
) (#119, [@lipkau][]) - Fixed encoding of Unicode chars (#101, [@lipkau][])
- Require necessary Assembly for HttpUtility (#102, [@lipkau][])
- Shows a warning when the server requires a CAPTCHA for the authentication (#91, [@lipkau][])
- Custom classes now print relevant data in
ToString()
(#92, [@lipkau][])
A new major version! ConfluencePS has been totally refactored to introduce new features and greatly improve efficiency.
"A new major version" means limited older functionality was intentionally broken. In addition, there are a ton of good changes, so some big picture notes first:
- All functions changed from "Wiki" prefix to "Confluence", like
Get-ConfluencePage
- But the module accommodates for any prefix you want, e.g.
Import-Module ConfluencePS -Prefix Wiki
- But the module accommodates for any prefix you want, e.g.
- Functions changed or removed:
Get-WikiLabelApplied
[removed; functionality added toGet-ConfluencePage -Label foo
]Get-WikiPageLabel
>Get-ConfluenceLabel
New-WikiLabel
>Add-ConfluenceLabel
Get-*
functions now support paging, and defining your preferred page size-Limit
and-Expand
parameters were removed from functions- With paging implementation, modifying the returned object limit isn't necessary
- And allows for richer objects to be returned by default
-ApiUri
and-Credential
parameters added to every function- This is useful if you have more than one Confluence instance
Set-ConfluenceInfo
now definesApiUri
andCredential
defaults for the current session- And you can override any single function:
Get-ConfluenceSpace -ApiUri 'https://wiki2.example.com' -Credential (Get-Credential)
- All functions now output custom object types, like
[ConfluencePS.Page]
- Allows for returning more object properties...
- ...and only displaying the most relevant in the default output
- Also enables a much improved pipeline flow
- This behavior removed the need for the
-Expand
parameter
- Private functions are leveraged heavily to reduce repeat code
Invoke-Method
is the most prominent example
If you like drinking from the firehose, here's everything we closed for 2.0, because we probably forgot to list something here. Otherwise, read on for summarized details.
- All
Get-*
functions now support paging -ApiUri
and-Credential
parameters added to functionsSet-ConfluenceInfo
behavior is mostly unchanged (see below)
- Objects returned are now custom typed, like
[ConfluencePS.Page]
- Try piping ConfluencePS objects into
Format-List *
to see all properties
- Try piping ConfluencePS objects into
- Function prefix defaults to "Confluence" instead of "Wiki" (
Get-ConfluenceSpace
)- If you like "Wiki", you can
Import-Module ConfluencePS -Prefix Wiki
- If you like "Wiki", you can
Add-ConfluenceLabel
- Name used to be
New-WikiLabel
- The "Add" verb better reflects the function's behavior
- Name used to be
Get-ConfluenceChildPage
- Default behavior returns only immediate child pages. Which also means...
- Added
-Recurse
to return all pages below the given page, not just immediate child objects- NOTE: Recurse is not available in on-prem installs right now, only Atlassian cloud instances
-ParentID
>-PageID
Get-ConfluenceLabel
- Name used to be
Get-WikiPageLabel
- Now returns
[ConfluencePS.ContentLabelSet]
objects- Which are relationships of
[ConfluencePS.Label]
&[ConfluencePS.Page]
objects
- Which are relationships of
- Name used to be
Get-ConfluencePage
Get-ConfluencePage
(with no parameters) doesn't work anymore- With paging supported, this would be a ton of pages
Get-ConfluenceSpace | Get-ConfluencePage
still works, if you really need it
- Now returns
[ConfluencePS.Page]
objects - New
-Label
parameter filters returned pages by applied label(s) - New
-Space
parameter accepts Space objects
Get-ConfluenceSpace
- Now returns
[ConfluencePS.Space]
objects -Key
renamed to-SpaceKey
("Key" still works as an alias)-Name
parameter removed
- Now returns
New-ConfluencePage
- New
-Parent
parameter accepts Page objects - New
-Space
parameter accepts Space objects
- New
New-ConfluenceSpace
-Key
renamed to-SpaceKey
("Key" still works as an alias)
Set-ConfluenceInfo
- Now adds the URI/Credential to
$PSDefaultParameterValues
-ApiUri
&-Credential
parameters now exist on every functionSet-ConfluenceInfo
defines their defaults for the current session- Meaning they could still be overwritten on any single command
- No longer automatically prompts for credentials if
-Credential
is absent- Allows for anonymous authentication to public instances
- New
-PromptCredentials
parameter displays aGet-Credential
dialog while connecting - New
-PageSize
parameter optionally defines default page size for the session
- Now adds the URI/Credential to
Set-ConfluencePage
- Now returns
[ConfluencePS.Page]
objects -CurrentVersion
parameter removed (determined and incremented automatically now)- New
-Parent
parameter accepts Page objects
- Now returns
-Limit
and-Expand
parametersGet-*
function paging removes the need for fiddling with returned object limits- Custom object types hold relevant properties, removing the need to manually "expand" results
Get-WikiLabelApplied
- Functionality replaced with
Get-ConfluencePage -Label foo
- Functionality replaced with
@lipkau refactored the entire module, and is the only reason 2.0
is a reality. In short, he is amazing. Thank you!
No changelog available for version 1.0
of ConfluencePS. 1.0
was created in late 2015. Version .69
was published to the PowerShell Gallery in Nov 2016, and it remained unchanged until 2.0
. If you're looking for things that changed prior to 2.0
...sorry, but these probably aren't the droids you're looking for. :)