Skip to content

Releases: Static-Codes/BrowserAutomationMaster

v1.0.0A8-x64 Canary Test

12 Feb 21:11

Choose a tag to compare

Pre-release
v1.0.0A8-x64-canary-test

Removed experimental python 3.15 support pending further testing.

BAMM v1.0.0-Alpha7

17 Jan 20:38

Choose a tag to compare

Notes

  • There are 10 binaries below aswell as the raw source code (source.zip).

Changelog

Click to see direct source changes

General Changes:

  • Added members CRXExtensionIDRegexPattern and XPIExtensionPathRegexPattern in class RegexManager in namespace BrowserAutomationMaster.Managers

  • Added member Extensions to class BAMConfig in namespace BrowserAutomationMaster.Compilation

  • Added parameter Extensions to function Visit in class CompilationHandler in namespace BrowserAutomationMaster.Compilation

  • Added temporary helper methods to class ExtensionManager in namespace BrowserAutomationMaster.Managers while BAMM is ported to .NET 10.

  • Added new class ExtensionManager in namespace BrowserAutomationMaster.Managers responsible for parsing, download, validating, and adding the extension's contents to the current Selenium instance.

  • Added new function GetExtensionsDirectory in class DirectoryManager in namespace BrowserAutomationMaster.Managers

  • Added new constants for ExtensionManager in class ConstantManagers in namespace BrowserAutomationMaster.Managers.

  • Fixed bug in class Transpiler in namespace BrowserAutomationMaster.Compilation, now BAMConfig.CheckConfigLines() is called in Transpiler.SetBAMConfig().

  • Removed member hasComment in class Transpiler in namespace BrowserAutomationMaster.Compilation, now comments are ignored during compilation.

New Action Commands:

New Feature Command:

feature "add-extension" "url or path to extension" - Downloads the extension at the specified path, and adds it to the running Selenium instance.

New CLI Arguments:

bamm --exit-on-ext-fail - This flag will cause BAMM to exit if the built in extension validation fails, this can be useful for debugging.

Releases


Windows 💻

There are two versions for Windows. You most likely need the x64 version.

  • BAMM-v1.0.0A7-x64-Setup.exe: For modern 64-bit Windows systems, this is the most common version.
  • BAMM-v1.0.0A7-ARM64-Setup.exe: For Windows devices running on ARM64 (ARMv8) processors, such as newer Surface Laptops.

macOS 🍎

  • `bamm: For all Intel mac users on MacOS 11.0+
  • bamm-silicon: For Apple Silicon users on MacOS 11.0+

Linux 🐧

  • bamm.v1.0.0A7.linux-x64.deb: For 64-bit Debian-based Linux distributions, such as Ubuntu, Linux Mint, or Pop!_OS on Intel and AMD CPUs from the last 20 years.

  • bamm.v1.0.0A7.linux-arm64.deb: For 64-bit Debian-based Linux distributions, such as Ubuntu, Linux Mint, or Pop!_OS on M-Series Macs, newer Surface Laptops, and Raspberry Pi.

  • bamm.v1.0.0A7-linux-arm.deb : For 32-bit Debian-based Linux distributions, running on older chromebooks or other armv7 device, tested on crouton using Debian 12.

  • bamm.v1.0.0A7.linux-x64.rpm: For 64-bit Fedora-based Linux distributions, such as CentOS, Oracle Linux, or Qubes on Intel and AMD CPUs from the last 20 years.

  • bamm.v1.0.0A7.linux-arm64.rpm: For 64-bit Fedora-based Linux distributions, such as CentOS, Oracle Linux, or Qubes on Macs or newer Surface Laptops.

  • bamm.v1.0.0A7.linux-arm.rpm: For 32-bit Fedora-based Linux distributions, running on older chromebooks or other ARMv7 device, tested on crouton using Fedora Server 43.

BAMM v1.0.0-Alpha6

24 Dec 17:29

Choose a tag to compare

Notes

  • There are 10 binaries below aswell as the raw source code (source.zip).
  • The macOS binaries were originally macOS .app bundles, however due to restrictions in newer versions of macOS, all current and future releases of BAMM for macOS will be released as standalone binaries.
  • Mac Silicon users will now have to use the Intel Binaries through bootcamp.

Changelog

Click to see direct source changes

General Changes:

  • Added new namespace MacPackager

  • Added members New and Open to enum MenuOption in class Menu in namespace BrowserAutomationMaster.Messaging

  • Added new class EditorManager in namespace BrowserAutomationMaster.Managers

  • Added new class Editor in namespace BrowserAutomationMaster.Managers

  • Added new class ExtensionManager in namespace BrowserAutomationMaster.Managers

  • Added Path variable to class AppInfo in namespace BrowserAutomationMaster.Managers.AppManager

  • Added GetExecutablePath to class Linux in namespace BrowserAutomationMaster.Managers.AppManager

  • Deleted unused class AppDataHelper in namespace BrowserAutomationMaster.Helpers

  • Fixed a bug in class LineValidation in namespace BrowserAutomationMaster.Parsing causing false positive syntax errors.

  • Fixed a bug in class UserScriptManager in namespace BrowserAutomationMaster.Managers causing bamm compile '<filename>' to fail.

  • Fixed a bug in class Transpiler in namespace BrowserAutomationMaster.Compilation causing bamm compile '<filename>' to fail.

  • Moved function New from class Parser in namespace BrowserAutomationMaster.Parsing to class Menu in namespace BrowserAutomationMaster.Messaging

  • Patched a problematic bug causing unnecessary output in LineValidation in namespace BrowserAutomationMaster.Parsing

  • Refactored classes Linux, Mac, and Win in namespace BrowserAutomationMaster.Managers.AppManager.OS to properly include required Path attribute.

New Action Commands:

New Feature Command:

New CLI Arguments:

Creates a new .BAMC file in the userScripts directory.
Prompts the user to select a custom text editor to open the specified file.
If a custom text editor is not found, the OS default is used.

  • bamm new 'filename.bamc'
  • bamm -n 'filename.bamc'

Opens a .BAMC file that exists in the userScripts directory.
If this file does not exist, the file is automatically created.
The user is then prompted to select a custom text editor to open the specified file.
If a custom text editor is not found, the OS default is used.

  • bamm open 'filename.bamc'
  • bamm -o 'filename.bamc'

Releases


Windows 💻

There are two versions for Windows. You most likely need the x64 version.

  • BAMM-v1.0.0A6-x64-Setup.exe: For modern 64-bit Windows systems, this is the most common version.
  • BAMM-v1.0.0A6-ARM64-Setup.exe: For Windows devices running on ARM64 (ARMv8) processors, such as newer Surface Laptops.

macOS 🍎

  • bamm: For all Mac users on MacOS 11.0+ (Silicon users will need to use Bootcamp to run this binary)

Linux 🐧

  • bamm.v1.0.0A6.linux-x64.deb: For 64-bit Debian-based Linux distributions, such as Ubuntu, Linux Mint, or Pop!_OS on Intel and AMD CPUs from the last 20 years.

  • bamm.v1.0.0A6.linux-arm64.deb: For 64-bit Debian-based Linux distributions, such as Ubuntu, Linux Mint, or Pop!_OS on M-Series Macs, newer Surface Laptops, and Raspberry Pi.

  • bamm.v1.0.0A6-linux-arm.deb : For 32-bit Debian-based Linux distributions, running on older chromebooks or other armv7 device, tested on crouton using Debian 12.

  • bamm.v1.0.0A6.linux-x64.rpm: For 64-bit Fedora-based Linux distributions, such as CentOS, Oracle Linux, or Qubes on Intel and AMD CPUs from the last 20 years.

  • bamm.v1.0.0A6.linux-arm64.rpm: For 64-bit Fedora-based Linux distributions, such as CentOS, Oracle Linux, or Qubes on Macs or newer Surface Laptops.

  • bamm.v1.0.0A6.linux-arm.rpm: For 32-bit Fedora-based Linux distributions, running on older chromebooks or other ARMv7 device, tested on crouton using Fedora Server 43.

BAMM v1.0.0-Alpha5

03 Dec 04:10
91185d7

Choose a tag to compare

Notes

  • There are 10 releases below aswell as the raw source code (source.zip).

Changelog

  • Added support for:

    • ChromeOS
    • Raspberry Pi
Click to see direct source changes

General Changes:

  • Added namespace BrowserAutomationMaster.Managers.BrowserStack

  • Added namespace BrowserAutomationMaster.Managers.LocalServer

  • Added BAMConfig class in namespace BrowserAutomationMaster.Compilation

  • Added BrowserFunctions class in namespace BrowserAutomationMaster.Compilation

  • Added BrowserVersionManager, DeviceManager and InstanceManager inside namespace BrowserAutomationMaster.Managers.BrowserStack

  • Added class RegexManager in namespace BrowserAutomationMaster.Managers and moved all Regex functions to this new class.

  • Added check in class ProgramFunctions to prevent the GUI server from starting if $DISPLAY is not set

  • Added GetPhysicalSocketCount function in class Linux in namespace Managers.AppManager.OS

  • Added functions to class DirectoryManager in namespace BrowserAutomationMaster

    • GetProjectRequirementsPath
    • GetProjectVEnvPath
    • GetProjectVEnvPythonPath
    • GetProjectVEnvPipPath
  • Added MemoryInfo struct in class MemoryInfoManager within namespace BrowserAutomationMaster.Managers + Refactored MemoryInfoManager

  • Added PlatformManager class in namespace BrowserAutomationMaster.Managers

  • Added ProcessFactory class in namespace BrowserAutomationMaster.Managers

  • Added ProcessFactory.ProcessResponse struct in namespace class BrowserAutomationMaster.Managers

  • Added ProgramFunctions class in namespace BrowserAutomationMaster

  • Added RPICheck function in Linux class in namespace BrowserAutomationMaster.Managers.AppManager.OS

  • Added BrowserStack related functions to class BrowserAutomationMaster.Managers.DirectoryManager

  • Fixed a Windows-Specific bug causing black text to be outputted on a black terminal backgrounds, when multiple instances of are opened.

    • Expected behavior is now red text on a black background.
  • Improved Browser command parsing within Parser class in namespace BrowserAutomationMaster.Managers.Parsing

  • Improved Physical CPU Core count logic in class CPUCoreManager in namespace BrowserAutomationMaster.Managers

  • Improved Python version detection in class InstallationCheck in namespace BrowserAutomationMaster.Helpers

  • Renamed function CheckForLinux64 to CheckForLinux in class MemoryInfoManager in namespace BrowserAutomationMaster.Managers

  • Refactored all == null conditions to is null to utilize pattern matching, a feature that has been available since C# 7.

  • Refactored Debug class to include FormatMemory function and improved debug log significantly.

  • Refactored PackageManager class in namespace BrowserAutomationMaster.Managers to use externally hosted JSON, instead of embedded json.

  • Refactored Parser.HandleLineValidation function in namespace BrowserAutomationMaster.Compilation by splitting it into Parser.LineValidation

  • Refactored Transpiler class in namespace BrowserAutomationMaster.Compilation to use the newly created classes

    • Script
    • ScriptBody
    • ScriptImports
    • ScriptRequirements
  • Refactored Transpiler class in namespace BrowserAutomationMaster.Managers to use private modifiers on the majority of functions that were previously declared as public.

  • Refactored UninstallationManager class in namespace BrowserAutomationMaster.Managers to properly execute the uninstallation process on Linux (MacOS still has to manually uninstall)

  • Split GetPhysicalCoreCountUnixLike function in class CPUInfoManager into GetPhysicalCoreCountLinux and GetPhysicalCoreCountMac

New CLI Arguments:

  • bamm --bs - Instructs BAMM to use BrowserStack to run the compiled scripts, works on all platforms but is the default on ChromeOS, as chromebooks are too underpowered to run selenium.
  • bamm --editbsconf - Edit and Overwrite Browserstack's YAML Config via an interactive process. (For advanced users)
  • bamm --force-error - Forces a verbose error message, which is helpful for making a bug report.
  • bamm --gui - Starts the Graphical User Interface for BAMM.
  • bamm --nohwc - Instructs BAMM not to check your system's hardware for compatibility, this should not be done unless you've already verified BAMM can run on your machine.
  • bamm --platform-debug - Displays information on the operating system and machine currently running BAMM.
  • bamm --query-display - Displays the status of the $DISPLAY variable, use this to check if your system supports BAMM's GUI.
  • bamm --version - Displays the current version of BAMM, and whether there's a new version available.
  • bamm backup - Backs up all application files to BAMM-Backup.zip.
  • bamm restore - Looks for a backup of BAMM's data, if the data is found, a restoration is attempted.

Releases


Windows 💻

There are two versions for Windows. You most likely need the x64 version.

  • BAMM-v1.0.0A5-x64-Setup.exe: For modern 64-bit Windows systems, this is the most common version.
  • BAMM-v1.0.0A5-ARM64-Setup.exe: For Windows devices running on ARM64 (ARMv8) processors, such as newer Surface Laptops.

macOS 🍎

  • bamm: For all Intel mac users on MacOS 11.0+
  • bamm-silicon: For Apple Silicon users on MacOS 11.0+

Linux 🐧

  • bamm.v1.0.0A5.linux-x64.deb: For 64-bit Debian-based Linux distributions, such as Ubuntu, Linux Mint, or Pop!_OS on Intel and AMD CPUs from the last 20 years.

  • bamm.v1.0.0A5.linux-arm64.deb: For 64-bit Debian-based Linux distributions, such as Ubuntu, Linux Mint, or Pop!_OS on M-Series Macs, newer Surface Laptops, and Raspberry Pi.

  • bamm.v1.0.0A5-linux-arm.deb : For 32-bit Debian-based Linux distributions, running on older chromebooks or other ARMv7 device, tested on crouton using Debian 12.

  • bamm.v1.0.0A5.linux-x64.rpm: For 64-bit Fedora-based Linux distributions, such as CentOS, Oracle Linux, or Qubes on Intel and AMD CPUs from the last 20 years.

  • bamm.v1.0.0A5.linux-arm64.rpm: For 64-bit Fedora-based Linux distributions, such as CentOS, Oracle Linux, or Qubes on Macs or newer Surface Laptops.

  • bamm.v1.0.0A5.linux-arm.rpm: For 32-bit Fedora-based Linux distributions, running on older chromebooks or other ARMv7 device, tested on crouton using Fedora Server 43.

BAMM v1.0.0-Alpha4

02 Aug 23:37

Choose a tag to compare

Notes

  • The releases were updated in accordance to the posted bug fixes on the main repo
  • There are 8 releases below
  • The updated source code is in BAMM-v1.0.0A4-Source.zip

Known Bugs

  • Enabled auto_copy_path without xclip installed will cause a fatal error, please install xclip to prevent this.

Changelog

Click here to see direct source changes

General Changes:

  • Added feature line validation in Parsing.Parser
  • Added Color Support (3 bit to 24 bit) ➜ Managers.AnsiManager.
  • Added Config Functionality ➜ Managers.ConfigManager.
  • Added Custom Themes ➜ Managers.ThemeManager
  • Added support for Fedora based Linux Distros (CentOS, Oracle Linux, Qubes, etc)
  • Cleaned up Parsing.Parser.cs.
  • Created Managers.CommandManager.
  • Created Managers.CommandTypes.
  • Created Messaging.Clipboard
  • Created BrowserAutomationMaster.Transpiler namespace
  • Created BrowserAutomationMaster.Types
  • Created Types.Command
  • Increased BAMC JavaScript validation accuracy
  • Increased BAMC URL validation accuracy
  • Moved code from Transpiler.cs to CompilationHandler.cs
  • Moved Parsing.Parser.Menu and Parsing.Parser.MenuOptions to Messaging.Menu
  • Moved Transpiler.cs and CompilationHandler.cs to BrowserAutomationMaster.Transpiler
  • Refactored Messaging.Help to use new class Types.Command
  • Refactored Managers.AppManager.OS.Win.GetPhysicalCoreCount() to use CSWin32 for increased stability.
  • Refactored Managers.Python.VEnvManager and Managers.UpdateManager to be asynchronous
  • Removed 300+ lines of bloat from Parsing.Transpiler
  • Removed redundant OS checks and tightened Windows checks.
  • Removed unused features async and bypass-cloudflare
  • Renamed internal class to prevent naming conflicts, Managers.AppManager.OS.Windows -> Managers.AppManager.OS.Win

New Action Commands:

  • click-at-position "600" "600" - Clicks at a specific point on screen
  • close-current-tab - Closes the currrent tab and will close the browser if there's only one open tab.
  • open-new-tab "https://google.com" "3" - A new browser tab is opened, the system will then pause for the number of seconds specified, then visits the requested url.

New CLI Command:

  • bamm validate "path/to/file.bamc" - Validates the contents of a .bamc file.

New Feature Command:

  • feature "disable-ssl" - Disables SSL certificate authentication for the given session.

Releases

Windows 💻

There are two versions for Windows. You most likely need the x64 version.

  • BAMM-v1.0.0A4-x64-Setup.exe: For modern 64-bit Windows systems. This is the most common version.
  • BAMM-v1.0.0A4-ARM64-Setup.exe: For Windows devices running on ARM processors (like newer Microsoft Surface Pro models).

macOS 🍎

  • bamm: For all Intel mac users on MacOS 11.0+
  • bamm-silicon: For Apple Silicon users on MacOS 11.0+

Linux 🐧

  • bamm.v1.0.0A4.linux-x64.deb: For 64-bit Debian-based Linux distributions, such as Ubuntu, Linux Mint, or Pop!_OS.
  • bamm.v1.0.0A4.linux-arm64.deb: For 64-bit Debian-based Linux distributions, such as Ubuntu, Linux Mint, or Pop!_OS on Macs.
  • bamm.v1.0.0A4.linux-x64.rpm: For 64-bit Fedora-based Linux distributions, such as CentOS, Oracle Linux, or Qubes.
  • bamm.v1.0.0A4.linux-arm64.rpm: For 64-bit Fedora-based Linux distributions, such as CentOS, Oracle Linux, or Qubes on Macs.

BAMM v1.0.0-Alpha3

03 Jul 22:33

Choose a tag to compare

Notes

  • There are 6 releases below aswell as the raw source code.
  • source.zip contains a 22.9MB archive of the repo, this is with all of the bloat visual studio creates, aswell as published builds, for the pure source code (under 1MB when extracted), please download BAMM-v1.0.0A2-Source.zip

Changelog

General Changes:

  • Added CPU detection logic for all supported platforms.
  • Added CPU instruction parsing for x64 CPUs.
  • Added Detection logic allowing multiple versions of Python 3.X to be used by BAMM.
  • Added support for Linux on ARM64 CPUs, now Mac users running Linux will be able to use BAMM!
  • Added Runtime support for scripts compiled using BAMM!
  • Added UpdateManager.cs to handle cross platform updating.
  • Removed support for Windows 10 32 Bit, as it is not feasible to continue supporting deprecated hardware. Pure x86 CPUs have not been produced since 2023, and the 4GiB RAM limit imposed by Windows 10, combined with the inferior hardware, will lead to a perpetually degrading experience.

New CLI Command:

  • bamm run "path/to/python/file.py" - Runs any python file however it is strongly recommended to ONLY use this command for scripts compiled using BAMM, specifically ones located in the compiled directory. There is no guarantee this will work with external python scripts.

New Feature Command:

  • feature "run-headless" - Instructs the compiler to allow headless execution for the duration of the current script.

Windows 💻

There are two versions for Windows. You most likely need the x64 version.

  • BAMM-v1.0.0A3-x64-Setup.exe: For modern 64-bit Windows systems. This is the most common version.
  • BAMM-v1.0.0A3-ARM64-Setup.exe: For Windows devices running on ARM processors (like newer Microsoft Surface Pro models).

macOS 🍎

  • bamm: For all Intel mac users on MacOS 11.0+
  • bamm-silicon: For Apple Silicon users on MacOS 11.0+

Linux 🐧

  • bamm.v1.0.0A3.linux-x64.deb: For 64-bit Debian-based Linux distributions, such as Ubuntu, Linux Mint, or Pop!_OS.
  • bamm.v1.0.0A3.linux-arm64.deb: For 64-bit Debian-based Linux distributions, such as Ubuntu, Linux Mint, or Pop!_OS on Macs.

BAMM v1.0.0-Alpha2

22 Jun 18:06
a0c78fe

Choose a tag to compare

Notes

  • There are 5 releases below aswell as the raw source code.
  • source.zip contains a 1.5GB archive of the repo, this is with all of the bloat visual studio creates, aswell as published builds, for the pure source code (under 1MB when extracted), please download BAMM-v1.0.0A2-Source.zip

Changelog

General Changes:

  • Added all examples in repo to the user's userScript directory.
  • Added functionality to trim the size of the generated .py file, by ONLY including functions that are required by the .bamc file being compiled.
  • Added logo on releases so the app icon isn't default.
  • Added support for Apple Silicon!
  • Fixed bugs caused by adding comments to the script.
  • Fixed bugs relating to click-exp
  • Removed src\MacCompilationScripts
  • Removed src\Unused

New Commands:

  • bamm clear compiled - Deletes the compiled directory and all it's contents
  • bamm clear userScripts - Deletes the userScript directory and all it's contents (this will be rewritten)
  • bamm uninstall - Uninstalls bamm and all associated data
  • bamm --set-custom-useragent "user-agent" - This is an extension of the command below for CLI usage, see "CLI Examples" for more information.
  • set-custom-useragent "user-agent" - Sets a custom user agent for the selenium session, see "BAMC Examples" below.
  • add-header "header-name" "header-value" - Adds an HTTP Header for the current request.
  • add-headers {"header-name1": "header-value1", "header-name2": "header-value2", "header-name3": "header-value3"} - Adds multiple HTTP Headers via a JSON Object.
  • fill-text-exp "selector" "value" - More advanced version of fill-text. For selector information, click here

BAMC Examples:

Windows Firefox

set-custom-useragent "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:136.0) Gecko/20100101 Firefox/136.0"

iOS Safari

set-custom-useragent "Mozilla/5.0 (iPhone; CPU iPhone OS 17_7_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.4 Mobile/15E148 Safari/604.1"

CLI Examples:

Windows Firefox

bamm --set-custom-useragent=="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:136.0) Gecko/20100101 Firefox/136.0"

iOS Safari

bamm --set-custom-useragent=="Mozilla/5.0 (iPhone; CPU iPhone OS 17_7_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.4 Mobile/15E148 Safari/604.1"

Notes

  • There are 6 releases below aswell as the raw source code.
  • source.zip contains a 1.5GB archive of the repo, this is with all of the bloat visual studio creates, aswell as published builds, for the pure source code (under 1MB when extracted), please download BAMM-v1.0.0A2-Source.zip

Windows 💻

There are three versions for Windows. You most likely need the x64 version.

  • BAMM-v1.0.0A2-x64-Setup.exe: For modern 64-bit Windows systems. This is the most common version.
  • BAMM-v1.0.0A2-ARM64-Setup.exe: For Windows devices running on ARM processors (e.g., some Microsoft Surface Pro models).
  • BAMM-v1.0.0A2-x86-Setup.exe: For older 32-bit Windows systems.

macOS 🍎

  • bamm: For all Intel mac users on MacOS 11.0+
  • bamm-silicon: For Apple Silicon users on MacOS 11.0+

Linux 🐧

  • bamm.v1.0.0A2.linux-x64.deb: For 64-bit Debian-based Linux distributions, such as Ubuntu, Linux Mint, or Pop!_OS.

BAMM v1.0.0-Alpha1

12 Jun 00:40
e202499

Choose a tag to compare

Notes

  • There are 5 releases below aswell as the raw source code.
  • source.zip contains a 1.5GB archive of the repo, this is with all of the bloat visual studio creates, aswell as published builds, for the pure source code (only 64MB), please download BAMM-v1.0.0A1-Source.zip

Windows 💻

There are three versions for Windows. You most likely need the x64 version.

  • BAMM-v1.0.0A1-x64-Setup.exe: For modern 64-bit Windows systems. This is the most common version.
  • BAMM-v1.0.0A1-ARM64-Setup.exe: For Windows devices running on ARM processors (e.g., some Microsoft Surface Pro models).
  • BAMM-v1.0.0A1-x86-Setup.exe: For older 32-bit Windows systems.

macOS 🍎

  • bamm: This is the application for all macOS users.

Linux 🐧

  • bamm.1.0.0A1.linux-x64.deb: For 64-bit Debian-based Linux distributions, such as Ubuntu, Linux Mint, or Pop!_OS.