Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: thecodingmachine/safe
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v3.0.0
Choose a base ref
...
head repository: thecodingmachine/safe
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v3.0.1
Choose a head ref
  • 13 commits
  • 252 files changed
  • 3 contributors

Commits on Feb 11, 2025

  1. Fix typos

    szepeviktor authored and shish committed Feb 11, 2025
    Configuration menu
    Copy the full SHA
    019edb0 View commit details
    Browse the repository at this point in the history

Commits on Feb 17, 2025

  1. Update .gitattributes

    Don't export `.devcontainer`, it's not needed for composer based installation
    mfn authored and shish committed Feb 17, 2025
    Configuration menu
    Copy the full SHA
    bab89f5 View commit details
    Browse the repository at this point in the history
  2. [generator] better error handling

    - reset docs to master before building DTD entities from them
    - use symfony Finder to remove all generated files, instead of glob to remove some of them
    - less spammy log output (unless --verbose is passed)
    - more detailed error messages
    shish committed Feb 17, 2025
    Configuration menu
    Copy the full SHA
    3043e7b View commit details
    Browse the repository at this point in the history
  3. [generator] remove unused function

    I'm planning on refactoring this code, let's get a trivial change out of the way first
    shish committed Feb 17, 2025
    Configuration menu
    Copy the full SHA
    6b5efbb View commit details
    Browse the repository at this point in the history
  4. Make _all_ return types alphabetical

    Currently we're treating `null` and `false` as special cases, adding and removing them at various points in the process; this results in the return type list being `sorted(types-except-null) + null`. I want to remove the special-case magic, which will have the side effect of changing the return type to `sorted(types)`. I'm pulling that out into a separate PR because it makes the future PR easier to understand, and I also think it's valid to do this by itself
    shish committed Feb 17, 2025
    Configuration menu
    Copy the full SHA
    03e6e19 View commit details
    Browse the repository at this point in the history
  5. More thorough nullability detection

    Before:
    - When scanning for unsafe functions, check phpdoc type and phpstan type
    - When writing wrappers, _occasionally_ check if default value is `null` and infer nullability at the last minute
    
    After:
    - When scanning for unsafe functions, check phpdoc type, phpstan type, and default value
    shish committed Feb 17, 2025
    Configuration menu
    Copy the full SHA
    c87a46b View commit details
    Browse the repository at this point in the history
  6. [generator] remove some redundant edge-cases

    Special-cases to handle 7.X-era bugs are no longer needed
    
    Evidence that these cases are redundant: removing them doesn't affect the generated code
    shish committed Feb 17, 2025
    Configuration menu
    Copy the full SHA
    78b5bff View commit details
    Browse the repository at this point in the history
  7. Hide a couple of parameters from stack traces

    When something goes wrong, the stack trace contains ~10,000 lines of spam, often repeated several times over, which makes it hard to find the actual error
    shish committed Feb 17, 2025
    Configuration menu
    Copy the full SHA
    1fb13c3 View commit details
    Browse the repository at this point in the history
  8. [generator] defer nullable/falsable handling

    Rather than "always strip false/null from return types, and then add them back when the function is non-nullsy / non-falsy", we can reduce complexity by "leave return types alone, strip them only when needed"
    
    This results in no chanes to generated files, but makes future development simpler
    shish committed Feb 17, 2025
    Configuration menu
    Copy the full SHA
    288a30a View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    5f1338b View commit details
    Browse the repository at this point in the history
  10. Generate full functions even for pass-through wrappers, fixes #621

    The minimalist pass-through stubs we used originally would sometimes behave differently and not actually pass things through as intended D:
    shish committed Feb 17, 2025
    Configuration menu
    Copy the full SHA
    5c2ce65 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    5bdf054 View commit details
    Browse the repository at this point in the history

Commits on Feb 18, 2025

  1. Configuration menu
    Copy the full SHA
    37123c3 View commit details
    Browse the repository at this point in the history
Loading