Граф коммитов

28 Коммитов

Автор SHA1 Сообщение Дата
Pepe Rivera 56569d4bed
Update version to 1.21.3 (#262)
Update version to 1.21.3 (#262)
2024-06-11 12:50:45 -07:00
Howard Wolosky c696e3e484
Update the module to 1.21.2 (#246)
Updates the module version number and the CHANGELOG
2024-02-04 20:59:49 -08:00
Howard Wolosky da7769d059
Update the module to 1.21.1 (#243)
* Updates the module version number and CHANGELOG
2024-01-31 23:39:13 -08:00
Howard Wolosky abd0007755 Update CHANGELOG.md for 1.21.0 2020-12-01 12:15:20 -08:00
Howard Wolosky 14453c5ac7
V1 msix support (#217)
Adds PackageTool support for the `msix*` file extensions by cherry-picking the following commits from the v2 branch:

94d98dffcd
d7d1a4c73b
bc7396f408
cf2379a8b6
c414efd76f

This combination of commits does the following:

* Adds support for `.msix`, `.msixbundle`, `.mxixupload` package file extensions
* Proper handling of container files which contain stub packages
* Also adds support for creating submission pacakges for `.xvc` files (Xbox packages).  Submitting those packages using the v1 API however remains untested.
* Makes all `Test-Path` commands use `-ErrorAction Ignore` to avoid any erroneous errors being reported due to lack of file access (all we care about is getting a `$true` or `$false` response from those function calls).

Resolves #216
2020-12-01 12:03:59 -08:00
Howard Wolosky 93787985f7
Update the module to 1.20.1 and improve documentation (#211)
* Updates the module version number

* Improved the installation documentation (to note that PowerShellGallery
is now an option).  Also did some other minor documentation cleanup.
2020-08-27 13:49:18 -07:00
Howard Wolosky 1f6a272b28
Updating the module to 1.20.0 (#203) 2020-08-23 19:20:31 -07:00
Howard Wolosky f18939e94d
Fix character escaping issues during config generation (#198)
* Fix character escaping issues during config generation

Many years ago, #24 attempted to properly escape special characters
in a string by creating its own `Get-EscapedJsonValue` function, but
that only escaped `\`, `\t`, `\r`, `\n`.  That doesn't cover all the
possible characters needing to be encoded though.

At the time, this clearly seemed like a _good_ idea, but looking back
at this code with more experience, it's not clear to me why I didn't
just use `ConvertTo-Json` directly. Doing that now.

One additional update that needed to be done however was to "escape"
in `tag` and `notesForCertification` with '//' with '\\'.  This isn't
_completely_ correct, but not doing so meant that anything after that
would be improperly flagged as a comment by `Remove-Comment` and then
removed.
2020-08-19 14:25:29 -07:00
Howard Wolosky ae50bce792 Update CHANGELOG for 1.19.3 2020-04-10 15:01:09 -07:00
Howard Wolosky 6cb3a17f61 Update CHANGELOG for 1.19.1 2018-11-14 13:57:19 -08:00
Howard Wolosky e9841e73e3
Improve robustness of `Get-NugetPackageDllPath` to file access issues
`Test-Path` will write to the error stream if there is a file access issue,
but still return back `$false`.  Within this method, we simply want to test
if the file exists -- not having access to the file is an equivalence case
for us and should be silent.

This updates `Test-Path` to use `-ErrorAction Ignore` to silence any potential
errors that we don't care about.

Additionally this updates `Test-AssemblyIsDesiredVersion` to also be robust
to file access issues.  If it has issues getting the file information, even
after getting passed the `Test-Path` in the parameter validation, we want to
gracefully return `$false` without undo error logging (we will write a
Warning log entry though for completeness).
2018-11-14 13:53:20 -08:00
Howard Wolosky ddd026c73a Update CHANGELOG for 1.19.0 2018-08-30 10:59:19 -07:00
Howard Wolosky ae8e72ad0a Migrate New-ApplicationFlightSubmission to use isMinimalResponse
This is a follow-up to cdee54f6e3 (Pull Request #124).
The API team originally added `isMinimalResponse=true` as an optional parameter to the
clone/POST command for new submissions, which had it return a sparse/minimal response
in order to reduce the likelihood of getting a `500` error response while it tried to
gather the complete data for the full submission response.

They have now added support for the same scenario for Flights as well, and so the same
type of change is being made to `New-ApplicationFlightSubmission` so that it creates
the cloned submission with `IsMinimalResponse=true` and then immediately tries to
`GET` that submission to get the full content.
2018-08-30 10:55:38 -07:00
Howard Wolosky 16c5e66b7c Updating CHANGELOG.md for 1.18.1 2018-08-23 12:58:15 -07:00
Howard Wolosky 345c521707 Increase the potential spread for the retry logic
We knew already that we wanted to use a random value for the
intial sleep time on the retry in order to ensure a nice time
spread for all clients (to reduce the likelihood of continued
contentions).  However, to achieve this, we had PowerShell
randomly select one of five potential initial sleep times
(1, 1.25, 1.5, 1.75, 2).

To achieve a better spread, we'll instead let it truly select a random value between a larger initial spread of values between
0.40 and 2.0 with a larger range of granularity.

This change is attempting to solve a real problem we're
experiencing lately with an increased number of 429 errors
(too many requests in a given minute).
2018-08-23 12:50:41 -07:00
Howard Wolosky 385f87b9d9 Updating CHANGELOG for v1.18.0 2018-08-07 14:56:03 -07:00
Howard Wolosky 19a8947d8d Updating module version number and CHANGELOG 2018-08-07 14:43:56 -07:00
Howard Wolosky 1969ff8d38 Updating changelist value in CHANGELOG for 1.17.0 2018-06-05 11:00:26 -07:00
Howard Wolosky 35a953869e Cache the AccessToken for console session to speed up successive command requests
Sped up the module for users not using a Proxy.  `AccessToken` is now cached for the
duration of the console session, and only needs to be refreshed when it expires (which is about
every 60 minutes).  Previously, the access token was only cached for the duration of the currently
executing command, which meant that any succesive interactions at the commandline required a new
`AccessToken` to be acquired.
2018-06-05 10:45:54 -07:00
Howard Wolosky 0f4cd9cb71 Update CHANGELOG for 1.16.4 2018-04-23 13:52:45 -07:00
Howard Wolosky b11f0a4932 All apps support trailers and gaming options now
The Store has opened up gaming options and trailers to
all apps, whether or not they explicitly have the
"advanced listings" option added.

The API is making a change to always return back
`true` for `hasAdvancedListingSupport`, but that
doesn't completely unblock StoreBroker.  StoreBroker also
followed the guidance in the documentation that indicated
if `trailers` or `gamingOptions` was `null` in the cloned
submission, it meant that they weren't supported.  That
is no longer accurate and the MSDN documentation is being
updated, but that also means that StoreBroker needs to make
some minor changes to accomodate that change in behavior
from the API.
2018-04-23 13:50:42 -07:00
Howard Wolosky eab2e92319 Update CHANGELOG for v1.16.3 2018-04-10 12:25:09 -07:00
Howard Wolosky 01dbbd14b3 Fix -UpdateTrailers support
There was an error in `Patch-ApplicationSubmission` (used internally
by `Update-ApplicationSubmission`) where it checked for
`-UpdateGamingOptions` for both updating gaming options as well
as for updating trailers, where it should have been checking
`-UpdateTrailers` for the trailers portion.
2018-04-10 12:19:24 -07:00
Howard Wolosky 12c2ff267c Update CHANGELOG.md for 1.16.2 2018-04-06 15:38:28 -07:00
Howard Wolosky 1f051e4e10 Fix parsing of trailer titles when there is no inner comment
The XML DOM that PowerShell returns treats inner text of an `XMLElement`
differently depending on whether it has any attributes/comments on it
vs just purely having text inside.

In the case of a `<Caption />` element, we know it will always have at
least one attribute on it.  That means that getting the caption text
will always be by querying for the `InnerText` of that element. The same
goes for the `<Image />` element for trailers: there must always be an
attribute specifying the image file, thus any text within the element
will always be accessed via `InnerText`.

For the `<Title />` element of a `<Trailer />`, things are different.
There are no attributes on that, so accessing the actual text of the
trailer will be different depending on whether the element has a
comment within the node or not.  At the moment, StoreBroker expected
there to always be that Loc comment within the `<Title />` element:

     <!-- _locComment_text="{MaxLength=255} Trailer title 1" -->

Thus, it always accessed the text via `InnerText.Trim()`.

A StoreBroker user ran into an issue when processing their trailers
when their localized PDP files did _not_ have this comment, as
packaging failed with this error:

     Convert-TrailersToObject : You cannot call a method on a null-valued expression.
     At StoreBroker\PackageTool.ps1:1432 char:9

In this scenario, calling `InnerText` returned `$null`, and so we were calling
`$null.Trim()` which resulted in the error.

The fix is to simply check if we're working with a String (the scenario when
there is no inner comment), and if not, to then proceed with getting the `InnerText`.
To ensure we don't have the problem anywhere else, I've made the fix more generic
with a helper method, and updated all of the places where we currently attempt
to access the text content of an `XMLElement`.
2018-04-06 15:32:26 -07:00
Howard Wolosky ca31ff1f9b Update CHANGELOG.md for 1.16.1 2018-02-15 13:40:02 -08:00
Howard Wolosky 2b647a4202 Update CHANGELOG.md
CHANGELOG.md hasn't been updated since StoreBroker was first released.

We should change that.

I've already gone through and added the appropriate [`git tags`](https://git-scm.com/docs/git-tag)
for every release, and now the CHANGELOG will provide a very quick summary of every change as well
for quick and easy perusal.

Going forward, we should keep both this CHANGELOG and the tags up-to-date.

Additionally updated CONTRIBUTING.md to explain the procedure going forward,
and to call out all of the contributors that we've had so far.
2018-02-14 15:27:26 -08:00
Howard Wolosky fb623841b7 v1.0.0 - Initial Public Release
Releasing the StoreBroker PowerShell module to the public,
along with the documentation and code for deploying an
internal proxy for the Windows Store Submission API.
2016-11-29 22:03:45 -08:00