# What's new

##  1.14.0

August 13, 2026Version **1.14.0** introduces detailed miner status & an option to keep existing licenses when applying a contract key

### Added

- Introduced new server-streaming method 
`GetMinerDetailedStatus`
 in the 
`braiins.bos.v1.MinerService`
 to read detailed miner status

- Introduced new messages 
`braiins.bos.v1.GetMinerDetailedStatusRequest`
 and 
`braiins.bos.v1.GetMinerDetailedStatusResponse`
. The response wraps 
`braiins.bos.v1.MinerDetailedStatus`

- Introduced new message 
`braiins.bos.v1.MinerDetailedStatus`
 with a status 
`oneof`
 that tells the user the miner state and the reason for it

- Introduced new field 
`detailed_status`
 in the 
`braiins.bos.v1.GetMinerDetailsResponse`
 message

- Introduced new messages used by the status `oneof`: `ExpectedTime`, `Unspecified`, `ApplicationUnavailable`,
`UnsupportedHardware`, `DeadPools`, `MissingLicense`, `UserPause`, `ThermalPause`, `DpsCooldown`, `TunerError`,
`HardwareError`, `DelayedStart`, `CoolingDown`, `WaitingWhileCold`, `Defrosting`, `Normal` and `Preheating`

- Introduced new enumeration 
`ThermalPauseReason`

- Introduced new optional field 
`keep_existing`
 in the 
`braiins.bos.v1.ApplyContractKeyRequest`
 message to keep the licenses that are already on the miner


### Deprecated

- Marked 
`GetMinerStatus`
 method as 
**deprecated**
 in 
`MinerService`
. Instead of this method, the user should use 
`GetMinerDetailedStatus`

- Marked 
`status`
 field as 
**deprecated**
 in the 
`GetMinerDetailsResponse`
 message. Instead of this field, the user should read 
`detailed_status`




##  1.13.0

July 08, 2026Version **1.13.0** introduces the option to wipe the network configuration during a factory reset.

### Added

- Introduced new optional field `wipe_network` in the `braiins.bos.v1.FactoryResetRequest` message. When set to
`true`, 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 to `false`, the miner keeps its network configuration, as
before.




##  1.12.0

June 02, 2026Version **1.12.0** introduces information about the PIC board.

### Added

- Introduced new field 
`is_pic_model`
 in the 
`braiins.bos.v1.GetMinerDetailsResponse`
 message to indicate whether the miner has a PIC (Programmable Interrupt Controller) board.




##  1.11.0

May 11, 2026Version **1.11.0** introduces the miner efficiency profile, hydro water temperatures and the new Advanced Settings service.

### Added

- Introduced new method 
`GetMinerEfficiencyProfile`
 in the 
`braiins.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.GetMinerEfficiencyProfileRequest`
 and 
`braiins.bos.v1.GetMinerEfficiencyProfileResponse`
.

- Introduced new fields 
`lowest_water_inlet_temp`
 and 
`highest_water_outlet_temp`
 in the 
`braiins.bos.v1.Hashboard`
 message to get lowest water inlet and highest outlet temperatures per hashboard for hydro miners.

- Introduced new `braiins.bos.v1.AdvancedSettingsService` to 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; set `include_default` to 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.TunerState`
 enumeration with 
`TUNER_STATE_PREHEAT`
 variant.




##  1.10.0

April 15, 2026Version **1.10.0** introduces system upgrade over the API, log download and overflow-safe best share values.

### Added

- Introduced new field 
`best_share_str`
 in 
`braiins.bos.v1.WorkSolverStats`
 and 
`braiins.bos.v1.PoolStats`
 messages with the best share value as a decimal string, which can hold values larger than 2^64-1.

- Introduced new method 
`SystemUpgrade`
 in the 
`braiins.bos.v1.UpgradeService`
. User can now upload firmware and run a system upgrade.

- Introduced new method 
`RestoreStock`
 in the 
`braiins.bos.v1.UpgradeService`
. User can now restore the stock firmware.

- Introduced new 
`braiins.bos.v1.LogType`
 enumeration 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_share`
 in 
`braiins.bos.v1.WorkSolverStats`
 and 
`braiins.bos.v1.PoolStats`
 messages. Use 
`best_share_str`
 instead to avoid overflow for values exceeding 2^64-1.




##  1.9.0

February 18, 2026Version **1.9.0** introduces factory reset, DPS start target and fan pause runtime configuration.

### Added

- Introduced new field 
`on_start_target_percent`
 in the 
`braiins.bos.v1.DPSConfiguration`
, 
`braiins.bos.v1.DPSConstraints`
, 
`braiins.bos.v1.SetDPSRequest`
 and 
`braiins.bos.v1.SetDPSResponse`
 messages. 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.FanPauseRuntime`
 with 
`FAN_PAUSE_RUNTIME_LIMITED`
 and 
`FAN_PAUSE_RUNTIME_INDEFINITE`
 variants.

- Introduced new field 
`fan_pause_runtime`
 in the 
`braiins.bos.v1.ManualPauseMode`
 message to configure fan runtime duration in manual pause mode.

- Introduced new field 
`default_fan_pause_runtime`
 in the 
`braiins.bos.v1.CoolingConstraints`
 message to get default fan pause runtime.

- Introduced new field 
`fan_pause_runtime_limited_duration_s`
 in the 
`braiins.bos.v1.CoolingConstraints`
 message to get fan pause runtime limited duration.


### Changed

- Extended 
`braiins.bos.v1.TunerState`
 enumeration with 
`TUNER_STATE_CONTINUOUS`
 variant.




##  1.8.0

November 25, 2025Version **1.8.0** introduces new Upgrade service `braiins.bos.v1.UpgradeService` and relative power/hashrate target configuration.

### Added

- Introduced new field 
`uid`
 in the 
`braiins.bos.v1.PoolGroup`
 message to get group uid.

- Introduced new service `braiins.bos.v1.UpgradeService` with methods:
- `UpdateAutoUpgradeConfig` - enables/disables AutoUpgrade and configures schedule
  -`GetAutoUpgradeStatus` - retrieves current AutoUpgrade configuration and execution status

- Introduced new messages for AutoUpgrade scheduling:
- `units.DayOfWeek` enum and custom `upgrade.UpgradeTime` message for schedule configuration
- `DailySchedule` - schedule upgrades to run daily at a specific time
- `WeeklySchedule` - schedule upgrades to run weekly on a specific day of the week at a specific time
- `MonthlySchedule` - schedule upgrades to run monthly on a specific day of the month (1-28) at a specific time
- `AutoUpgradeSchedule` - oneof message that can contain any of the schedule types
- `UpdateAutoUpgradeConfigRequest` - request message to update AutoUpgrade configuration
- `UpdateAutoUpgradeConfigResponse` - response message containing enabled status and next execution timestamp
- `GetAutoUpgradeStatusRequest` - request message to get AutoUpgrade status
- `GetAutoUpgradeStatusResponse` - response message containing enabled status, schedule, next execution, and last execution timestamps

- Introduced new enumeration 
`RelativeTargetReference`
 with 
`NOMINAL`
, 
`MIN`
, 
`MAX`
 and 
`CURRENT`
 variants for relative target setting.

- Introduced new message 
`SetRelativeTargetRequest`
 with 
`save_action`
, 
`percentage`
, and 
`reference`
 fields.

- Introduced new methods 
`SetRelativePowerTarget`
 and 
`SetRelativeHashrateTarget`
 to allow setting power and hashrate targets relative to a reference value.




##  1.7.0

August 10, 2025Version **1.7.0** introduces changes to `braiins.bos.v1.PoolGroupConfiguration` and `braiins.bos.v1.PoolConfiguration`.

### Added

- Introduced new enumeration `braiins.bos.v1.FanPauseMode` with `FAN_PAUSE_MODE_AUTO` and `FAN_PAUSE_MODE_MANUAL`
variants.

- Introduced new field `default_fan_pause_mode` in the `braiins.bos.v1.CoolingConstraints` message to get default
fan pause mode.

- Introduced new messages `braiins.bos.v1.SetQuickRampingRequest`, `braiins.bos.v1.QuickRampingResponse` and
`braiins.bos.v1.SetDefaultQuickRampingRequest`.

- Introduced new method `SetQuickRamping` in the `braiins.bos.v1.PerformanceService`. User can now set quick
ramping time up and down values.

- Introduced new method `SetDefaultQuickRamping` in the `braiins.bos.v1.PerformanceService`. User can now set
quick ramping time up and down to default.

- Introduced new fields `quick_ramping_time_up_s` and `quick_ramping_time_down_s` in the
`braiins.bos.v1.HashboardPerformanceConfiguration` message to get quick ramping time up and down values.

- Introduced new field `quick_ramping_time_s` in the `braiins.bos.v1.HashboardConstraints` message to get quick
ramping time constraints.


### Changed

- Mark 
`uid`
 for 
`braiins.bos.v1.PoolGroupConfiguration`
 and 
`braiins.bos.v1.PoolConfiguration`
 as optional. This change allows to create new pool group or pool without providing empty 
`uid`
 value. When new entity is created 
`uid`
 is generated automatically. When updating existing Pool Group with 
`UpdatePoolGroup`
 method, 
`uid`
 is required, otherwise error is returned back to the user.




##  1.6.0

June 10, 2025Version **1.6.0** introduces option to set a fans mode during the curtailment & apply the custom contract

### Added

- Introduced new messages 
`PauseMode`
, 
`AutoPauseMode`
 and 
`ManualPauseMode`
.

- Introduced new field 
`pause_mode`
 in the 
`braiins.bos.v1.CoolingAutoMode`
 message to set and get pause cooldown fan speed for automatic cooling mode

- Introduced new field 
`pause_mode`
 in the 
`braiins.bos.v1.CoolingManualMode`
 message to set and get pause cooldown fan speed for manual cooling mode

- Introduced new field 
`pause_cooldown_fan_speed_ratio`
 in the 
`braiins.bos.v1.CoolingConstraints`
 message to get pause cooldown fan speed constraints

- Introduced new method 
`ApplyContractKey`
 in the 
`braiins.bos.v1.LicenseService`
. User can now apply contract key to miner and get license




##  1.5.0

April 09, 2025Version **1.5.0** introduces inlet & outlet temperatures and more hardware information

### Added

- Introduced new fields 
`lowest_inlet_temp`
, 
`highest_outlet_temp`
 in the 
`braiins.bos.v1.Hashboard`
 message to get the lowest inlet and highest outlet temperature for a specific hashboard

- Introduced new fields 
`serial_number`
, 
`board_name`
 and 
`chip_type`
 in the 
`braiins.bos.v1.Hashboard`
 message

- Introduced new 
`PsuInfo`
 message and added it to the 
`braiins.bos.v1.GetMinerDetailsResponse`
 message

- Introduced new 
`ControlBoardSocFamily`
 enumeration and added it to the 
`braiins.bos.v1.GetMinerDetailsResponse`
 message

- Introduced new field 
`serial_number`
 in the 
`braiins.bos.v1.GetMinerDetailsResponse`
 message




##  1.4.0

February 27, 2025Version **1.4.0** introduces DPS modes control, customizable min/max fan speed control & unified miners cooling methods

### Added

- Introduced new field `mode` in the `braiins.bos.v1.DPSConfiguration`, `braiins.bos.v1.SetDPSRequest`,
`braiins.bos.v1.SetDPSResponse` message to get or set DPS mode

- Introduced new field `mode` in the `braiins.bos.v1.DPSConstraints` message to get the default value for DPS mode

- Introduced new method `SetCoolingMode` in the `braiins.bos.v1.CoolingService`. Users can now set cooling mode to
`automatic`, `manual`, `hydro` or `immersion`. It gives the user the possibility to set specific temperature and
fan settings for each mode

- Introduced new field `min_fan_speed` in the `braiins.bos.v1.CoolingAutoMode` to set minimum fan speed for
automatic cooling mode

- Introduced new field `max_fan_speed` in the `braiins.bos.v1.CoolingAutoMode` to set maximum fan speed for
automatic cooling mode

- Introduced new field `min_fan_speed` in the `braiins.bos.v1.CoolingConstraints` to get default value for minimum
fan speed for automatic cooling mode

- Introduced new field `max_fan_speed` in the `braiins.bos.v1.CoolingConstraints` to get default value for maximum
fan speed for automatic cooling mode

- Introduced new field `target_temperature` in the `braiins.bos.v1.CoolingManualMode` to set target temperature
for manual cooling mode


### Changed

- Marked 
`SetImmersionMode`
 method as 
**deprecated**
 in 
`CoolingService`
. Instead of this method, the user should use 
`SetCoolingMode`
 with 
`immersion`
 mode

- Marked 
`disabled`
 cooling mode as 
**deprecated**
 in 
`CoolingConfiguration`
 mode

- Extended 
`CoolingConfiguration`
 mode with new value 
`immersion`
 that represents immersion cooling mode

- Extended 
`CoolingConfiguration`
 mode with new value 
`hydro`
 that represents hydro cooling mode




##  1.3.0

October 22, 2024Version **1.3.0** introduces a few small improvements.

### Changed

- Extended 
`braiins.bos.v1.Platform`
 enumeration with 
`PLATFORM_STM32MP157C_II2_BMM1`
 variant.

- Extended 
`braiins.bos.v1.SupportArchiveFormat`
 enumeration with 
`SUPPORT_ARCHIVE_FORMAT_ZIP_ENCRYPTED`
 variant.




##  1.2.0

July 17, 2024Version **1.2.0** introduces the possibility to configure all pool groups at once and read Braiins OS errors.

### API Enhancements

- Introduced new method 
`SetPoolGroups`
 in the 
`braiins.bos.v1.PoolService`
 to set all Pool groups at once.

- Introduced new method 
`GetErrors`
 in the 
`braiins.bos.v1.MinerService`
 to get all miner errors.

- Introduced new field 
`model`
 in the 
`braiins.bos.v1.Hashboard`
 message that contains hashboard name.




##  1.1.0

May 09, 2024Version **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`
, in 
`braiins.bos.v1.PoolStats`
 that provides information about the last share time.

- Introduced a new field 
`token`
, in 
`braiins.bos.v1.LoginResponse`
 that 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`
, in 
`braiins.bos.v1.NetworkService`
 to retrieve the current network configuration for the default network interface.

- Introduced a new field 
`kernel_version`
, in 
`braiins.bos.v1.GetMinerDetailsResponse`
 that provides information about the kernel version.




##  1.0.0

March 27, 2024The first stable release of the Public API incorporates minor enhancements.

### API Enhancements

- Introduced new field 
`enabled`
 in the 
`braiins.bos.v1.DPSConfiguration`
 that provides info, if DPS is enabled by default or not.

- Introduced new field 
`enabled`
 in the 
`braiins.bos.v1.TunerConstraints`
 that provides info, if DPS is enabled by default or not.

- Introduced new field 
`default_mode`
 in the 
`braiins.bos.v1.TunerConstraints`
 that provides info about the default tuner mode.

- Introduced new field 
`status`
 in the 
`braiins.bos.v1.GetMinerDetailsResponse`
 that provides info about the current miner status.




##  1.0.0-beta.6

March 05, 2024Version **1.0.0-beta.6** contains one new feature: Network configuration.

### Network Service Configuration

- New 
`braiins.bos.v1.NetworkService`
 with 
`GetNetworkConfiguration`
 and 
`SetNetworkConfiguration`
 methods




##  1.0.0-beta.5

December 14, 2023Version **1.0.0-beta.5** contains one small extension.

### Platform Enumeration Extension

- Extension of the 
`braiins.bos.v1.Platform`
 enumeration with new value for Zynq.




##  1.0.0-beta.4

November 23, 2023Version **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_s`
 in the 
`braiins.bos.v1.GetMinerDetailsResponse`
 that replaces 
`system_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.MinerModel`
 enumeration 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 field 
`miner_model`
 for string representation.




##  1.0.0-beta.3

November 02, 2023Version **1.0.0-beta.3** contains a few minor improvements.

### Minor Improvements and Removals

- Extension of the 
`braiins.bos.v1.GetMinerDetailsResponse`
 message with 
`bosminer_uptime_s`
 field that contains bosminer uptime.

- We removed 
`braiins.bos.v1.MinerModel`
 enumeration and changed type of 
`model`
 field in 
`braiins.bos.v1.MinerIdentity`
 to 
`string`
. 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

August 10, 2023Version **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()`
 and 
`braiins.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

June 29, 2023The 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()`
 and 
`braiins.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

May 11, 2023The 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

June 26, 2023New 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()`
 and 
`braiins.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

May 25, 2023The 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 
`ConfigurationService`
 methods, user can read current miner configuration and configuration constraints.

- With 
`CoolingService`
 methods, user can read current state of fans or current temperatures, or configure immersion mode.

- With 
`MinerService`
 methods, user can read miner HW details, overall miner or hashboards statistics.

- With 
`PoolService`
 methods, user can read all currently used pool groups, as well as update a specific pool group.

- With 
`TunerService`
 methods, user can read current tuner state and configure tuner power target.

- Overall to use gRPC API, user must be authenticated. For this purpose, 
`AuthenticationService`
 with 
`Login`
 method is present.




---

Was this helpful?

Yes, thanks!Sort of, thanks!Not really

Talk to us!