Releases: vexx32/PSWordCloud
Releases · vexx32/PSWordCloud
refs/tags/v3.0.0: v3.0.0
:rocket: run publish on MacOS
v2.1.1 - Critical Fixes for PS 6.2
Fixes
- Fixes
The type initializer for WCUtils threw an exception
error on callingNew-WordCloud
in PowerShell Core 6.2 and up.
SUPER LATE EDIT: Pretty sure this fix only works in Pwsh 6.2 on Windows. Please install at least version 7 of PowerShell and at least version 3.0.0 of PSWordCloud if you want the module on Mac or Linux.
🎉
v2.1.0 - Free Rotations for Everyone!
New Things
- Introduced
-AllowRotation
parameter, with several possible values, includingNone
for the straight-edged folks, andAll
for the more chaotic fellows. - Introduced
-RotateFocusWord
. If you're specifying a focus word, you can optionally pre-determine its orientation as precisely as you like! - Added some more recent examples to the Github gallery.
Old Things
-DisableRotation
parameter was removed. Use-AllowRotation None
for the same effect.
Fixed Things
- WinPS compatibility improved. There were some module import issues due to using PS Core-specific code patterns in the PSM1 that have been replaced with more compatible alternatives.
Release should be on the PSGallery momentarily. 😄
2.0.0 - SkiaSharp & C# Implementation (& 2.0.1)
2.0.1
- Fixed some maml-help omissions that I missed the first time.
2.0.0 - SkiaSharp and C#
- Rewrote the entire module in C# as a single cmdlet.
- Most parameters are the same, a couple minor changes.
- Docs are available in the repo now, since they're needed to generate the maml-help.
- Should fully work on Linux and Mac thanks to Skia's stellar cross-platform shenanigans and a few of my own.
- Generates SVG files instead of PNG.
- Tons faster, both at processing text, and scanning the canvas & drawing words.
- I checked the text processing by pulling the text content of all PS1 and CS files in the PowerShell Core repo, and it managed to chew through all of that in about 10-15 seconds flat. This step took approximately half an hour under the PowerShell version of the code.
- In the above example, it drew a cloud of 250 words in about 15 seconds. Previously, this would have taken around 15-20 minutes, and up to 60 minutes on some of the slower machines I tried it on.
Yeah, if you were looking for a thorough changelog here, you're SOL. I literally rewrote the entire thing from top to bottom, in a different language, with a different library. It's a miracle I didn't break it, really.
Installing
# If you are installing the first time around
Install-Module PSWordCloud -Scope CurrentUser
# If you're updating
Update-Module PSWordCloud
v1.4.0 - Multithreading!
Fixes
- Uses Winding path fill mode to avoid text overlaps creating gaps
- Adjust distance steps to be wider when using more padding
- Reuse words' GraphicsPath when rendering instead of re-creating the object
- Modifications to verbose output to simplify and focus on what's important
- Change default padding value to 3.5
New Stuff
- Add -ExcludeWord to specify custom excluded words
- Add -AllowStopWords to ignore the default exclusions
- Multithreaded word crunching! Crunch 800,000 words in mere moments and start rendering right away!
v1.3.1 - Bugfix
PSWordCloud v1.3 - Mayhem!
New Features
- Add -StrokeColor and -StrokeWidth parameters - add outlines to your words!
- Add -BoxCollisions switch to revert back to prior collision detection behaviour
- Add -Padding parameter to increase or decrease word collision boundary sizing; value of 1 is the default. Zero is close enough to touch, higher values can be used to allow the cloud to be spaced out more evenly and tends to look a little nicer, but take a lot longer.
- Add -AllowOverflow switch to permit the word cloud to overflow the image boundaries somewhat
- Display Write-Progress information of where words are being placed and how far along the rendering is
- Add -RandomSeed param to let you pick how the randomness behave. In theory, identical inputs should behave roughly identically with the same selected seed value.
- Add -FocusWord to allow you to specify a "title" or "center word" for the cloud to surround.
Bug Fixes
- Fixed issue in the argument transformations for the [Color]-typed parameters; you can enter custom colors in string formats properly now.
- Add rotation checks for both orientations at each position (first chosen orientation selected randomly)
- Use Region to store paths and check IsVisible against the new word's bounds to get much more finely-tuned overlap detection
- Fix up -WordScale param to... actually work...
- Allow setting 0 on -MaxWords to display all words that scale large enough to be rendered.
- Set fixed resolution values to 96 DPI to hopefully fix some issues on Mac OS.
PSWordCloud v1.2.1
New features
- Ability to specify a base background image with
-BackgroundImage
parameter! - Rotated words! (Can be disabled with
-DisableRotation
) - Allow arbitrary object input! Inputs will be passed through Out-String when necessary to stringify!
- Much more useful verbose output!
Fixed Bugs
- Fixed issue where bounds checking wasn't correctly applied sometimes, leading to words that are rendered out-of-frame
- Performance improved by not bothering to check if the word collides with others if it's already outside frame