Skip to content

Releases: rayattack/dragon

Dragon 0.0.3

Choose a tag to compare

@github-actions github-actions released this 25 Jul 20:32
01c73f3
  1. Cross-module name collisions (the headline fix). Two modules could each define a function, class, global, or generic with the same name, and the compiler silently fused them, so one module quietly ran the other module's code. Now every definition keeps its module's identity. Pinned by the new collide_* test family covering globals, module variables, classes, generics, generic methods, and decode[T].
  2. Template bangs falsely rejected on repeat use. Using the same !{...} injection more than once in a template raised an error even though the template was perfectly valid. Repeated bangs now compile and render, without redoing work on each cycle.
  3. Unclosed template bangs were silently swallowed. A !{... left unclosed produced no error and no output instead of telling you the template was broken. It is now a loud compile error.
  4. with statements could call the wrong class's enter/exit. The dunders were looked up by class name, so two classes sharing a name across modules could swap context managers. They are now resolved by class identity.
  5. isinstance lied on Optional values. For Optionals using the niche-pointer representation, isinstance answered from the static type instead of checking the actual pointer, so it could report the wrong answer at runtime. It now tests the pointer.
  6. raise grabbed the wrong constructor argument as the error message. raise MyError(x) adopted the first argument as the message even when x was not a string. It now only does that when the argument actually is a str.
  7. Reduce pedantry and condense non code comments in preparation for refactor of codebase. This is the first of a multi-file process to reduce file size
  8. Added ability for dragon to call into python, rust, golang using simple extern "python" etc syntax

Dragon 0.0.2

Choose a tag to compare

@github-actions github-actions released this 23 Jul 20:45
8285348

MacOS install fix: binaries SHOULD now be self-contained (static zstd, no z3, no brew needed) and installer should also survive Apple xattrs issue

Dragon 0.0.1

Choose a tag to compare

@github-actions github-actions released this 20 Jul 14:20
v0.0.1

chore: update and include psf disclaimer