- Updated electrobun.config.ts to dynamically set the application version from package.json and added a release configuration for base URL.
- Modified Jenkinsfile to include the ELECTROBUN_RELEASE_BASE_URL environment variable during the build process.
- Refactored build-macos.mjs to streamline the build command execution for different architectures.
- Enhanced finalize-desktop-artifacts.mjs to improve artifact handling and introduced a new pre-build script for validation of required files and environment variables.
- Improved error handling and logging for better build process visibility.
- Updated the farmcontrol-server.wxs file to include SetupArchive and SetupMetadata files for the MSI packaging.
- Modified the build-windows-msi.ps1 script to accept new parameters for SetupArchive and SetupMetadata, enhancing the MSI build process.
- Refactored the finalize-desktop-artifacts script to find and handle multiple Windows installer files, ensuring proper artifact publication.
- Replaced the macOS build command in package.json to use a new script for better architecture handling.
- Added a new script for building macOS applications that supports both arm64 and x64 architectures.
- Enhanced the finalize-desktop-artifacts script to improve artifact discovery and cleanup, ensuring proper handling of macOS DMG and app bundles.
- Updated functions to streamline the process of finding and publishing artifacts, improving overall reliability.
- Introduced a new function, ConvertTo-WixVersion, to standardize version formatting for the MSI build process.
- Updated the PowerShell script to use arrays for passing arguments to the candle and light commands, enhancing readability and reliability.
- Ensured proper handling of paths with spaces by quoting arguments appropriately.
- Included pdfjs-dist version 5.6.205 in both package.json and bun.lock to enhance PDF handling capabilities.
- Updated related dependencies to ensure compatibility with the new pdfjs-dist version.
- Introduced a new Windows Installer XML (WXS) file for packaging the Farm Control Server as an MSI.
- Added a PowerShell script to build the MSI from the WXS file.
- Implemented a new script to finalize desktop artifacts, handling the publication of macOS and Windows packages.
- Updated the Linux build script to improve artifact naming and organization.
- Enhanced the Electrobun configuration to include a post-package script for finalizing desktop artifacts.
- Updated the exit code handling in the Linux binary build script to use the `exited` property from the compile result.
- Simplified the process of exiting the script on failure, enhancing clarity and reliability.
Refactor build-linux-bundle.mjs to include package version and build number from environment variables and package.json. Update headless.js to streamline initialization and improve error handling. Introduce serverVersion.js to centralize version information retrieval, replacing redundant code in localserver.js. Enhance logging in index.js to display build number and version more clearly.
Introduce a new before-remove.sh script to stop and disable the farmcontrol-server service before package removal. Update after-remove.sh to only reload systemd, simplifying the uninstallation process. Modify build-linux-packages.sh to include the new before-remove script in the packaging process.
Introduce a new pdfUtils.js file for on-demand PDF conversion using pdf-to-img and sharp. Update package.json to include new build scripts for Linux packaging, enhancing the build process with public package handling. Add .npmrc for public hoisting patterns and create build-linux-packages.sh for streamlined package creation.