# ArtiLED Library Release Notes

## 24-02-2026

### Added
- **ArtiPSU.txt** v1.00: New protocol document for ArtiPSU — dedicated PSU control service on TCP port 1095 with token authentication, on/off/state commands, GPIO pin 23 (BCM)

## 19-02-2026

### Code Fixes (Round 4)

### commands_udp.php v1.02
- Fixed wrong RGB color labels on `strip_rgb` examples (same bug fixed in 3 other files but missed here)

### Documentation Fixes (Round 4)

### ArtiAPI.txt v1.36
- Fixed JSON key `"Error"` -> `"error"` in response example (consistency with other lowercase keys)
- Removed stray `?` from future command `! /scene_stop`
- Fixed Mode Commands header border width (18 -> 17 chars to match content)

### Code Fixes (Round 3)

### artiled.py v2.15
- Renamed "Hue, Sat, Brightness" -> "Hue, Sat, Value" in all HSV comments (9 occurrences)
- Fixed "Hue, Saturation, Value" -> "Hue, Sat, Value" abbreviation (2 occurrences)
- Fixed section header "Segment Commands" -> "Segment Color Commands" (matches other files)

### artiled.php v2.25
- Renamed "Hue, Sat, Brightness" -> "Hue, Sat, Value" in all HSV comments (9 occurrences)
- Fixed "Hue, Saturation, Value" -> "Hue, Sat, Value" abbreviation (2 occurrences)
- Fixed section header "Pixel Commands" -> "Pixel Color Commands" (matches other files)
- Fixed "Multi Pixel Commands" border width (26 -> 24 chars)
- Fixed get_default_brightness range "(1-255)" -> "(0-255)"
- Fixed "last Minute" -> "previous Minute" in get_error_rate and get_data_rate comments

### artiudp.py v2.14
- Renamed "Hue, Sat, Brightness" -> "Hue, Sat, Value" in all HSV comments (7 occurrences)

### artiudp.php v2.14
- Renamed "Hue, Sat, Brightness" -> "Hue, Sat, Value" in all HSV comments (7 occurrences)
- Added missing comment for `strip_shift` function

### commands.py v2.16
- Fixed "2=Leds" -> "3=Leds" in status comment
- Fixed 3 segment effect comments "Smart Fill" -> "Smart Clear" (effects 32-34)
- Renamed "Hue,Sat,Brightness" -> "Hue,Sat,Value" in HSV comments (2 occurrences)

### commands.php v2.25
- Fixed "2=Leds" -> "3=Leds" in status comment
- Fixed 3 comments "Multi Segment" -> "Multi Channel Segment" (missed in previous PHP fix)
- Fixed "realtime.commit" -> "realtime,commit" (period instead of comma)
- Renamed "Hue,Sat,Brightness" -> "Hue,Sat,Value" in HSV comments (2 occurrences)

### commands_udp.py v1.04
- Renamed "Hue,Sat,Brightness" -> "Hue,Sat,Value" in HSV comments (2 occurrences)

### commands_udp.php v1.01
- Renamed "Hue,Sat,Brightness" -> "Hue,Sat,Value" in HSV comments (2 occurrences)

### Code Fixes (Round 2)

### artiled.py v2.14
- Fixed `pixel_string_hsv` using decimal 126 instead of 0x7e for stop byte
- Fixed double space in "Led Controller Special Commands" section header and adjusted border

### artiled.php v2.24
- Fixed section headers "Multi Pixel Command Tests" -> "Multi Pixel Commands" and "Multi Channel Pixel Command Tests" -> "Multi Channel Pixel Commands" with border adjustments
- Fixed double space in "Led Controller Special Commands" section header and adjusted border

### commands.py v2.15
- Fixed "#Get Brightness" -> "#Get Value" comment
- Fixed wrong RGB color labels on `strip_rgb` examples (values didn't match color names)
- Fixed "Cuve" typo -> "Curve"

### commands.php v2.24
- Fixed "Documentaton" typo -> "Documentation" (2 occurrences)
- Fixed "informtation" typo -> "information"
- Fixed "Pyhton" typo -> "Python" and adjusted line spacing
- Fixed wrong RGB color labels on `strip_rgb` examples

### commands_udp.py v1.03
- Fixed wrong RGB color labels on `strip_rgb` examples

### Documentation Fixes (Round 3)

### ArtiNET.txt v2.33
- Fixed effect sub-command hex values 0x14-0x22 (were wrong from 0x15 onward due to skipped numbers)
- Added missing "Cross Pixel Run" effect (0x1a) to both Strip and Segment tables
- Renamed "Hue, Sat, Brightness" -> "Hue, Sat, Value" in all HSV commands
- Fixed "Hue, Saturation, Value" -> "Hue, Sat, Value" abbreviation
- Fixed "HSV value are" -> "HSV values are"
- Fixed missing "=" in Channel Info Luma/Light options (0x01, 0x02, 0x03)
- Fixed colon alignment on 3 Multi Channel Pixel Fill lines
- Fixed "3 byte" -> "3 bytes" on Blend Palette
- Fixed extra space in "Palette commands" section header

### ArtiUDP.txt v2.05
- Added complete Strip effect sub-command table (0x01-0x22) with correct hex values
- Added complete Segment effect sub-command table (0x01-0x22)
- Renamed "Hue, Sat, Brightness" -> "Hue, Sat, Value" in all HSV commands
- Fixed "3 byte" -> "3 bytes" on Blend Palette

### ArtiAPI.txt v1.35
- Fixed "Multi Pixels" -> "Multi Pixel"
- Fixed "$ Hue" -> "$ hue" (lowercase)
- Removed orphan "(" from 6 endpoint descriptions

### ArtiCONTROL.txt v2.06
- Fixed "0-4 number of channels" -> "1-4" (0 means all channels, not valid setting)

### ArtiPALETTE.txt v1.05
- Fixed "colors" -> "Colors" capitalization
- Fixed "purple" -> "Purple" capitalization
- Fixed "blue" -> "Blue" and "Blend" -> "blend" capitalization

### Documentation Fixes (Round 2)

### ArtiNOTIFY.txt v1.02
- Updated copyright year from 2024 to 2026
- Added missing "-1 = TimeOut : No Answer" return code
- Fixed "Informal" -> "Informational"

### ArtiUDP.txt v2.04
- Fixed "ArtUDP" typo -> "ArtiUDP" in header
- Fixed Strip Part Palette (0xb8): added missing Clear parameter, byte count 9 -> 10
- Fixed Segment Palette (0xb9): added missing Clear parameter, byte count 9 -> 10
- Swapped 0xba/0xbb descriptions to match naming convention (Multi Channel Strip Part Palette / Multi Channel Segment Palette)
- Fixed Blend Palette speed from "0x40=Fast" to "0x18=Fast"
- Fixed "Multiples bytes" -> "Multiple bytes"
- Fixed "(see  List)" double space -> "(see List)"
- Fixed "leds values" -> "led values"
- Added 6 missing effect commands (0x90-0x95): strip/segment effect rgbw/rgb/hsv

### ArtiAPI.txt v1.34
- Fixed "milisecond" typo -> "millisecond" -> "milliseconds"
- Fixed "brighntess" typo -> "brightness" in JSON key
- Fixed scene JSON: comma -> colon for "running" key
- Fixed light JSON: single quotes -> double quotes, comma -> colon
- Fixed node JSON: single quotes -> double quotes
- Added missing closing braces `}}` for palette and custom_palette JSON examples
- Fixed mismatched brackets `{...) or (...}` -> `{...} or {...}` in scene/mode commands
- Fixed /house endpoint description "Sets Room" -> "Sets House"

### ArtiPALETTE.txt v1.04
- Fixed "Fuschia" typo -> "Fuchsia"
- Fixed "Oranage" typo -> "Orange"
- Fixed "Ligtblue" typo -> "Light Blue"
- Fixed "BLue" capitalization -> "Blue"
- Renamed duplicate palette "Cloud" (0x27) -> "Pastel Cloud"
- Standardized "BV" -> "B.V." in copyright
- Fixed "White  Cloud" double space -> "White Cloud"

### ArtiDISCOVERY.txt v1.04
- Fixed "Adres" typo -> "Address" and adjusted header borders
- Standardized "BV" -> "B.V." in copyright

### ArtiCONTROL.txt v2.05
- Fixed "GBW" typo -> "RGBW"
- Added missing error code 6 "Command Data Invalid"
- Fixed "Get Version Data" -> "Get Version Date"
- Fixed "Segment names" -> "Section names"
- Fixed "Colors Segment" -> "Colors Section"
- Fixed palette descriptions: "Colors whole strip" -> "Colors part of strip"/"Colors segment"/"Colors section"
- Fixed "Reset Error Count" description: "Returns" -> "Resets"
- Fixed "WS2811GRB" -> "WS2811-GRB" (missing dash)
- Fixed "Pallette"/"Pallete" typos -> "Palette"
- Fixed "Display Display" duplicate -> "Display"
- Fixed "value are" -> "values are"
- Fixed double spaces in 3 lines
- Fixed "Deleted" -> "Deletes" (2 occurrences)
- Fixed "BELOW ON ARE" -> "BELOW ARE" grammar
- Renamed duplicate palette target command names (added "Target" suffix)
- Fixed Blend Palette speed from "0x40=Fast" to "0x18=Fast"
- Fixed "Actives" -> "Activates"
- Fixed "Treshold" -> "Threshold" (3 occurrences)
- Fixed "Ouput" -> "Output"

### ArtiADOPT.txt v1.03
- Fixed "BELOW ON ARE" -> "BELOW ARE" grammar
- Standardized "BV" -> "B.V." in copyright
- Fixed "ArtiTCP" -> "ArtiADOPT" labels with border adjustments

### ArtiNET.txt v2.32
- Fixed effect byte order on 6 lines: "Effect, Clear" -> "Clear, Effect"
- Fixed Multi Channel Pixel Fill field order: Channel moved from last to first position (4 lines)
- Fixed 0x6d Multi Channel Pixel Fill W byte count from "n x 7 bytes" to "n x 5 bytes"
- Fixed Segment Calc RGBW byte count from "8 bytes" to "9 bytes"
- Fixed Blend Palette speed from "0x40=Fast" to "0x18=Fast"
- Swapped 0xba/0xbb descriptions to match naming convention
- Removed `!` from 5 implemented commands (0x92, 0x95, 0x6b, 0x6c, 0x6d)
- Fixed Channel Status return value "0=Off, 1=Off" -> "0=Off, 1=On"
- Fixed "BELOW ON ARE" -> "BELOW ARE" grammar and adjusted box borders
- Fixed "Multiples bytes" -> "Multiple bytes"
- Fixed "(see  List)" double space -> "(see List)"
- Fixed "leds values" -> "led values"
- Fixed 0xd1 Get Power Save Time: corrected data field from "1 Byte" to "No Data"

---

## 18-02-2026

### artiudp.py v2.11
- Fixed duplicate `multi_strip_rgbw` (line 203) to `multi_strip_rgb` - was overwriting the real RGBW function (0x33) with the RGB function (0x34)
- Fixed duplicate `multi_strip_hsv` (line 239) to `multi_strip_w` - was overwriting the real HSV function (0x43) with the W function (0x44)
- Fixed `strip_rgbw` defaulting to `realtime=1` unlike all other functions which default to `realtime=0`
- Fixed comment on `multi_strip_rgb` mentioning "White"
- Fixed comment on `set_advanced_target_palette` saying (0xb3) instead of (0xb6)

### artiled.py
- Fixed `segment_blur()` missing `return reply` - was always returning None
- Fixed `multi_pixel_fill_hsv()` using misleading variable names (red/green/blue instead of hue/sat/brightness)
- Fixed comment on `multi_strip_rgb` saying "White (0x33)" instead of "(0x34)"
- Fixed comment on `set_advanced_target_palette` saying (0xb3) instead of (0xb6)

### artiled.php
- Renamed `default()` to `set_default()` - `default` is a PHP reserved keyword causing fatal parse error
- Fixed `segment_hsv()` missing default value `$commit=1`
- Fixed `get_power_calc_method()` using `send_realtime` instead of `send_with_reply`
- Fixed `get_dither()` using `send_realtime` instead of `send_with_reply`
- Fixed `start_loop_effect()` using `send_with_reply` instead of `send_realtime`
- Fixed `stop_loop_effect()` using `send_with_reply` instead of `send_realtime`
- Added `brightness_fade()` function (command 0xa5) - was missing from PHP library

### artiudp.php
- Renamed `defaults()` to `set_default()` for consistency with artiled.php

### commands.py v2.12
- Fixed `segment_blur` test missing `start,end` arguments
- Fixed `get_regulation_mode()` call to `get_regulation()` (correct Python function name)
- Commented out accidentally active `strip_effect_rgbw` test code

### commands.php v2.21
- Fixed `development->save/restore` to `$local->save/restore` (wrong variable, missing `$`, missing semicolons)
- Fixed `$development->set_default` to `$local->set_default`
- Fixed `multi_strip_hsv` to `multi_strip_rgb` under RGB test section (wrong function call)
- Fixed missing `$` on `channel` in `strip_feed_hsv` call
- Fixed missing `$` on `success` in `segment_rgbw` call
- Fixed `$succss` typo in `multi_pixel_w` call
- Fixed 4x `$succes` typos in multi_channel_pixel calls
- Fixed missing `$channel` argument in `segment_effect_rgbw` Strobe Vari call
- Fixed `$power_save_time` / `$power_save_state` variable name mismatch
- Fixed `get_regulation()` to `get_regulation_mode()` (correct PHP function name)
- Fixed `$succes` typos in `multi_strip_hsv` and `multi_strip_w` calls

### commands_udp.php
- Updated `default_color()` call to `set_default()`

### Cross-Language Consistency Fixes

### artiled.py v2.12
- Renamed `default()` to `set_default()` for cross-language consistency with PHP

### artiudp.py v2.12
- Renamed `default()` to `set_default()` for cross-language consistency with PHP

### artiled.php v2.22
- Renamed `get_regulation_mode()` to `get_regulation()` for cross-language consistency with Python

### artiudp.php v2.12
- Fixed `strip_rgbw` defaulting to `$realtime=1` unlike all other functions which default to `$realtime=0`

### commands.py v2.13
- Renamed `local.default()` to `local.set_default()`
- Fixed `strip_palette` comment missing `alternate` parameter
- Fixed `Multi Channel Strip Part Palette` comment describing array as `[R,G,B,W]` instead of palette parameters
- Fixed `Multi Segment Part Palette` comment describing array as `[R,G,B,W]` instead of palette parameters
- Fixed 3x Multi Channel Segment comments missing `channel` in array description and wrong title
- Fixed `strip_blur` call missing `commit` argument
- Added missing `segment_w` test example

### commands.php v2.22
- Renamed `get_regulation_mode()` to `get_regulation()` (2 occurrences)
- Fixed `strip_feed_hsv` comment missing `$step` parameter
- Removed orphaned `multi_segment_rgbw` call from Multi Strip section

### commands_udp.py v1.01
- Renamed `artiudp.default()` to `artiudp.set_default()`

### Code Comment Fixes

### artiled.py v2.13
- Fixed Multi Channel Pixel Fill W comment saying "Hue, Saturation, Value" instead of "Channel, Pixel, Temperature, Intensity"
- Fixed Multi Channel Pixel Fill RGBW/RGB/HSV comments missing "Pixel" parameter
- Fixed Multi Pixel Fill RGBW/RGB/HSV/W comments missing "Pixel" parameter
- Fixed "Bightness" typo -> "Brightness" in Strip HSV comment
- Fixed "Pallette" typo -> "Palette"
- Fixed "Postion" typo -> "Position" (2 occurrences)
- Fixed "Succesful"/"succesful" typo -> "Successful" throughout

### artiled.php v2.23
- Fixed `multi_channel_segment_palette` comment saying (0xba) instead of (0xbb)
- Fixed `multi_pixel_rgb` comment incorrectly including "White"
- Fixed Multi Channel Pixel Fill RGB comment missing "Channel" and "Pixel"
- Fixed Multi Channel Pixel Fill W comment saying "Hue, Saturation, Value" instead of "Channel, Pixel, Temperature, Intensity"
- Fixed Multi Channel Pixel Fill RGBW/HSV comments missing "Pixel"
- Fixed Multi Pixel Fill RGBW/RGB/HSV comments missing "Pixel"
- Fixed Multi Pixel Fill W comment saying "Hue, Saturation, Value" instead of "Pixel, Temperature, Intensity"
- Fixed "Pyhton" typo -> "Python"
- Fixed "csaved" typo -> "saved"
- Removed leftover Python syntax comment in `get_channels()`
- Fixed "Pallette" typo -> "Palette"
- Fixed "Postion" typo -> "Position" (2 occurrences)
- Fixed "Bightness" typo -> "Brightness"
- Fixed "Succesful"/"succesful" typo -> "Successful" throughout

### artiudp.py v2.13
- Fixed "Bightness" typo -> "Brightness"
- Fixed "Pallette" typo -> "Palette"
- Fixed "Postion" typo -> "Position" (2 occurrences)
- Fixed "BlUE" capitalization -> "BLUE" (12 occurrences)
- Fixed "Succesful"/"succesful"/"successsful" typos -> "Successful" throughout
- Fixed `pixel_string_hsv` using decimal 126 instead of 0x7e for stop byte

### artiudp.php v2.13
- Fixed "Pallette" typo -> "Palette"

### commands.py v2.14
- Fixed "Pallette" typo -> "Palette"
- Fixed "Postion" typo -> "Position" (2 occurrences)
- Fixed "succesful" typo -> "successful" throughout

### commands.php v2.23
- Fixed "Pallette" typo -> "Palette"
- Fixed "Postion" typo -> "Position" (2 occurrences)
- Fixed "succesful" typo -> "successful" throughout

### commands_udp.py v1.02
- Fixed "Pallette" typo -> "Palette"
- Fixed "Postion" typo -> "Position" (2 occurrences)
