Skip to content

Latest commit

 

History

History
641 lines (465 loc) · 23.6 KB

CHANGES.rst

File metadata and controls

641 lines (465 loc) · 23.6 KB

Changelog

A list of changes between each release

0.23.0 (2024-06-19)

See release notes: (0.23.0)

0.22.7 (2024-04-15)

See release notes: (0.22.7)

0.22.6 (2024-01-24)

Bugfixes

Other changes

0.22.5 (2024-01-07)

Warning: This release removes support for Python 3.8 and adds Python 3.12 support.

Bugfixes

Other changes

0.22.4 (2023-12-18)

Bugfixes

  • Allow kwargs to throttled functions, await sleep in throttle (@mkmer #823)
  • add missing entry in type_key_map (@Rosi2143 #813)

** Other Changes **

  • Delete ReadTheDocs
  • python formatter
  • docstring format changes
  • Bump ruff to 0.1.8
  • Bump black to 23.12.0
  • Bump pygments to 2.17.2

0.22.3 (2023-11-05)

Bugfixes

** Other Changes **

  • Bump ruff to 0.1.3
  • Bump pytest to 7.4.3
  • Bump black to 23.10.1

0.22.2 (2023-10-13)

Same as 0.22.1 (pypi upload issue)

0.22.1 (2023-10-13)

Bugfixes

Other Changes

  • Cleanup readme, add breaking change warning
  • Migrate to puproject.toml + ruff
  • Bump ruff to 0.0.292
  • Bump black to 23.9.1
  • Bump coverage to 7.3.2
  • Bump build to 1.0.3
  • Bump pytest to 7.4.2
  • Bump pytest-timeout to 2.2.0
  • Fix 'stale' github action

0.22.0 (2023-08-16)

Bugfixes

-None

New Features

Other Changes

  • Various fixes to codebase to support asyncio
  • Upgrade flake8 to 6.1.0
  • Upgrade pylint to 2.17.5
  • Upgrade pytest to 7.4.0
  • Upgrade black to 23.7.0
  • Upgrade pytest-cov to 4.1.0
  • Upgrade pygments to 2.16.1
  • Upgrade coverage to 7.3.0

0.21.0 (2023-05-28)

Bugfixes

  • None

New Features

Other Changes

  • Upgrade pylint to 2.17.4
  • Upgrade coverage to 7.2.5
  • Upgrade pygments to 2.15.1
  • Upgrade pytest to 7.3.1
  • Upgrade pytest-sugar to 0.9.7
  • Upgrade black to 23.3.0

0.20.0 (2023-01-29)

Bugfixes

New Features

Other Changes

  • Deprecate py3.7 (@fronzbot #644)
  • Upgrade pytest to 7.20
  • Upgrade pylint to 2.15.10
  • Upgrade pre-commit to 3.0.2
  • Upgrade black to 22.12.0
  • Upgrade flake8 to 6.0.0
  • Upgrade coverage to 7.1.0
  • Upgrade pydocstyle to 6.3.0
  • Upgrade flake8-docstrings to 1.7.0
  • Upgrade pygments to 2.14.0
  • Upgrade pytest-sugar to 0.9.6

0.19.2 (2022-07-26)

Bugfixes

Other Changes

0.19.1 (2022-06-26)

Bugfixes

Other Changes

0.19.0 (2022-03-20)

Bugfixes:

New Features:

Other:

  • Make code that determines need for unique class (Mini + Doorbells) generic (@fronzbot #553)
  • Bump pre-commit to 2.17.0
  • Bump pytest-timeout to 2.1.0
  • Bump pygments to 2.11.2
  • Bump black to 22.1.0
  • Bump coverage to 6.3.2
  • Bump pytest to 7.1.1
  • Bump restructuredtext-lint to 1.4.0

0.18.0 (2021-12-11)

Bugfixes:

  • None

New Features:

Other:

  • Bump pytest-cov to 3.0.0
  • Bump pre-commit to 2.15.0
  • Bump pytest to 6.2.5
  • Bump pylint to 2.10.2
  • Bump pygments to 2.10.0
  • Bump flake8-docstrings to 1.6.0
  • Bump pydocstyle to 6.0.0
  • Bump coverage to 5.5

0.17.1 (2021-02-18)

  • Add delay parameter to Blink.download_videos method in order to throttle API during video retrieval (@fronzbot #437)
  • Bump pylint to 2.6.2

0.17.0 (2021-02-15)

Bugfixes:

New Features:

Other:

  • Add debug script to main repo to help with general debug
  • Upgrade login endpoint from v4 to v5
  • Add python 3.9 support
  • Bump coverage to 5.4
  • Bump pytest to 6.2.2
  • Bump pytest-cov to 2.11.1
  • Bump pygments to 2.8.0
  • Bump pre-commit to 2.10.1
  • Bump restructuredtext-lint to 1.3.2

0.16.4 (2020-11-22)

Bugfixes:

  • Updated liveview endpoint (@fronzbot #389)
  • Fixed mini thumbnail not updating (@fronzbot #388)
  • Add exception catch to prevent NoneType error on refresh, added test to check behavior as well (@fronzbot #401) - Unrelated: had to add two force methods to refresh for testing purposes. Should not change normal usage.
  • Fix malformed stream url (@fronzbot #395)

All:

  • Moved testtools to requirements_test.txt (@fronzbot #387)
  • Bumped pytest to 6.1.1
  • Bumped flake8 to 3.8.4
  • Fixed README spelling (@rohitsud #381)
  • Bumped pygments to 2.7.1
  • Bumped coverage to 5.3
  • Bumped pydocstyle to 5.1.1
  • Bumped pre-commit to 2.7.1
  • Bumped pylint to 2.6.0
  • Bumped pytest-cov to 2.10.1

0.16.3 (2020-08-02)

  • Add user-agent to all headers

0.16.2 (2020-08-01)

  • Add user-agent to header at login
  • Remove extra data parameters at login (not-needed)
  • Bump pytest to 6.0.1

0.16.1 (2020-07-29)

  • Unpin requirements, set minimum version instead
  • Bump coverage to 5.2.1
  • Bump pytest to 6.0.0

0.16.0 (2020-07-20)

Breaking Changes:

  • Add arm property to camera, deprecate motion enable method (@fronzbot #273)
  • Complete refactoring of auth logic (breaks all pre-0.16.0 setups!) (@fronzbot #261)

New Features:

All changes:

Please see the change list in the (Release Notes)

0.15.1 (2020-07-11)

0.15.0 (2020-05-08)

Breaking Changes:

  • Removed support for Python 3.5 (3.6 is now the minimum supported version)
  • Deprecated Blink.login() method. Please only use the Blink.start() method for logging in.

New Functions

  • Add device_id override when logging in (for debug and to differentiate applications) (@fronzbot #245)

This can be used by instantiating the Blink class with the device_id parameter.

All Changes:

0.14.3 (2020-04-22)

  • Add time check on recorded videos before determining motion
  • Fix motion detection variable suck to True
  • Add ability to load credentials from a json file
  • Only allow motion_detected variable to trigger if system was armed
  • Log response message from server if not attempting a re-authorization

0.14.2 (2019-10-12)

0.14.1 (2019-06-20)

  • Fix timeout problems blocking blinkpy startup
  • Updated login urls using rest-region subdomain
  • Removed deprecated thumbanil recovery from homescreen

0.14.0 (2019-05-23)

Breaking Changes:

  • BlinkCamera.battery no longer reports a percentage, instead it returns a string representing the state of the battery.
  • Previous logic for calculating percentage was incorrect
  • raw battery voltage can be accessed via BlinkCamera.battery_voltage

Bug Fixes:

  • Updated video endpoint (fixes broken motion detection)
  • Removed throttling from critical api methods which prevented proper operation of multi-sync unit setups
  • Slugify downloaded video names to allow for OS interoperability
  • Added one minute offset (Blink.motion_interval) when checking for recent motion to allow time for events to propagate to server prior to refresh call.

Everything else:

  • Changed all urls to use rest-region rather than rest.region. Ability to revert to old method is enabled by instantiating Blink() with the legacy_subdomain variable set to True.
  • Added debug mode to blinkpy.download_videos routine to simply print the videos prepped for download, rather than actually saving them.
  • Use UTC for time conversions, rather than local timezone

0.13.1 (2019-03-01)

  • Remove throttle decorator from network status request

0.13.0 (2019-03-01)

Breaking change: Wifi status reported in dBm again, instead of bars (which is great). Also, the old get_camera_info method has changed and requires a camera_id parameter.

  • Adds throttle decorator
  • Decorate following functions with 4s throttle (call method with force=True to override):
    • request_network_status
    • request_syncmodule
    • request_system_arm
    • request_system_disarm
    • request_sync_events
    • request_new_image
    • request_new_video
    • request_video_count
    • request_cameras
    • request_camera_info
    • request_camera_sensors
    • request_motion_detection_enable
    • request_motion_detection_disable
  • Use the updated homescreen api endpoint to retrieve camera information. The old method to retrieve all cameras at once seems to not exist, and this was the only solution I could figure out and confirm to work.
  • Adds throttle decorator to refresh function to prevent too many frequent calls with force_cache flag set to True. This additional throttle can be overridden with the force=True argument passed to the refresh function.
  • Add ability to cycle through login api endpoints to anticipate future endpoint deprecation

0.12.1 (2019-01-31)

  • Remove logging improvements since they were incompatible with home-assistant logging

0.12.0 (2019-01-31)

  • Fix video api endpoint, re-enables motion detection
  • Add improved logging capability
  • Add download video method
  • Prevent blinkpy from failing at setup due to api error

0.11.2 (2019-01-23)

  • Hotfix to prevent platform from stalling due to API change
  • Motion detection and video recovery broken until new API endpoint discovered

0.11.1 (2019-01-02)

  • Fixed incorrect backup login url
  • Added calibrated temperature property for cameras

0.11.0 (2018-11-23)

  • Added support for multiple sync modules

0.10.3 (2018-11-18)

  • Use networks endpoint rather than homecreen to retrieve arm/disarm status (@md-reddevil)
  • Fix incorrect command status endpoint (@md-reddevil)
  • Add extra debug logging
  • Remove error prior to re-authorization (only log error when re-auth failed)

0.10.2 (2018-10-30)

  • Set minimum required version of the requests library to 2.20.0 due to vulnerability in earlier releases.
  • When multiple networks detected, changed log level to warning from error

0.10.1 (2018-10-18)

  • Fix re-authorization bug (fixes #101)
  • Log an error if saving video that doesn't exist

0.10.0 (2018-10-16)

  • Moved all API calls to own module for easier maintainability
  • Added network ids to sync module and cameras to allow for multi-network use
  • Removed dependency on video existance prior to camera setup (fixes #93)
  • Camera wifi_strength now reported in wifi "bars" rather than dBm due to API endpoint change
  • Use homescreen thumbnail as fallback in case it's not in the camera endpoint
  • Removed "armed" and "status" attributes from camera (status of camera only reported by "motion_enabled" now)
  • Added serial number attributes to sync module and cameras
  • Check network_id from login response and verify that network is onboarded (fixes #90)
  • Check if retrieved clip is "None" prior to storing in cache

0.9.0 (2018-09-27)

  • Complete code refactoring to enable future multi-sync module support
  • Add image and video caching to the cameras
  • Add internal throttling of system refresh
  • Use session for http requests

Breaking change: - Cameras now accessed through sync module Blink.sync.cameras

0.8.1 (2018-09-24)

  • Update requirements_test.txt
  • Update linter versions
  • Fix pylint warnings - Remove object from class declarations - Remove useless returns from functions
  • Fix pylint errors - change if comparison to fix (consider-using-in) - Disabled no else-if-return check
  • Fix useless-import-alias
  • Disable no-else-return
  • Fix motion detection - Use an array of recent video clips to determine if motion has been detected. - Reset the value every system refresh

0.8.0 (2018-05-21)

  • Added support for battery voltage level (fixes #64)
  • Added motion detection per camera
  • Added fully accessible camera configuration dict
  • Added celcius property to camera (fixes #60)

0.7.1 (2018-05-09)

  • Fixed pip 10 import issue during setup (@fronzbot)

0.7.0 (2018-02-08)

  • Fixed style errors for bumped pydocstring and pylint versions
  • Changed Blink.cameras dictionary to be case-insensitive (fixes #35)
  • Changed api endpoint for video extraction (fixes #35 and #41)
  • Removed last_motion() function from Blink class
  • Refactored code for better organization
  • Moved some request calls out of @property methods (enables future CLI support)
  • Renamed get_summary() method to summary and changed to @property
  • Added ability to download most recent video clip
  • Improved camera arm/disarm handling (@b10m)
  • Added authentication to login() function and deprecated setup_system() in favor of start()
  • Added attributes dictionary to camera object

0.6.0 (2017-05-12)

  • Removed redundent properties that only called hidden variables
  • Revised request wrapper function to be more intelligent
  • Added tests to ensure exceptions are caught and handled (100% coverage!)
  • Added auto-reauthorization (token refresh) when a request fails due to an expired token (@tySwift93)
  • Added battery level string to reduce confusion with the way Blink reports battery level as integer from 0 to 3

0.5.2 (2017-03-12)

  • Fixed packaging mishap, same as 0.5.0 otherwise

0.5.0 (2017-03-12)

  • Fixed region handling problem
  • Added rest.piri subdomain as a backup if region can't be found
  • Improved the file writing function
  • Large test coverage increase

0.4.4 (2017-03-06)

  • Fixed bug where region id was not being set in the header

0.4.3 (2017-03-05)

  • Changed to bdist_wheel release

0.4.2 (2017-01-28)

  • Fixed inability to retrieve motion data due to Key Error

0.4.1 (2017-01-27)

  • Fixed refresh bug (0.3.1 did not actually fix the problem)
  • Image refresh routine added (per camera)
  • Dictionary of thumbnails per camera added
  • Improved test coverage

0.3.1 (2017-01-25)

  • Fixed refresh bug (Key Error)

0.3.0 (2017-01-25)

  • Added device id to camera lookup table
  • Added image to file method

0.2.0 (2017-01-21)

  • Initial release of blinkpy