Releases: pebakery/pebakery
v1.1.0
v1.1.0 Release
Binaries
- Runtime-dependent (x64, x86, arm64):
PEBakery-v1.1.0-rt.7z- Requires .NET 6 Desktop Runtime
- Standalone (x64):
PEBakery-v1.1.0-sc_x64.7z - Standalone (arm64):
PEBakery-v1.1.0-sc_arm64.7z
ChangeLog
- [ADD] Implement the
Math,ToCharandMath,FromCharcommand - [ADD] Implement modern loop commands (
While,ForEach,ForRange,Continue,Break) - [ADD] Implement modern loop helper commands (
List,Range) - [ADD] Position and size of MainWindow are now persisted
- [ADD] Enhanced
PathBox,ComboBoxchecking in SyntaxChecker - [ADD] SyntaxChecker now identifies types of sections better
- [FIX] CodeOptimizer now performs data flow analysis to avoid broken optimization
- [FIX] Most MessageBoxes are now displayed over the PEBakery window
- [FIX] Section parameters are no longer contaminated at the end of the code block
- [FIX] Fixed invalid
WebGetparameter parsing - [FIX] Launcher now checks the installed .NET Runtime is compatible even on the minor version level
- [FIX] Enhanced script progress tracking
- [FIX] Fix race condition happens in
SectionToRunbuild triggered from UIControls
v1.0.0
v1.0.0 Release
Binaries
- Runtime-dependent (x64, x86, arm64):
PEBakery-v1.0.0-rt.7z- Requires .NET 6 Desktop Runtime
- Standalone (x64):
PEBakery-v1.0.0-sc_x64.7z - Standalone (arm64):
PEBakery-v1.0.0-sc_arm64.7z
ChangeLog
- [ADD] New compat option to automatically compact ini files after
IniWrite - [ADD] Colored row in LogViewer
- [ADD] Better text encoding detection
- [ADD] Supporting UTF8 without BOM encoding on text files
- [ADD] Suppor
Encoding=optional parameter onFileCreateBlankcommand - [ADD] Support
DefaultValue=optional parameter onIniReadcommand - [ADD] Support
UserAgent=optional parameter onWebGetcommand - [ADD] Support
Filter=optional parameter onFileBoxcontrol - [ADD] Add
PathBoxcontrol, a betterFileBox - [ADD] Official support for Windows ARM64
- [CHANGE] Migrated to .NET 6
- [CHANGE] Better EncodedFile footer handling
- [CHANGE] Migrated HTML template engine to Scriban from Razor
- [CHANGE] ShellExecute console output appears only there is something to disaply
- [CHANGE] Improved
WimMount/WimUnmountcommand progress report - [CHANGE] User preferences on LogViewer and LogExportWindow are persistently remebered
- [FIX] More stable and improved Interface Editor
- [FIX] Fix section searching on cached script to work properly
- [FIX]
FileCopyno longer truncates filename on the path ends with\ - [FIX] Fix broken
Exitcommand - [FIX] Expand variables on macro arguments
- [FIX] Fix rare bug on
ShellExecutecommand fail to launch .exe files
2022.12.25 EDIT
zlibwapi.dllfiles were replaced to MSVC runtime indepedent version (#186)
Prerelease Beta 6
Beta 6 Release
PEBakery team proudly presents PEBakery beta 6, a significant functionality and stability update.
COMPATIBILITY NOTICE - SHOULD READ FIRST
- PEBakery now requires .Net Framework 4.7.2, to solve the dependency issue.
- Please install .Net Framework 4.7.2 if you are not using the latest Windows 10.
- PEBakery now applies compatibility options as per-project starting from beta 6.
- Please follow the following instructions.
Preset for known projects
First, rename a proper setting file as PEBakeryCompat.ini.
Second, move PEBakeryCompat.ini into the project root directories, alongside with script.project.
If a build fails even after applying presets, please retry after deleting project temp directories manually.
- Win10XPE: Please copy
PEBakeryCompat_Win10XPE_Win10PESE.iniinto two places:Projects\Win10XPE\PEBakeryCompat.iniProjects\MyPlugins\PEBakeryCompat.ini
- Win10PESE: Please copy
PEBakeryCompat_Win10XPE_Win10PESE.initoProjects\Win10PESE\PEBakeryCompat.ini. - ChrisPE: Please copy
PEBakeryCompat_ChirsPE_MistyPE.initoProjects\ChrisPE\PEBakeryCompat.ini. - MistyPE: Please copy
PEBakeryCompat_ChirsPE_MistyPE.initoProjects\MistyPE\PEBakeryCompat.ini.
Credits
Big thanks to the people contributed to the PEBakery project.
- Code contributors: @homes32, @paraglidernc
- Documentation contributors: @homes32
- Testers: @homes32, @APT001, @MistyFromReboot, @Taviruni, @Atari800XL
- And many more bug reporters, script developers and users
Related Materials
- Official PEBakery Beta 6 Manual
- PEBakery Syntax Highlighter for Notepad++ v1.1
- PEBakery Syntax Highlighter for Visual Studio Code v1.0.5
Known Issues
Win10PESE
- Mouse cursor scripts in the
Tweaksfolder depends on the WinBuilder-specific side-effect ofIniWrite(#134). We prepared a script patch as a fix and trying to get in touch with Win10PESE developers.
Changelog
- [ADD] Better-designed default theme presets
- [ADD] Customizable theme support
- [ADD] Improve realtime elapsed build time report
- [ADD] Syntax checker also checks script interface
- [ADD] Faster loading performance of cached dir-linked scripts
- [ADD] Render white pixels of BMP image as transparency in
Buttoncontrols - [ADD] Support 7z format in the
Compresscommand - [ADD] Add
Math,Decas a counterpart ofMath,Hex - [ADD] Add
Math,Rand - [ADD] Support RTF format in
TextFilecontrol - [ADD] Script attachment manager now reports file attachment progress
- [ADD] Support drag-n-drop in script interface editor
- [ADD] Support multi-interface in script interface editor
- [ADD] Better support for Windows 7 classic theme
- [ADD] Better support for low-resolution device
- [ADD] Introduced filtering of saved logs
- [ADD] An origin script of command are logged in build logs
- [ADD] Context menu for collapsing & expanding script tree
- [ADD] Allow chaining of
If ~ Else - [ADD] Added
IniCompactcommand - [ADD]
Compresscommand creates ZIP files with multiple threads - [ADD] Multi-threaded LZMA2 compression for file attachment
- [ADD] Initial implementation of the script updater (WIP, may change in the future!)
- [ADD] Enable force stop of sub-processes by user request
- [ADD] Support non-standard registry subkey type in the new
RegWriteExcommand - [CHANGE] Targets .Net Framework 4.7.2
- [CHANGE] Some
Mathcommands now requiresBitSize - [CHANGE] Optimized encoded file handling
- [CHANGE] More commands report per-command progress
- [CHANGE]
Math,Hexproduces0xprefix - [CHANGE]
EchoFiledeprecated and removed theENCODEflag - [CHANGE] Script logo is now displayed with exact pixel-size
- [CHANGE] Improved
Ifcommand parsing - [CHANGE] Log export files are given default filenames
- [CHANGE] Report command result in
#rinShellExecuteandWebGet. - [CHANGE] Reworked layout of Script attachment manager
- [CHANGE]
StrFormat,SubStrwas removed in favor ofStrFormat,Mid - [CHANGE]
TXTDelSpacesnow also trims trailing whitespace - [CHANGE] More accurate build progress report
- [CHANGE]
GetParamis no longer considered as a deprecated command - [CHANGE]
Math,Boolnow allows C-style integer boolean - [FIX] Fixed many possible memory leaks
- [FIX] A lot of code cleanup for stability
- [FIX]
Set,<Var>,PERMANENTnow handles cached scripts properly - [FIX]
FileCopycommand creates a warning log instead of an error when no source files were found - [FIX]
CopyOrExpandproduces a warning log instead of an error when a wildcard was used - [FIX] Better script tree sorting
- [FIX] Improved stability of deferred logging
- [FIX] Deleting script interface control also deletes associated attached file
- [FIX] Fix
If ~ Elseblock parsing bug - [FIX]
TextBoxcontrol now properly handles BOM bytes - [FIX] Better handling of destination paths in commands
- [FIX] Proper escaping of strings in interface controls
- [FIX] Better handling of
System,SetLocalandSystem.EndLocal - [FIX] Scan for .link files from linked directories
- [FIX]
Haltcommand no longer opens a MessageBox - [FIX]
WriteInterfacecommand updates interface variables - [FIX] Always auto-redirect HTTP 302 responses in
WebGet - [FIX]
AddVariablesnow properly processesGLOBALflag - [FIX] Support
REG_NONEin the registry commands
Prerelease Beta 5 (Bugfix 1)
This release fixes several issue of beta 5.
NOTICE - SHOULD READ FIRST
Starting with beta 5, all compatibility options are turned off by default.
You should set appropriate compatibility options to build legacy projects successfully.
Preset for known projects
To build Win10PESE or Win10XPE, rename PEBakery_Win10PESE_Win10XPE.ini to PEBakery.ini.
To build ChrisPE or MistyPE, rename PEBakery_ChrisPE_MistyPE.ini to PEBakery.ini.
If a build fails even after applying presets, try deleting project temp directories.
Changelog
- [FIX] Correct status bar text after a refreshing script
- [FIX] Saving settings no longer crashes when no projects are loaded
Prerelease Beta 5
NOTICE - SHOULD READ FIRST
Starting with beta 5, all compatibility options are turned off by default.
You should set appropriate compatibility options to build legacy projects successfully.
Preset for known projects
Before running PEBakery, create or open PEBakery.ini alongside PEBakeryLauncher.exe and paste these options. If a build fails even after options are applied, try deleting project temp directories.
Win10PESE
[Compat]
AsteriskBugDirCopy=True
AsteriskBugDirLink=True
FileRenameCanMoveDir=True
AllowLetterInLoop=False
LegacyBranchCondition=True
LegacyRegWrite=True
AllowSetModifyInterface=True
LegacyInterfaceCommand=True
IgnoreWidthOfWebLabel=True
OverridableFixedVariables=False
EnableEnvironmentVariables=False
DisableExtendedSectionParams=True
LegacySectionParamCommand=True
Win10XPE
[Compat]
AsteriskBugDirCopy=True
AsteriskBugDirLink=True
FileRenameCanMoveDir=True
AllowLetterInLoop=False
LegacyBranchCondition=False
LegacyRegWrite=False
AllowSetModifyInterface=True
LegacyInterfaceCommand=True
IgnoreWidthOfWebLabel=False
OverridableFixedVariables=True
EnableEnvironmentVariables=True
DisableExtendedSectionParams=True
LegacySectionParamCommand=True
MistyPE, ChrisPE
[Compat]
AsteriskBugDirCopy=True
AsteriskBugDirLink=False
FileRenameCanMoveDir=False
AllowLetterInLoop=False
LegacyBranchCondition=False
LegacyRegWrite=False
AllowSetModifyInterface=False
LegacyInterfaceCommand=False
IgnoreWidthOfWebLabel=False
OverridableFixedVariables=False
EnableEnvironmentVariables=False
DisableExtendedSectionParams=False
LegacySectionParamCommand=False
Changelog
- [ADD]
Listcommands added - [ADD]
StrFormat,LeftandStrFormat,Rightadded - [ADD] Full deferred logging for interface build
- [ADD] Command's real position is shown in warning and error logs
- [ADD] Filtering comments and macros are supported in LogWindow
- [ADD] Section out parameter support (e.g.
#o1,#o2), ... - [ADD]
RunEx,LoopExandLoopLetterExadded to support section out parameter - [ADD] Compatibility options for turning off extended section parameter (
#r,#a,#o1) - [ADD] Compatibility options are turned off by default
- [CHANGE]
IniReadSectionredesigned - [CHANGE] Allow short terms in
Message - [CHANGE] Interface value of
TextLabelis also saved to variables when running a script - [FIX]
UserInput,Dirno longer crashes - [FIX]
#r,#ais matched case-insensitively - [FIX]
SaveLogproduces a proper log when deferred logging is set - [FIX] Scripts are ordered like the Windows File Explorer
- [FIX] Proper refresh of MainScript
- [FIX] Script editor correctly reflects any changes made by a user
- [FIX] Prevent crash from a race condition in
ShellExecute - [FIX] Fix rare crash when opening script source
- [FIX] Several regressions affected build of Win10PESE and Win10XPE are fixed
Prerelease Beta 4
Known Issue
PEBakery beta 4 has several regressions affecting build of projects. Use of beta 3 or 5 is recommended.
Changelog
- [ADD] Script header/logo/interface/attachment editor
- [ADD] Runtime optimization of
WimPath*,WimExtract,ReadInterface,WriteInterface - [ADD] Compression method can be set when using
Encode(None, Deflate, LZMA2) - [ADD] Error in
WimExtractBulkcan be suppressed by using NOERR flag - [ADD] Optimized memory usage when attaching/extracting files from script
- [ADD]
WebGetsaves HTTP status code into %StatusCode% - [ADD] Implemented
RegCopy - [ADD] Support more properties in
ReadInterfaceandWriteInterface - [CHANGE] Treat %SourceDir% , %ISOFile%, %TargetDir% as global variables
- [CHANGE] Fixed variables are no longer overridable
- [CHANGE] Deprecate environment variables
- [FIX] Directory link (folder.project) support
- [FIX] Report error when WimExtract cannot find single file
- [FIX] Nested
System,SetLocalsupport - [FIX] Proper implementation of
System,ErrorOff - [FIX] Web browser is no longer launched as Adminstrator in WebLabel control
- [FIX] Display caption of Bevel control by default
- [FIX] Logging is enabled by default in interface button
- [FIX] Use default encoding of console in
ShellExecuteconsole ouput
Prerelease Beta 3
Changelog
- [ADD] Commands for wim file
- [ADD] Command LoopLetter
- [ADD] Show url of WebLabel as tooltip
- [ADD] Caption can be specified in Bevel
- [ADD] NT6 Style FolderBrowserDialog
- [ADD] Indicate build progress on taskbar
- [FIX] Before execution of scripts run
script.project - [FIX] Missing formats added to StrFormat,Date
- [FIX] Drive letter support for StrFormat,Inc/Dec
- [FIX] Escape characters interpreted case insensitive properly
- [FIX] Escape character
##works properly with#c,#a,#r
Prerelease Beta 2
Changelog
- [Fixed] WebLabel parsing bug
- [Fixed] Additional Permission added to license