This new version of Stacks has a number of speed improvements extensively using a new template compiler that speeds up HTML/CSS/JS template generation by as much as 10x. These changes are underneath the covers to Stacks so you won't notice them except when things are a bit snappier.
Stacks v4.0 introduced the new compiled template rendering engine, but it was only used in edit-mode, only for HTML templates, and in limited ways.
Stacks v4.1 expands the use of the new rendering engine to work with all template types in all modes.
The new rendering engine is an opt-in process for stack developers. This step-by-step approach allows stack developers the time they need to migrate to the new rendering engine while minimizing inconvenience to users. All old stacks that could not be migrated continue to work with the old rendering engine.
Users don't have to do anything to see these improvements.
- 461Stacks API: %slice% properties such as addTypes can be spread across multiple lines. see bug for more info.
- 599Stacks API: %slice% properties like addTypes were not updating after stack upgrades
- 636The library groups bar renders icons in the center of the selection and the selection is centered in the bar no matter if running under Catalina or Big Sur. But must be built now with the Big Sur SDK in Xcode 12
- 637Fixed a crash that could occur after editing a partial.
- 621RW7 Preview-Mode rendering issues with some 3rd party stacks corrected.
- 622Drag and drop when stacks are not in a vertical stack works like it did in v4.0.
- 634Fixed a crash that occured usually while previewing.
- 633Fixed a crash that occured when undoing after closing a partial.
- 615Dragging near hidden stacks no longer sometimes drags their contents.
- 613Fix for custom property assignment in JSON drags that v4.1 had mistakenly disallowed.
- 617Fixed a crash that happened while changing pages.
- 615Fix for crash on publish when SiteMap+ is present.
- 616Fixed an intermittant crash on local publish.
- 604Fixed jumpy page and/or drag and drop issue for pages with hidden stacks.
- 610Fixed a crash that can occur sometimes after unpacking a Template within a stack.
- 580Added a subtitle to link controls.
- 573Image controls have a larger image well.
Link Button Improvements
- 578Link controls again have the ability to edit a link, not just delete it.
- 386Link and Unlink button both appear enabling editing of existing links.
- 558The Link button is enabled immediately after dropping an image into the layout.
Calm Down Warning Message, Calm Down.
- 475The warning for opening files written with later versions of Stacks is less pedantic. It will only display when it's trying to read a file that is significantly newer than the Stacks version. So going forward you're unlikely to see this warning unless there is a real problem.
Some Specific Speed Improvements
- 542Changing pages no longer forces a full page render and should be much faster.
- 560Dragging items no longer freezes for a moment when entering and exiting the layout area.
- More threading changes under the hood, these will be important for future features.
Big Sur Bug Fixes
- 574Image controls no longer have buttons that look disabled in Big Sur.
- 572Link controls no longer have buttons that look disabled in Big Sur.
- 571The library groups bar no longer draws a garbage rectangle over the selected group in Big Sur.
- 570The details/advanced button is no longer off center and clipped in Big Sur.
Stacks API Bug Fixes
- Stack API: Enabled performance metrics for developer mode.
- 600Stack API: Image controls used inside of partials correctly processed on other pages.
- 607Stack API: Image stacks used inside of partials correctly processed on other pages.
- 587Stack API: Image stacks used inside of partials in subdirectories now processed correctly.
- 584Stack API: File templates correctly processed inside of partials.
- 594Stack API: File-type templates process paths in the same way as Stacks 3.x and 4.0 (all paths are processed as CSS). This should fix problems with background images in some stacks like PageSafe. (Thanks for the bug reports Matthias.)
- 593Stack API: Copy and paste no longer bypasses maxChildren and allowedTypes constraints.
- 575Stack API: -allowedTypes more rigidly enforced now. Images and partials can no longer be dragged into containers where they are not allowed.
- 576Stack API: -maxChildren works on all types of stacks. Images and partials that used to ignore the max, now work as expected.
- 582Stacks API: %id% is correctly replaced in templates with type=file
- 589Stacks API: %id% inside of partials in now shorter and less complex. all IDs, inside and outside partials, as well as outer-IDs and mez-IDs have dropped the _page_ID suffix as it's no longer necessary.
- 546Stack API: %baseURL% API variable now works as expected in preprocessed stacks when they're inside of partials
- 565Stack API: %siteAssetPath% (and many other) API variable now works as expected in preprocessed stacks when they're inside of partials
- 566Stack API: Math-type pseudo-controls no longer output zero in files saved with v4.0
- 565Stack API: Template values with relative paths in non-preprocessor stacks inside of partials no longer have generic incorrect paths.
- 564Stack API: BaseURL template value is now updated correctly inside partials.
- 547Stack API: In preprocessor rendering engine conditionals evaluating numeric values treat all non-zero values as truthy.
- 497Stack API: The stack API will now update allowed-types and add-types in existing stack instances when the stack updates those features in a template file.
- 550Stack API: The stack API for adding stacks with dragged JSON (from a website usually) now works as expected when the value of a link property is specified in the JSON object.
- 399Stack API: Paths to the page's css file, js file, and php files are now correct in Preview/Publish modes when the stack was within a partial and the partial was used and exported on more than one page.
- 539Stack API: Info-sidebar image controls export correctly when used inside a partial.
- 527Stack API: Some template variables (such as %pageTitle%) no longer evaluate strangely inside of partials.
- 522Stack API: Link templates are no longer missing their +class attributes.
Lots More Bug Fixes
- 468The clearValue in custom controls should be working again.
- 555Editing a text stack that is wider than the window no longer results in the edit-pane being wider than the window too.
- 557Left-side toolbar buttons and right-side toolbar buttons no longer overlap when the window width is narrow.
- 551Read and correct for orientation info in new iPhone images.
- 521You can rename Externals, or rename their files, without the sync between the file and the projects that use it.
- 482A new External created in one project shows immediately in all projects.
- 418Changing text line spacing shows the custom line spacing slider.
- 531Links on images and site images inside of partials no longer export incorrectly on multiple pages.
- 536Background images no longer export incorrectly inside of a partials.
- 537Image stacks inside of partials no longer export to only some pages.
- 399Items placed inside of unpinned partial content areas no longer render preview-mode as publish-mode.
We Fixed So Many Crashes
- 540Image-transform controls no longer crash when exporting and work inside of partials.
- 538Fixed an intermittent crash when exporting pages with Image stacks inside of partials.
- 505Link controls with no default link no longer crash RW when the link is edited.
- 517Dragging and dropping multiple stacks no longer intermittently causes a crash.
- 510Page scoped link controls with default values no longer crash RapidWeaver when the SetLink button is pushed.
- 605Fixes a crash that could occur sometimes occurred while unpacking templates.