Skip to content

Conversation

@off-by-some
Copy link
Owner

Changelog

[0.1.0] - 2025-10-20

Breaking Changes

  • Removed @watch decorator: Use the & operator or @reactive(obs1 & obs2) for equivalent conditional observation functionality
  • Removed computed() function: Replace with observable.then() method, which serves as an alias for the >> operator
  • Changed merge operator: The | operator has been replaced with + for combining observables

Added

  • Natural language method aliases for improved code readability:
    • observable.requiring() - alias for & operator (conditional observation)
    • observable.negate() - alias for ~ operator (negation)
    • observable.then() - alias for >> operator (transformation/mapping)
    • observable.either() - planned alias for merge operations

Changed

  • Enhanced & operator semantics: Now properly supports associativity and commutativity properties for more predictable conditional composition
  • MergedObservable architecture: Now implemented as a computed observable for consistency
  • Documentation: Comprehensive updates reflecting all API changes and improved HTML styling

Fixed

  • Conditional pullback bug: Fixed issue where conditional pullbacks (& operator) failed when used with observables due to incorrect type unwrapping
  • Test coverage: Excluded test files from coverage reports for accurate metrics

Internal

  • Testing suite refactor: Complete overhaul of test organization with new best practices documentation
  • Optimization framework: Initial refactoring of automatic optimization code for future enhancements

Migration Guide:

  • Replace @watch(obs1, obs2) with @reactive(obs1 & obs2)
  • Replace computed(lambda: ...) with obs >> (lambda x: ...)
  • Replace obs1 | obs2 with obs1 + obs2

@codecov-commenter
Copy link

Welcome to Codecov 🎉

Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests.

Thanks for integrating Codecov - We've got you covered ☂️

@off-by-some off-by-some merged commit 461ec3b into main Oct 21, 2025
1 of 6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants