Leo 6.7.3 coming soon

64 views
Skip to first unread message

Edward K. Ream

unread,
Apr 8, 2023, 1:13:36 PM4/8/23
to leo-editor
I shall release Leo 6.7.3 as soon as possible after we test PR #3264. I urge Félix to release a new version of leoInteg that will require 6.7.3.

I am horrified that nobody has noticed the security holes in path expressions and even more horrified that vs-code seems oblivious.

The security hole is intolerable on a platform like vs-code with millions of users.

Those who path expressions should do a global search/replace (on headlines). I apologize for the inconvenience.

Edward

Edward K. Ream

unread,
Apr 8, 2023, 6:12:33 PM4/8/23
to leo-editor
On Saturday, April 8, 2023 at 12:13:36 PM UTC-5 Edward K. Ream wrote:

> I shall release Leo 6.7.3 as soon as possible after we test PR #3264.

Aha (Thanks, Thomas): Python's os.path module contains all the tools Leonistas will ever need. Leo can easily apply all the os.path conventions to all paths of @<file> nodes.

os.path can expand os.environ constants, so Leo can easily replace $name or ${name} by the value of environment variable name.

No need to invent Leo-only conventions! No need for path expressions! Bye-bye {{ and }}.

Leo's documentation will give examples of using os.path. Like: @file $PROJECT_A_BASE/x.py.

> Those who use path expressions should do a global search/replace (on headlines).

Still true, but the revised @<file> nodes will be safe, standard, and likely simpler.

Edward

Edward K. Ream

unread,
Apr 10, 2023, 8:04:23 AM4/10/23
to leo-editor
On Saturday, April 8, 2023 at 12:13:36 PM UTC-5 Edward K. Ream wrote:
I shall release Leo 6.7.3 as soon as possible after we test PR #3264.

Maybe still true, but we must all test 6.7.3 for at least two weeks after all path-related PRs have been merged into devel.

Many thanks to Thomas for his excellent testing. He discovered that PR #3264 broke @path!

The fix appears to be straightforward, but it points out the folly of rushing to release major changes.

Edward

Thomas Passin

unread,
Apr 10, 2023, 8:30:40 AM4/10/23
to leo-editor
On Monday, April 10, 2023 at 8:04:23 AM UTC-4 Edward K. Ream wrote:
The fix appears to be straightforward, but it points out the folly of rushing to release major changes.

+10! 

David Szent-Györgyi

unread,
Apr 16, 2023, 8:57:52 AM4/16/23
to leo-editor
On Monday, April 10, 2023 at 8:04:23 AM UTC-4 Edward K. Ream wrote:
The fix appears to be straightforward, but it points out the folly of rushing to release major changes.

If it is difficult for you, who know know Leo's code base so well,  to keep in mind the complex interactions of that code base with the wide range of inputs generated by Leo's users, would the capabilities of Hypothesis be of help to you? Would they be of help to others who lack understanding of those interactions? 

In case it is useful: some time ago, I posted about property-based testing, Hypothesis, and Pydantic. I cannot speak from experience as to effectiveness, the degree of clutter it would add to the code base, or the effort required to retro-fit Leo's code base, documentation, and sample outlines, but its benefits seem really attractive at first reading. 

Edward K. Ream

unread,
Apr 16, 2023, 1:24:03 PM4/16/23
to leo-e...@googlegroups.com
On Sun, Apr 16, 2023 at 7:57 AM David Szent-Györgyi <das...@gmail.com> wrote:

> If it is difficult for you, who know Leo's code base so well, to keep in mind the complex interactions of that code base with the wide range of inputs generated by Leo's users, would the capabilities of Hypothesis be of help to you?

There are complexities in Leo's code, but not likely those that Hypothesis or Pydantic could help with. Startup is an inherently complex process. Everything would like to execute last after everything else has been initialized:-)

Imo, there are few other "complex interactions" in Leo's code. Leo's classes should work independently of other classes, and (mostly) independently of calling sequences.

mypy has become an indispensable tool. It verifies that objects actually have the types I think they have.

Leo has 100% coverage of most of its core code. Full coverage doesn't guarantee correctness, but it's good enough.

Edward

Edward K. Ream

unread,
Apr 17, 2023, 6:36:31 AM4/17/23
to leo-editor
On Sunday, April 16, 2023 at 12:24:03 PM UTC-5 Edward K. Ream wrote:

Leo has 100% coverage of most of its core code. Full coverage doesn't guarantee correctness, but it's good enough.

Otoh, pydantic and hypothesis are worth investigating.  See #3280. This issue has no definite milestone. I would welcome help.

Edward
Reply all
Reply to author
Forward
0 new messages