Skip to content

Latest commit

 

History

History
1177 lines (712 loc) · 39.9 KB

CHANGELOG.md

File metadata and controls

1177 lines (712 loc) · 39.9 KB

CHANGELOG

v0.17.1 (2024-12-21)

Bug Fixes

  • build: Fix docker build (8afb6f6)

v0.17.0 (2024-12-21)

Bug Fixes

  • ci: Fix semantic release config (98db29c)

  • docker: Fix restart() failing to start tgpy in docker (5fcd14c)

Build System

  • nix: Make build use rev from nix (f7dfdde)

  • nix: Update flake.lock (aaa7591)

  • Update nixpkgs in flake.lock - Fix nix evaluation - Update poetry dependencies

Chores

Features

  • Switch to PEP621 compliant pyproject.toml and pyproject.nix (7c20075)

  • Rewrite pyproject.toml to be PEP621 compliant - Update flake.nix to use pyproject.nix - Package poetry from master, use it in actions

v0.16.0 (2024-09-26)

Bug Fixes

  • Ctx.is_manual_output is fixed (2e591f5)

  • Parse_tgpy_message no longer returns positive result for TGPy error> messages (818e47d)

  • Sending cancel in comments and topics now works correctly. Fix cancel throwing error when the message is not a TGPy message (1d3ba1a)

Chores

  • release: V0.16.0 [skip ci] (2a99f05)

Code Style

Documentation

  • Describe loading of API secrets from env in guide (eb2a023)

Features

  • Telegram API ID and hash now can be loaded from environment (9c22347)

v0.15.1 (2024-05-06)

Bug Fixes

  • Config is no longer erased when it fails to save. Also, the config is saved synchronously now (df539a3)

  • Restart now works correctly when tgpy is not in PYTHONPATH (e.g. in a container) (16d3830)

  • The correct data directory is now used when TGPY_DATA is set to a relative path and restart is called (f483d6c)

Chores

  • release: V0.15.1 [skip ci] (55b555f)

v0.15.0 (2024-04-28)

Chores

  • release: V0.15.0 [skip ci] (36f9a64)

Continuous Integration

  • Release hotfix (8572721)

  • guide: Add guide dependencies to pyproject.toml, build guide using nix (8686aa0)

Documentation

  • Reset page scale back to normal (20ec126)

Bigger scale was rather an experimental change and I'm tired of how it looks :)

Features

  • Cd to DATA_DIR/workdir on tgpy start (f51dc84)

  • Real time progress feedback (8e85d7a)

When stdout.flush() or stderr.flush() is called, the current output will be displayed in the message that is being evaluated. The message with be updated at most once per 3 seconds.

  • Stop running message execution on cancel, add stop command to only stop execution without blacklisting the message (547c1c6)

  • Truncate exceptions (#39, 739fbbc)

  • Telethon: Layer 179 (010f4ef)

Refactoring

  • Reactions_fix.update_hash is now called in edit_message (7e9d683)

v0.14.1 (2024-03-09)

Bug Fixes

  • Use cryptg-anyos again, because there are no official cp312-aarch64 binaries (50ca341)

Chores

  • release: V0.14.1 [skip ci] (81aeb16)

v0.14.0 (2024-03-09)

Bug Fixes

  • Tgpy error when editing MessageService, e.g. when deleting all messages in pm or beating your high score in games (5d6fb5e)

Build System

  • Build docker image on python 3.12 (eec91a9)

Chores

  • release: V0.14.0 [skip ci] (0b9d488)

Features

  • docker: Run specified commands on container creation. This feature can be used for example to persist installed packages between updates (456f503)

v0.13.2 (2023-12-10)

Bug Fixes

  • Update telethon (fix draft constructor), update all dependencies (a2b6064)

Chores

  • release: V0.13.2 [skip ci] (212069c)

v0.13.1 (2023-12-06)

Bug Fixes

  • Use official cryptg (prebuilt wheels for Python 3.12), bump telethon (fixes usage of Draft), set minimum python version to 3.10 (9e49739)

Chores

  • release: V0.13.1 [skip ci] (ff2f8f0)

v0.13.0 (2023-12-05)

Chores

  • release: V0.13.0 [skip ci] (2613a75)

Features

v0.12.1 (2023-10-28)

Bug Fixes

  • Telethon: New layer fix (8145bd3)

Chores

  • release: V0.12.1 [skip ci] (000dda1)

v0.12.0 (2023-10-28)

Chores

  • release: V0.12.0 [skip ci] (75cbfa9)

Features

  • Telethon: Update to layer 166 (a18dc0d)

v0.11.0 (2023-09-29)

Chores

  • release: V0.11.0 [skip ci] (0fcbbe6)

Features

  • Telethon: Fixes for the new layer and many more fixes from upstream (800fcd5)

v0.10.0 (2023-09-25)

Chores

  • release: V0.10.0 [skip ci] (b44a3cc)

Documentation

  • Fix transformer example (8007b25)

Fix shell commands example in documentation (#35)


Co-authored-by: Artyom Ivanov [email protected]

  • Recipes and new homepage (28e8eba)

  • Revert narrowing container (bb0bff9)

Features

v0.9.7 (2023-07-23)

Bug Fixes

  • Consistent colors in setup across all terminals (faa625b)

Chores

  • release: V0.9.7 [skip ci] (4bb459a)

v0.9.6 (2023-06-01)

Bug Fixes

Chores

  • release: V0.9.6 [skip ci] (77bed85)

v0.9.5 (2023-06-01)

Bug Fixes

  • Try to fix session termination issue by setting device_model and system_version to real values from the system (44e1c3d)

Chores

  • release: V0.9.5 [skip ci] (0ccf228)

v0.9.4 (2023-05-05)

Bug Fixes

  • Initial setup can now be interrupted with ctrl+c (e6253c7)

  • Initial setup prompts now work properly (8713dff)

Chores

  • release: V0.9.4 [skip ci] (1794a21)

Code Style

Continuous Integration

  • Fix manual release workflow trigger (f44d8a3)

v0.9.3 (2023-02-25)

Bug Fixes

  • Deleting message no longer produces an error (ef317d9)

Chores

  • release: V0.9.3 [skip ci] (ac07b46)

v0.9.2 (2023-02-25)

Bug Fixes

Chores

  • release: V0.9.2 [skip ci] (c1ac624)

v0.9.1 (2023-02-25)

Bug Fixes

  • Update from older versions (df11e8b)

Chores

v0.9.0 (2023-02-25)

Build System

  • Use python-slim image instead of python-alpine (a34bd20)

Chores

  • release: V0.9.0 [skip ci] (287f2e1)

Documentation

Features

  • Change in-message url to tgpy.tmat.me (8737ca9)

  • Move tokenize_string and untokenize_to_string to tgpy.api (7d8c3b2)

v0.8.0 (2023-02-15)

Bug Fixes

  • Don't stop on unhandled errors. They may happen when, for example, a module uses asyncio.create_task (3584f22)

Chores

  • release: V0.8.0 [skip ci] (c1915aa)

Features

  • Wrap sys.stdout instead of print to capture output + properly use contextvars (7aa2015)

v0.7.0 (2023-02-05)

Bug Fixes

  • Handle entities properly when editing "//" message (6d989dc)

  • Specify parse_mode in error handler to support markdown global parse mode (60cd81b)

  • Use message.raw_text instead of message.text to detect // (a85b1c8)

Chores

  • release: V0.7.0 [skip ci] (53269f8)

Features

  • Update dependencies (layer 152) (234dc86)

  • Update telethon (new markdown parser, html parser fixes) (43dd76f)

v0.6.2 (2023-01-22)

Bug Fixes

  • Fix IndentationError appearing for some non-code messages (599c84f)

  • docker: Add /venv/bin to path (00be149)

Chores

  • release: V0.6.2 [skip ci] (6934c6c)

Documentation

v0.6.1 (2023-01-06)

Bug Fixes

  • Update command saying "Already up to date" while in fact updating correctly (9b25fe6)

Build System

  • Update deps (telethon layer 151 and markup parsing/unparsing fixes) (d06f47e)

  • Update telethon (layer 150) (b1379fc)

Chores

  • Add workflow_dispatch event to main workflow (7812289)

  • Fix version (c783bfa)

  • release: V0.6.1 [skip ci] (e3a3a20)

Code Style

v0.6.0 (2022-11-26)

Bug Fixes

  • Ignore error when running code deletes the message itself (d022450)

  • Keep 'cancel' message when replying to other user (fixes #21) (057231d)

Build System

  • Use cryptg-anyos, which provides prebuilt wheels for musllinux (7d85c71)

Chores

  • release: V0.6.0 [skip ci] (ffbc4bd)

Code Style

Documentation

  • Update readme (a321bbf)

  • add links to badges - change introduction

Features

  • Use MessageEntityPre with language set to 'python' to enable syntax highlighting on supported clients (e.g. WebZ). Closes #24 (5de6ded)

Refactoring

v0.5.1 (2022-08-09)

Bug Fixes

  • Compatibility with python 3.9 (f3c0468)

  • Restart() now edits message properly (60afa44)

Chores

Continuous Integration

  • Build docker image with proper tgpy version (d0f4969)

  • Tag docker images by release versions (f8710c7)

v0.5.0 (2022-08-08)

Bug Fixes

  • Apply autoawait pre_transform after regular code transformers (fde6291)

  • Message markup for utf-16 (closes #10) (20f48bc)

  • Parsing of modules with triple quotes in code (485166d)

  • Setting/removing reaction no longer triggers reevaluation (cf6e64e)

however, when TGPy is restarted you will need to edit old messages twice to reevaluate

  • Use custom telethon version without MessageBox as it's very buggy (9c7738e)

Build System

  • Add guide dist directory to gitignore (40578e2)

  • Add venv to .dockerignore (2f94d3c)

  • Dockerize (f8cb28d)

Chores

  • release: V0.5.0 [skip ci] (0772d59)

Code Style

Continuous Integration

  • Build docker image (9380141)

  • Trigger main workflow on pyproject.toml and poetry.lock changes (30c08ce)

Documentation

Features

  • Allow to specify data directory via environment variable TGPY_DATA (4d769da)

  • Better version detection, ping() builtin improvements (265b83f)

  • Distinguish between dev and release version by using IS_DEV_BUILD constant in tgpy/version.py. It's set to False only during release build process. - Allow version detection in docker container by using COMMIT_HASH constant in tgpy/version.py, which is set during docker build - utils.get_version() tries to get version from (in order): version variable, commit hash from git rev-parse, commit hash from COMMIT_HASH constant - update() builtin now shows friendly message when: running in docker, git is not installed, installation method is unknown (not pypi package, not docker image, not git)

  • Transform x.await into await x (6117421)

  • Use the latest telethon from v1.24 branch, update all dependencies (91894fc)

v0.4.1 (2022-01-10)

Bug Fixes

  • code detection: Ignore messages like "fix: fix" (1b73815)

Chores

  • release: V0.4.1 [skip ci] (4509454)

v0.4.0 (2022-01-10)

Bug Fixes

  • Ctx.msg now always points to message from which code is executed (59acde9)

  • Data directory path on Windows (7d0e283)

  • Print now always writes to message from which code is executed (0e46527)

  • code detection: Ignore messages like "cat (no)" and "fix: fix" (75bb43e)

Chores

  • release: V0.4.0 [skip ci] (4cad8b7)

Code Style

Continuous Integration

  • Add isort (c03578c)

  • Black config in pyproject.toml (81ff388)

  • Deploy guide to Netlify (52eb160)

  • Don't trigger main workflow when guide workflow changes, fix cache key (91c7f9c)

  • guide: Disable commit/pull request comments (a1c1a81)

  • main: Fix cache key (109048e)

  • main: Format with black (357c8ca)

Documentation

  • Installation with pip & other readme changes (b220b94)

  • Readme & guide updates (59a4036)

  • add guide link to readme - 'hooks' are replaced with 'modules' - API page

Features

  • Multiple improvements (6b9cbda)

  • hooks are now modules - new module format (.py file with yaml metadata in docstring) - refactor some code - add API for modifying tgpy behaviour accessible via tgpy variable - modules.add now changes hook if exists, instead of completely overwriting - modules.add now uses tgpy://module/module_name as origin - modules['name'] can now be used instead of Module.load('name') - 'name' in modules can now be used to check if module exists

v0.3.0 (2021-12-26)

Chores

  • release: V0.3.0 [skip ci] (5ff04a8)

Features

  • update: Show when no updates are available (62145ff)

v0.2.3 (2021-12-26)

Bug Fixes

  • update: Try both regular installation and --user installation (50ffbe9)

Chores

  • release: V0.2.3 [skip ci] (81962c1)

v0.2.2 (2021-12-26)

Bug Fixes

  • update: Use --user installation when updating (1902672)

Chores

  • release: V0.2.2 [skip ci] (f1ed375)

Refactoring

  • Remove broken migrate_config function (c8f976c)

v0.2.1 (2021-12-26)

Bug Fixes

  • Store data in system config dir instead of module directory (7d92544)

  • Update from pypi, if installed as package (a80b78f)

Build System

  • Remove obsolete requirements.txt [skip ci] (902e389)

Chores

  • changelog: Remove old generated changelog [skip ci] (e6740e7)

  • release: V0.2.1 [skip ci] (665c073)

Continuous Integration

  • Fixes, [skip release] tag (5bacb86)

  • Remove [skip release] tag, trigger only on changes in tgpy/ or .github/ (27a2b48)

v0.2.0 (2021-12-25)

Bug Fixes

  • 'msg' stands for Message instead of events.NewMessage (428b08b)

  • App.run_code.parse_code: attr.attr.attr was a false positive (5cb7e28)

  • Change return value only if it's not inside other function (553f864)

  • Check for forward, via and out in all handlers (d189c08)

  • Code detection (b668329)

Include ctx, msg, print and client to locals to improve code detection

  • Code like *"constant", *name or *attr.ibute is ignored (739c80e)

  • Convert old config (10e0285)

  • Disable link preview when editing (703ea27)

  • Disable reevaluation of edited messages in broadcast channels (62c3006)

  • Do not stringify TLObjects in iterable eval results (fdec6d4)

  • Don't count -1 as code (eab27f6)

A single expr which is unary operator with constant operand is no longer a code!

  • Edit message after restart (44b5d07)

  • Editting message caused error (b171036)

  • Empty return (cab3635)

  • False positive code detections (closes #4) (c8f25d4)

  • Get rid of for ... in range(len(root.body)) (ceff1de)

  • Make cancel command case-insensitive (b938ea3)

  • Make update sync (73f96a1)

  • Messageemptyerror on '//', closes #13 (a2d8883)

  • Meval.shallow_walk - ignore async function definitions too (5e5f04e)

  • Move session file to data dir (b7db892)

  • No link preview in TGPy error notifications (3af06cd)

  • Remove buggy ctx.orig (f5f31ac)

  • Save formatting when prevent evaluation (1f3b3dd)

  • Show commit info in ping message and after update (26c63d4)

  • Str instead of repr for Context (3c51b72)

  • Tgpy will no longer crash if returned coroutine crashes (a4303f3)

  • Tuples of constants are not evaluated (ecec598)

  • Update (846c98b)

  • Use getpass.getpass to get 2FA password (fixes #7) (#8, 858e721)

  • Using orig var after message edit (7f3108f)

Build System

  • Switch to poetry, reanme package to tgpy, fix readme images (263bbcc)

Chores

  • release: V0.2.0 [skip ci] (09d4c60)

Continuous Integration

Documentation

  • Copied readme to index.md (50e7879)

Features

  • repr of Context, ping() function (a1a1443)

  • App object and config loading (ae9bd17)

Load config before setting Telethon client.

  • Cancel without reply (2c77e6f)

  • Changes of custom hook functions (3ed8822)

  • Ctx variable (80503a8)

  • Context class for ctx variable (with ctx.msg for current msg and ctx.orig for current orig) - run_code.utils file for auxiliary functions and classes

  • Docstrings for app/run_code/parse_code.py (b6d283a)

  • Exception formatting (1417583)

  • Only show evaluating levels related to code - Start lines with 'File "" ...'

  • If message with code is deleted, ignore error on the result editing (7872678)

  • If result is None, show output instead of result (bc8f1ce)

  • Make code detection less strict (c86d842)

  • binary operations with constants (like "1 - 2", but not "1" or "+1") are considered code now - if a variable which is present in locals() appears in the message, it is evaluated

  • Preparing for PyPI publication & single command configuration (2e7e3ca)

  • add rich console - create app_config.py and Config class - add required files for PyPI - rename utils.py

  • Pretty cli setup and logs (f440ea4)

  • Pretty logging (f7d1b60)

  • Run using aiorun (28e95b5)

  • Save hook datetime, run hooks in order of addition (e6d2cea)

  • Show 'tgpy' package version if it's installed (d9fbf77)

  • Show username and hostname in ping() (df7722c)

  • Update command (a87a803)

  • User hooks addition and removal (0abb062)

Refactoring