arena-py notable changes. Started 2021-02-19 (version 0.1.12).
1.0.2 (2024-11-12)
- set correct self-ignore topic (00c38d5)
1.0.1 (2024-11-08)
- submodel-parent: add component submodel-parent (7c9ad7c)
1.0.0 (2024-11-07)
- Refactored topic structure for more granular flow and access (#191)
- auth: add/refactor request for user_id from account in token repsonse (2b23174)
- color: ensure color=str assignment publishes correctly (e335b4f)
- color: fixed color.hex() reference uninitialized (5ab2148)
- mqtt: add deprecation warnings for data attribute get/set (b123d1b)
- mqtt: add logging for SUBACK errors (47c04ae)
- mqtt: require userClient in topic for all scene messages (#201) (9f8765d)
- position: remove duplicate getter (04db8b0)
- rotation, scale: raise out of range error when needed (5ab005c)
- swapped creator and builder arms (5a9e2d3)
- add deprecated docstring attributes and highlight (1f627c8)
0.11.2 (2024-09-25)
- auth: handle cases of missing google refresh token (7c28970)
0.11.1 (2024-09-23)
- auth: fix failed auth when switching browser vs headless (2d22acb)
- docstring: add falsy default values to docstring params (9d831d8)
0.11.0 (2024-09-20)
- auth: fixed signout not removing gauth token (7d15b3f)
0.10.3 (2024-09-03)
- typo len check of rot input (e0af8c5)
0.10.2 (2024-08-13)
- bump requests dependancy (e3b8a04)
0.10.1 (2024-08-09)
- add exit() when disconnected (28944e2)
- auth: log additional error messages during http errors (bce90b7)
- auth: remove automatic browser open for 4xx status (937a867)
- better error handling on malformed tokens (0dd7a62)
- obj-model: sync with latest schema, add ObjModel (646baea)
- print error msgs on exit (2200159)
- replace program object from persist (ca9b71a)
0.10.0 (2024-05-06)
- urdf: add urdf model support (04ebf90)
- update schema docstrings to latest version (b792bf2)
0.9.6 (2024-04-08)
- bump version from removing pypi tests (1aa1c88)
0.9.5 (2024-04-08)
- bump version (54f8aaf)
0.9.4 (2024-04-03)
- allow arbirary args for Scene(cli_args=) (ecd2fdd)
- auth: display entire json in arena-py-permissions (65b534a)
- property accesses (75b3fc6)
- update objects/attributes to latest schema (325bc49)
0.9.3 (2024-02-23)
0.9.2 (2024-02-21)
- program: prevent crash during telemetry (ea53f19)
0.9.1 (2024-02-21)
- failed animation object access as obj/dict (1c78cd1)
- telemetry check for type failing in delete (31916f3)
0.9.0 (2024-02-12)
- add basic telemetry to scene (5702fd0)
- add basic telemetry to scene (f50a399)
- Add program object and publish program stats (212383a)
- central environment vars file and documentation (7c95f47)
- central environment vars file and documentation (abc1ab7)
- objects, attributes: added automated support for full schema with docstrings (#171) (359181f)
- objects: adding examples for new schema objects (e2081b3)
- send queue length; minor fixes (186a7e8)
- better/more tracing and exit handling for telemetry (07c8e2b)
- better/more tracing and exit handling for telemetry (c4eba98)
- bump test (4e27806)
- merging with current head (f044a15)
- merging with current head (2) (4fa95b5)
- minor fixes; add documentation (3d4146c)
- minor fixes; add documentation (4e208ac)
- missing files for small refactor: env_vars to env (4cf9f7e)
- missing files for small refactor: env_vars to env (aa891ad)
- move command interpreter setup to scene (9b285d1)
- move command interpreter setup to scene (9bc081d)
- pin opentelemetry version (48d1f00)
- program object id (145d55c)
- remove exit hooks (b8d118b)
- remove exit hooks (9ba28f5)
- show public attributes only (056ff57)
- show public attributes only (b162145)
- small refactor: env_vars to env and ProgramStats to ProgramRunInfo (f52c157)
- small refactor: env_vars to env and ProgramStats to ProgramRunInfo (47a98a9)
- some docs and scene check (1a12c51)
- some docs and scene check (a5ebe5d)
- text: don't pre-populate 'text', users may use correct 'value' (323d2c8)
- use env vars from constants throughout (01e5404)
- use env vars from constants throughout (adadfd1)
- when no tracing is defined (52abf13)
0.8.0 (2023-11-01)
- BREAKING CHANGE: All
arena-user
attributes (descriptors of users in the scene) now are published under thearena-user
key within thedata
block, rather than the top-level or directly underdata
of the of the MQTT message.
- add dur for anims for delayed_prop task (fdd09f1)
- camera: publish/read all camera data in data block (04efd0d)
- check user in rigs dict before delete (ea57f0f)
- particles: add support for spe-particles componenet (005a19b)
- publish reset rig for new users (24f1696)
0.7.0 (2023-09-05)
- add support for controllers (3ee739c)
- auth: add CLI warning for publishing without permmission. Closes #160. (d639609)
- auth: add test hints for missing browsers (7187cca)
- auth: allow auth flow to print url regardless (a28d38e)
- auth: improved error messaging when browser undetected (0f7a4dc)
- auth: remove deprecated console-only auth flow (1f4d88f)
- auth: resolve errors when saved mqtt token is empty (d38587f)
0.6.0 (2023-08-31)
- add initial UI elements (547fe8d)
- better handle skipped keys in json preprocs (886e20c)
- calibrator x-axis arrow rotation (902a64d)
- Followup Animations with end state update (8009a6d)
- pop delayed_prop_tasks before json_encode (a4eedcb)
0.5.7 (2023-08-03)
- put back default start and end in Line (5b24a40)
0.5.6 (2023-08-03)
0.5.5 (2023-08-03)
- color accepts floats, but casts to int; Line start and end implicitly converts to Position (3684684)
0.5.4 (2023-08-01)
- fix github publish action (74d43ad)
0.5.3 (2023-08-01)
- fix github publish action (3927c99)
0.5.2 (2023-08-01)
- fix github publish action (a8b894a)
0.5.1 (2023-08-01)
- add default web_host = arenaxr.org (aa7ab26)
- stop pushing to test.pypi.org (670c33b)
- updated to avoid pypi filename collisions (bb05487)
0.5.0 (2023-08-01)
- datetime serialization (30d0f45)
- get calls; add msg rates (e592a62)
- move interpreter to a thread (1066565)
- paho-mqtt update to 1.5.1 still works end_callback (ff4ec5e)
- restore end_callback mqtt with paho 1.5.0 (a32c086)
0.4.5 (2023-07-05)
- Reconnect MQTT client after disconnect (7e2069a)
- release 0.4.5 (99b86d7)
0.4.2 (2023-06-06)
-
rotation: stopped using scipy for euler<->quaternion conversions
0.4.1 (2023-05-26)
0.4.0 (2023-05-25)
- add entity primitive (9531be8)
- cli: add debug cmd to cli args (0206452)
- remove all rewriting of hostname (eabb32d)
0.3.0 (2023-04-12)
- added scene.delete_attributes() to null attribute(s) (50f8ae6)
- added VideoControl attribute binding (9f3bb2b)
- future-proof more attributes, allowing arbitrary parameters (c61e551)
0.2.1 (2023-03-15)
- mqtt: use proper UTC timestamp for Zulu (057e535)
- remove deleted users from scene.users dict (d962acd)
- rotation: fixed euler 2 quat conversion (41cdc50)
- update a-frame links to 1.4.0 docs (b3ee05e)
0.2.0 (2023-02-02)
- mqtt: always publish quaternions on wire format to avoid persist euler->quat merges (4a582d4)
- Fixed some small bugs.
- Account for
arenaxr.org
as hostname for legacy applications. - Fixed some small bugs.
- Scale param to
cli_args
. - Support for
Device
andScene
in the same script.
- Refactored auth with data encapsulation.
- Fixed several small bugs.
- Device sensor connections:
device=Device(host="arena.org", device="robot1")
. - More error handling for network configuration issues.
- Improved auth flow when CWD is Home.
- Check for expired local MQTT token.
- CLI option for all apps:
Scene(cli-args=True)
.
- Revert using orjson library.
- Use orjson library for faster JSON parsing.
- Attribute
jitsi-video
. - MQTT CLI pub/sub scripts:
arena-py-pub
andarena-py-sub
.
- Remove local objects when receiving
delete
message. - MQTT CLI auto-generates topic from
object_id
when undefined.
- Auth scripts:
arena-py-signout
andarena-py-permissions
. - Ability to request video token.
- Improved auto-detect signout when server changes.
- Google OAuth localhost flow restored.
- Google OAuth localhost flow removed, replaced with console flow.
- MQTT broker connection uses encrypted TLS.
- Remove default color from
Object
s.
Object
s start with a default color of(128,128,128)
.- Add first draft of arena-py CLI (similar to mosquitto_pub/sub)!
Usage:
python3 -m arena -s <scene> -a <pub/sub> ...
Typepython3 -m arena -h
for options.
- Do not accept None for host, realm, scene in
Scene
constructor.
- Programs will now disconnect and exit on an exception.
- Added try except block on message parsing.
WindowsSelectorEventLoopPolicy
added for Windows Python >=3.8
add_msg_callback
auto subscribes to topic.- Possibly fix
Color
bug with invalid colors.
- Remove top-level landmark type.
- Replace with new landmark attribute.
- Auto-detect headless auth from SSH terminal.
- Remove localhost tests from debug flag.
- Color bug fix (blue and green were flipped).
- Reworked env/local token storage.
- Better timing on
scene.run_forever
. - Move MQTT token check to work better on ARTS.
- Fix additional numpy and scipy version issues.
- Downgrade numpy and scipy versions.
- Bug fix with
ThickLine
.
- Add various example programs for every attribute and object.
- Add
TextInput
attribute and example.
- Queue all incoming MQTT messages for processing and remove
network_loop_interval
.
- Add
end_program_callback
, which is called whenever client disconnects.
- Remove
Color
inMaterial
deprecation. - Fix undeclared variable
password
bug.
- Async MQTT loop cancellation bug fixes.
- Event loop bug fixes.
on_msg_callback
receives all messages, including duplicates from other callbacks.- Object children now have the class variable
object_type
which is the name of the object_type for the class.
- Library calls
get_persisted_objs
on connect to cache persisted objects. - Object instances now all have
clickable
property which checks if the Object is clickable. - Improved event loop using more advanced asyncio for MQTT client loop and message processing.
- Use
scene.get_persisted_objs()
to get all persisted objects in a scene.
- Improved message parsing and Object creation whenever a message arrives.
- Callbacks and event handlers now take three arguments (
scene
,obj
/evt
,msg
).scene
is a reference to the scene.obj
/evt
is anObject
orEvent
(depending on the callback/handler).msg
is the raw JSON message if needed by user.
- Event handler bug fix.
- Bug fix with turning dictionaries into Material as.
- Bug fix with get_persisted_obj. Ensures that
persist
is True.
- Allow user defined username and passwords with env vars
ARENA_USERNAME
,ARENA_PASSWORD
. Need to specify both to bypass auth.
- scene callbacks (
on_msg
,new_obj
,delete_obj
, etc.) have anObject
instance as an argument rather than dict. get_persisted_obj
returns anObject
.
- Support for scene landmarks with the
scene.add_landmark
method.
- Bug fix with
scene.new_obj_callback
which didn't work well with code that updatedscene.users
.
- Support for user callbacks (
user_join_callback
,user_left_callback
). - Use these callbacks to handle when a user joins and leaves, respectively.
scene.users
will give now you a dictionary of users, mappingobject_id
's toCamera
objects.- Add Changelog.md to keep track of changes.
Arena
class renamed toScene
, but usingArena
is still allowed. Updated examples to reflect this.- Tiny bug fix with
update_objects
.