Skip to content

Commit b39a0c5

Browse files
committed
updates for recent changes
1 parent 5d08325 commit b39a0c5

File tree

1 file changed

+23
-4
lines changed

1 file changed

+23
-4
lines changed

docs/new_features.rst

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ in the latest documentation.
2121

2222
Planned new features post 1.1.0 include:
2323

24-
- Consider implementing function decorators (#43)
2524
- Consider supporting the built-in functions that do I/O, such as ``open``, ``read`` and ``write``, which
2625
are not currently supported to avoid I/O in the main event loop, and also to avoid security issues if people
2726
share pyscripts. The ``print`` function only logs a message, rather than implements the real ``print`` features,
@@ -33,19 +32,32 @@ The new features since 1.1.0 in master include:
3332
- Reload is automatically done whenever a script file, ``requirements.txt`` or ``yaml`` file below the
3433
``pyscript`` folder is modified, created, renamed or deleted, or a directory is renamed, created or
3534
deleted (see #74).
36-
- New functions ``task.create``, ``task.cancel``, ``task.wait``, ``task.add_done_callback``,
37-
``task.remove_done_callback`` allow new background (async) tasks to be created, canceled, waited on,
38-
and completion callbacks to be added or deleted (see #112).
35+
- Function decorators are now supported. However, the existing trigger decorators are still hardcoded
36+
(ie, not available as function calls), and decorators on classes are not yet supported. (See #43.)
37+
- New functions ``task.create``, ``task.current_task``, ``task.cancel``, ``task.name2id``, ``task.wait``,
38+
``task.add_done_callback``, ``task.remove_done_callback`` allow new background (async) tasks to be
39+
created, canceled, waited on, and completion callbacks to be added or deleted (see #112).
3940
- New function decorator ``@pyscript.compile`` compiles a native Python function inside pyscript, which
4041
is helpful if you need a regular function (all pyscript functions are coroutines) for callbacks or
4142
other uses like ``map()``, or if you have code you want to run at compiled speed (see #71). The
4243
function body can't contain any pyscript-specific features, and closure of variables for an inner
4344
function that uses ``@pyscript.compile`` won't work either, since in pyscript local variables with
4445
scope binding are objects, not their native types. Note also that this is an experimental feature
4546
and the decorator name or other features might change prior to release; feedback welcome.
47+
- A new variable ``pyscript.app_config`` is available in the global address space of an app's main
48+
file (ie, ``apps/YOUR_APP.py`` or ``apps/YOUR_APP/__init__.py``) and is set to the YAML configuration
49+
for your app (ie, ``pyscript.config["apps"][YOUR_APP]``). The latter is still available, but is
50+
deprecated and the ``apps`` entry in ``pyscript.config`` will be removed in a future release to
51+
prevent wayward applications from seeing configuration settings for other apps.
4652

4753
Breaking changes since 1.1.0 include:
4854

55+
None. However, the use of ``pyscript.config["apps"][YOUR_APP]`` to get application configuration
56+
is still available but now deprecated. The ``apps`` entry in ``pyscript.config`` will be removed in
57+
a future release. This is to prevent wayward applications from seeing configuration settings for other
58+
apps. The new ``pyscript.app_config`` variable should be used instead - it is set to
59+
``pyscript.config["apps"][YOUR_APP]`` for each app.
60+
4961
Bug fixes since 1.1.0 include:
5062

5163
- Fixed shutdown trigger for case where it calls ``task.unique()`` (#117).
@@ -55,3 +67,10 @@ Bug fixes since 1.1.0 include:
5567
- The ``scripts`` subdirectory is now recursively traversed for ``requirements.txt`` files.
5668
- Inner functions and classes (defined inside a function) are added to global symbol table
5769
if declared as global.
70+
- Calls to ``open()`` now set ``encoding=utf-8`` so Windows platforms use the correct encoding
71+
(see #145).
72+
- Pyscript user-defined functions (which are all async) can now be called from native python async
73+
code (see #137).
74+
- On Windows, python is missing ``locale.nl_langinfo``, which caused startup to fail when the
75+
locale-specific days of week were extracted. Now the days of week in time trigger expressions
76+
are available on Windows, but only in English (see #145).

0 commit comments

Comments
 (0)