What's new
1.14.0
Version 1.14.0 introduces detailed miner status & an option to keep existing licenses when applying a contract key
Added
- Introduced new server-streaming method
GetMinerDetailedStatusin thebraiins.bos.v1.MinerServiceto read detailed miner status - Introduced new messages
braiins.bos.v1.GetMinerDetailedStatusRequestandbraiins.bos.v1.GetMinerDetailedStatusResponse. The response wrapsbraiins.bos.v1.MinerDetailedStatus - Introduced new message
braiins.bos.v1.MinerDetailedStatuswith a statusoneofthat tells the user the miner state and the reason for it - Introduced new field
detailed_statusin thebraiins.bos.v1.GetMinerDetailsResponsemessage Introduced new messages used by the status
oneof:ExpectedTime,Unspecified,ApplicationUnavailable,UnsupportedHardware,DeadPools,MissingLicense,UserPause,ThermalPause,DpsCooldown,TunerError,HardwareError,DelayedStart,CoolingDown,WaitingWhileCold,Defrosting,NormalandPreheating- Introduced new enumeration
ThermalPauseReason - Introduced new optional field
keep_existingin thebraiins.bos.v1.ApplyContractKeyRequestmessage to keep the licenses that are already on the miner
Deprecated
- Marked
GetMinerStatusmethod as deprecated inMinerService. Instead of this method, the user should useGetMinerDetailedStatus - Marked
statusfield as deprecated in theGetMinerDetailsResponsemessage. Instead of this field, the user should readdetailed_status
1.13.0
Version 1.13.0 introduces the option to wipe the network configuration during a factory reset.
Added
Introduced new optional field
wipe_networkin thebraiins.bos.v1.FactoryResetRequestmessage. When set totrue, the factory reset also clears the network configuration, so the miner comes back on DHCP with the stock hostname after the next boot. When omitted or set tofalse, the miner keeps its network configuration, as before.
1.12.0
Version 1.12.0 introduces information about the PIC board.
Added
- Introduced new field
is_pic_modelin thebraiins.bos.v1.GetMinerDetailsResponsemessage to indicate whether the miner has a PIC (Programmable Interrupt Controller) board.
1.11.0
Version 1.11.0 introduces the miner efficiency profile, hydro water temperatures and the new Advanced Settings service.
Added
- Introduced new method
GetMinerEfficiencyProfilein thebraiins.bos.v1.PerformanceService. User can now retrieve the miner efficiency curve as an array of efficiency points ordered by power target. - Introduced new messages
braiins.bos.v1.MinerEfficiencyPoint,braiins.bos.v1.GetMinerEfficiencyProfileRequestandbraiins.bos.v1.GetMinerEfficiencyProfileResponse. - Introduced new fields
lowest_water_inlet_tempandhighest_water_outlet_tempin thebraiins.bos.v1.Hashboardmessage to get lowest water inlet and highest outlet temperatures per hashboard for hydro miners. Introduced new
braiins.bos.v1.AdvancedSettingsServiceto turn on experimental bosminer features and change advanced system settings. Methods added:GetSettings- returns settings with their current values. By default it returns only the settings the user has configured; setinclude_defaultto also get the ones still on their default value.SetSettings- updates one or more settings in a single call. A null value clears a setting and restores its default. If any setting fails validation, the miner rejects the whole request with a standard gRPC error and changes nothing. On success, the response echoes back the applied settings, with null for the settings that were cleared.GetSettingsSchema- returns a JSON Schema that describes all available settings with their types, constraints, metadata and default values.ResetAllSettings- resets all settings to their default values and returns the effective values of all supported settings after the reset.
Changed
- Extended
braiins.bos.v1.TunerStateenumeration withTUNER_STATE_PREHEATvariant.
1.10.0
Version 1.10.0 introduces system upgrade over the API, log download and overflow-safe best share values.
Added
- Introduced new field
best_share_strinbraiins.bos.v1.WorkSolverStatsandbraiins.bos.v1.PoolStatsmessages with the best share value as a decimal string, which can hold values larger than 2^64-1. - Introduced new method
SystemUpgradein thebraiins.bos.v1.UpgradeService. User can now upload firmware and run a system upgrade. - Introduced new method
RestoreStockin thebraiins.bos.v1.UpgradeService. User can now restore the stock firmware. - Introduced new
braiins.bos.v1.LogTypeenumeration with log type variants for downloading miner logs. - Introduced new streaming method
braiins.bos.v1.MinerService::GetLog()to download merged miner log files.
Changed
- Deprecated field
best_shareinbraiins.bos.v1.WorkSolverStatsandbraiins.bos.v1.PoolStatsmessages. Usebest_share_strinstead to avoid overflow for values exceeding 2^64-1.
1.9.0
Version 1.9.0 introduces factory reset, DPS start target and fan pause runtime configuration.
Added
- Introduced new field
on_start_target_percentin thebraiins.bos.v1.DPSConfiguration,braiins.bos.v1.DPSConstraints,braiins.bos.v1.SetDPSRequestandbraiins.bos.v1.SetDPSResponsemessages. User can now set the target that Dynamic Performance Scaling starts from. - Introduced new method
braiins.bos.v1.ActionsService::FactoryReset()to perform a factory reset. - Introduced new enumeration
braiins.bos.v1.FanPauseRuntimewithFAN_PAUSE_RUNTIME_LIMITEDandFAN_PAUSE_RUNTIME_INDEFINITEvariants. - Introduced new field
fan_pause_runtimein thebraiins.bos.v1.ManualPauseModemessage to configure fan runtime duration in manual pause mode. - Introduced new field
default_fan_pause_runtimein thebraiins.bos.v1.CoolingConstraintsmessage to get default fan pause runtime. - Introduced new field
fan_pause_runtime_limited_duration_sin thebraiins.bos.v1.CoolingConstraintsmessage to get fan pause runtime limited duration.
Changed
- Extended
braiins.bos.v1.TunerStateenumeration withTUNER_STATE_CONTINUOUSvariant.
1.8.0
Version 1.8.0 introduces new Upgrade service braiins.bos.v1.UpgradeService and relative power/hashrate target configuration.
Added
- Introduced new field
uidin thebraiins.bos.v1.PoolGroupmessage to get group uid. Introduced new service
braiins.bos.v1.UpgradeServicewith methods:UpdateAutoUpgradeConfig- enables/disables AutoUpgrade and configures schedule -GetAutoUpgradeStatus- retrieves current AutoUpgrade configuration and execution status
Introduced new messages for AutoUpgrade scheduling:
units.DayOfWeekenum and customupgrade.UpgradeTimemessage for schedule configurationDailySchedule- schedule upgrades to run daily at a specific timeWeeklySchedule- schedule upgrades to run weekly on a specific day of the week at a specific timeMonthlySchedule- schedule upgrades to run monthly on a specific day of the month (1-28) at a specific timeAutoUpgradeSchedule- oneof message that can contain any of the schedule typesUpdateAutoUpgradeConfigRequest- request message to update AutoUpgrade configurationUpdateAutoUpgradeConfigResponse- response message containing enabled status and next execution timestampGetAutoUpgradeStatusRequest- request message to get AutoUpgrade statusGetAutoUpgradeStatusResponse- response message containing enabled status, schedule, next execution, and last execution timestamps
- Introduced new enumeration
RelativeTargetReferencewithNOMINAL,MIN,MAXandCURRENTvariants for relative target setting. - Introduced new message
SetRelativeTargetRequestwithsave_action,percentage, andreferencefields. - Introduced new methods
SetRelativePowerTargetandSetRelativeHashrateTargetto allow setting power and hashrate targets relative to a reference value.
1.7.0
Version 1.7.0 introduces changes to braiins.bos.v1.PoolGroupConfiguration and braiins.bos.v1.PoolConfiguration.
Added
Introduced new enumeration
braiins.bos.v1.FanPauseModewithFAN_PAUSE_MODE_AUTOandFAN_PAUSE_MODE_MANUALvariants.Introduced new field
default_fan_pause_modein thebraiins.bos.v1.CoolingConstraintsmessage to get default fan pause mode.Introduced new messages
braiins.bos.v1.SetQuickRampingRequest,braiins.bos.v1.QuickRampingResponseandbraiins.bos.v1.SetDefaultQuickRampingRequest.Introduced new method
SetQuickRampingin thebraiins.bos.v1.PerformanceService. User can now set quick ramping time up and down values.Introduced new method
SetDefaultQuickRampingin thebraiins.bos.v1.PerformanceService. User can now set quick ramping time up and down to default.Introduced new fields
quick_ramping_time_up_sandquick_ramping_time_down_sin thebraiins.bos.v1.HashboardPerformanceConfigurationmessage to get quick ramping time up and down values.Introduced new field
quick_ramping_time_sin thebraiins.bos.v1.HashboardConstraintsmessage to get quick ramping time constraints.
Changed
- Mark
uidforbraiins.bos.v1.PoolGroupConfigurationandbraiins.bos.v1.PoolConfigurationas optional. This change allows to create new pool group or pool without providing emptyuidvalue. When new entity is createduidis generated automatically. When updating existing Pool Group withUpdatePoolGroupmethod,uidis required, otherwise error is returned back to the user.
1.6.0
Version 1.6.0 introduces option to set a fans mode during the curtailment & apply the custom contract
Added
- Introduced new messages
PauseMode,AutoPauseModeandManualPauseMode. - Introduced new field
pause_modein thebraiins.bos.v1.CoolingAutoModemessage to set and get pause cooldown fan speed for automatic cooling mode - Introduced new field
pause_modein thebraiins.bos.v1.CoolingManualModemessage to set and get pause cooldown fan speed for manual cooling mode - Introduced new field
pause_cooldown_fan_speed_ratioin thebraiins.bos.v1.CoolingConstraintsmessage to get pause cooldown fan speed constraints - Introduced new method
ApplyContractKeyin thebraiins.bos.v1.LicenseService. User can now apply contract key to miner and get license
1.5.0
Version 1.5.0 introduces inlet & outlet temperatures and more hardware information
Added
- Introduced new fields
lowest_inlet_temp,highest_outlet_tempin thebraiins.bos.v1.Hashboardmessage to get the lowest inlet and highest outlet temperature for a specific hashboard - Introduced new fields
serial_number,board_nameandchip_typein thebraiins.bos.v1.Hashboardmessage - Introduced new
PsuInfomessage and added it to thebraiins.bos.v1.GetMinerDetailsResponsemessage - Introduced new
ControlBoardSocFamilyenumeration and added it to thebraiins.bos.v1.GetMinerDetailsResponsemessage - Introduced new field
serial_numberin thebraiins.bos.v1.GetMinerDetailsResponsemessage
1.4.0
Version 1.4.0 introduces DPS modes control, customizable min/max fan speed control & unified miners cooling methods
Added
Introduced new field
modein thebraiins.bos.v1.DPSConfiguration,braiins.bos.v1.SetDPSRequest,braiins.bos.v1.SetDPSResponsemessage to get or set DPS modeIntroduced new field
modein thebraiins.bos.v1.DPSConstraintsmessage to get the default value for DPS modeIntroduced new method
SetCoolingModein thebraiins.bos.v1.CoolingService. Users can now set cooling mode toautomatic,manual,hydroorimmersion. It gives the user the possibility to set specific temperature and fan settings for each modeIntroduced new field
min_fan_speedin thebraiins.bos.v1.CoolingAutoModeto set minimum fan speed for automatic cooling modeIntroduced new field
max_fan_speedin thebraiins.bos.v1.CoolingAutoModeto set maximum fan speed for automatic cooling modeIntroduced new field
min_fan_speedin thebraiins.bos.v1.CoolingConstraintsto get default value for minimum fan speed for automatic cooling modeIntroduced new field
max_fan_speedin thebraiins.bos.v1.CoolingConstraintsto get default value for maximum fan speed for automatic cooling modeIntroduced new field
target_temperaturein thebraiins.bos.v1.CoolingManualModeto set target temperature for manual cooling mode
Changed
- Marked
SetImmersionModemethod as deprecated inCoolingService. Instead of this method, the user should useSetCoolingModewithimmersionmode - Marked
disabledcooling mode as deprecated inCoolingConfigurationmode - Extended
CoolingConfigurationmode with new valueimmersionthat represents immersion cooling mode - Extended
CoolingConfigurationmode with new valuehydrothat represents hydro cooling mode
1.3.0
Version 1.3.0 introduces a few small improvements.
Changed
- Extended
braiins.bos.v1.Platformenumeration withPLATFORM_STM32MP157C_II2_BMM1variant. - Extended
braiins.bos.v1.SupportArchiveFormatenumeration withSUPPORT_ARCHIVE_FORMAT_ZIP_ENCRYPTEDvariant.
1.2.0
Version 1.2.0 introduces the possibility to configure all pool groups at once and read Braiins OS errors.
API Enhancements
- Introduced new method
SetPoolGroupsin thebraiins.bos.v1.PoolServiceto set all Pool groups at once. - Introduced new method
GetErrorsin thebraiins.bos.v1.MinerServiceto get all miner errors. - Introduced new field
modelin thebraiins.bos.v1.Hashboardmessage that contains hashboard name.
1.1.0
Version 1.1.0 introduces the ability to read network configuration, changes in authentication, and a few more updates.
API Enhancements
- Introduced a new field
last_share_time, inbraiins.bos.v1.PoolStatsthat provides information about the last share time. - Introduced a new field
token, inbraiins.bos.v1.LoginResponsethat provides the created authentication token, which was previously available only in the response header. - Introduced a new field
timeout_s, in braiins.bos.v1.LoginResponse that provides information about the authentication token expiration time. - Introduced a new method
GetNetworkInfo, inbraiins.bos.v1.NetworkServiceto retrieve the current network configuration for the default network interface. - Introduced a new field
kernel_version, inbraiins.bos.v1.GetMinerDetailsResponsethat provides information about the kernel version.
1.0.0
The first stable release of the Public API incorporates minor enhancements.
API Enhancements
- Introduced new field
enabledin thebraiins.bos.v1.DPSConfigurationthat provides info, if DPS is enabled by default or not. - Introduced new field
enabledin thebraiins.bos.v1.TunerConstraintsthat provides info, if DPS is enabled by default or not. - Introduced new field
default_modein thebraiins.bos.v1.TunerConstraintsthat provides info about the default tuner mode. - Introduced new field
statusin thebraiins.bos.v1.GetMinerDetailsResponsethat provides info about the current miner status.
1.0.0-beta.6
Version 1.0.0-beta.6 contains one new feature: Network configuration.
Network Service Configuration
- New
braiins.bos.v1.NetworkServicewithGetNetworkConfigurationandSetNetworkConfigurationmethods
1.0.0-beta.5
Version 1.0.0-beta.5 contains one small extension.
Platform Enumeration Extension
- Extension of the
braiins.bos.v1.Platformenumeration with new value for Zynq.
1.0.0-beta.4
Version 1.0.0-beta.4 contains one new feature and one breaking change.
Updates and Reversions
- We added option to clean tuner profiles by adding
braiins.bos.v1.PerformanceService::RemoveTunedProfiles - Introduced a new field
system_uptime_sin thebraiins.bos.v1.GetMinerDetailsResponsethat replacessystem_uptime(marked as deprecated) to keep the best practice that a field name should also describe the unit (when applicable). - We reverted removing
braiins.bos.v1.MinerModelenumeration from the previous release because this change was causing troubles to our users. Instead of dropping enumeration, we decided to mark it as deprecated and introduce new fieldminer_modelfor string representation.
1.0.0-beta.3
Version 1.0.0-beta.3 contains a few minor improvements.
Minor Improvements and Removals
- Extension of the
braiins.bos.v1.GetMinerDetailsResponsemessage withbosminer_uptime_sfield that contains bosminer uptime. - We removed
braiins.bos.v1.MinerModelenumeration and changed type ofmodelfield inbraiins.bos.v1.MinerIdentitytostring. Replacing model enumeration with string eliminates the need to release a new version every time we add support for new model.
1.0.0-beta.2
Version 1.0.0-beta.2 extends performance management and Pool Group management possibilities. It also introduces an API to get Mining Status.
Performance and Pool Management Enhancements
- Introduction of a new
braiins.bos.v1.PerformanceService::SetDefaultHashrateTarget()method that allows the user to set the currently configured hashrate target value to default one. - Dynamic Performance Scaling with new
braiins.bos.v1.PerformanceService::SetDPS()method to configure dynamic performance scaling. - Evolved Pool Group Management with new
braiins.bos.v1.PoolService::CreatePoolGroup()andbraiins.bos.v1.PoolService::RemovePoolGroup()methods to allow addition and removal of pool groups. - Introduction of Mining Status with a new
braiins.bos.v1.MinerService::GetMinerStatus()method streaming actual miner status.
1.0.0-beta.1
The latest release, version 1.0.0-beta.1, enhances the authentication functionalities while also introducing two new features: Device Location and Support Archive.
Enhanced Authentication and New Features
- Introduction of a new
braiins.bos.v1.AuthenticationService::SetPassword()method that allows the user to set a new password on the miner. - Device Location functionality with
braiins.bos.v1.ActionsService::SetLocateDeviceStatus()andbraiins.bos.v1.ActionsService::GetLocateDeviceStatus()methods to turn on/off device location function. - Support Archive feature with a new
braiins.bos.v1.MinerService::GetSupportArchive()streaming method that allows to download BOS support archive.
1.0.0-beta
The latest release, version 1.0.0-beta, introduces a significant addition: the all-new BOS License feature.
New Licensing Features
- Introduction of a new
braiins.bos.v1.LicenseService::GetLicenseState()streaming method to fetch BOS License state.
1.0.0-alpha.1
New version 1.0.0-alpha.1 extends authentication options and introduces new features, Locate Device and Support Archive.
Extended Authentication and New Functionalities
- Introduction of new
braiins.bos.v1.AuthenticationService::SetPassword()method that allows user to set a new password on the miner. - Locate Device feature with new
braiins.bos.v1.ActionsService::SetLocateDeviceStatus()andbraiins.bos.v1.ActionsService::GetLocateDeviceStatus()methods to turn on/off a LED on the device. - Support Archive with a new
braiins.bos.v1.MinerService::GetSupportArchive()streaming method that allows downloading a BOS support archive.
1.0.0-alpha
The first release for the new Braiins OS Public API, which introduces the first batch of features.
Initial API Features Introduction
- With
ActionService, user can start/stop/restart/pause/resume mining (BOS). Reboot of the whole miner is supported as well. - With
ConfigurationServicemethods, user can read current miner configuration and configuration constraints. - With
CoolingServicemethods, user can read current state of fans or current temperatures, or configure immersion mode. - With
MinerServicemethods, user can read miner HW details, overall miner or hashboards statistics. - With
PoolServicemethods, user can read all currently used pool groups, as well as update a specific pool group. - With
TunerServicemethods, user can read current tuner state and configure tuner power target. - Overall to use gRPC API, user must be authenticated. For this purpose,
AuthenticationServicewithLoginmethod is present.