Documentation
- Remove invalid escape sequences ([2531](https://github.com/PrincetonUniversity/PsyNeuLink/issues/2531))
MDF
- OutputPort: include shape and type
- Improve handling of more complex Functions
- Set up stateful parameter index handling
- Implement DriftDiffusionIntegrator
Parameters
- Allow _validate_ methods to reference other parameters ([2512](https://github.com/PrincetonUniversity/PsyNeuLink/issues/2512))
Testing
- Use the correct execution mode in test_transfer_mech_integration_rate_0_8 ([2471](https://github.com/PrincetonUniversity/PsyNeuLink/issues/2471))
- Tests, treewide: Add missing "composition" marks ([2472](https://github.com/PrincetonUniversity/PsyNeuLink/issues/2472))
- MDF: make onnx noise generation more flexible
- Drop extra 'monitor' mechanism from the threshold modulation test
- Use numpy instead of python math module
- Use lambda function to get the name of tested function
- Consolidate Buffer Function test
- Use more than one iteration in test using stateful functions
- Run more than one iteration in tests that use stateful Functions
- Consolidate test of different input formats
- Consolidate testing of different mechanism functions
- Run more than one iteration in tests that use integrator mode
- Use 'num_trials' instead of manually calling 'execute'
- Overload 'benchmark' fixture with custom invocation
- Use the benchmark fixture unconditionally
- Use the benchmark fixture unconditionally
- Use the benchmark fixture unconditionally
- Use the benchmark fixture unconditionally
- Use custom benchmark fixture ([2529](https://github.com/PrincetonUniversity/PsyNeuLink/issues/2529))
- Don't use the same position in default variable
- Add derivative test when using OUTPUT_MDOE=ALL
- Use keywords instead of hardcoded strings as parameters
- Add type of output to names of SoftMax tests
- Assert that func_mode is only one of the three valid options
- Tests, functions/SoftMax: Don't use nested 'params' dir to set parameters
- Use 'size' instead of 'content_size' in construction
- Check for compiled variant sooner
- Check for warning messages when there's a conflict between mech and function parameter
- Drop 'DECISION_TIME' output port
- Add custom name prefix to all components with default names generated during test collection
- Use custom name prefix for Components instantiated during test enumeration ([2542](https://github.com/PrincetonUniversity/PsyNeuLink/issues/2542))
- Do not check for string value of numpy error embedded in MechanismError ([2569](https://github.com/PrincetonUniversity/PsyNeuLink/issues/2569))
- Use mac/windows results for numpy>=1.22 and AVX512 CPUs
TransferFunction
- Add support for computing derivatives using base function output ([2538](https://github.com/PrincetonUniversity/PsyNeuLink/issues/2538))
Function/SoftMax
- Use correct dimensionality when calculating full Jacobian ([2539](https://github.com/PrincetonUniversity/PsyNeuLink/issues/2539))
Functions/DriftDiffusionAnalytical
- Re-associate floating point operations
Functions/ReLU,SoftMax
- Restore functionality broken in 2528 ([2532](https://github.com/PrincetonUniversity/PsyNeuLink/issues/2532))
Functions/SoftMax
- Restore correct computation of derivation
- Add support for 2d inputs to SoftMax derivative ([2534](https://github.com/PrincetonUniversity/PsyNeuLink/issues/2534))
- Use "ALL" results to calculate derivative directly
- Use 'squeezed' version of output when calculating Jacobian
Functions/Transfer
- Consider 'bias' parameter in 0 check in ReLU derivative function
Functions/TransferFunction/Angle
- Optimize python version
Functios/ReLU
- Rename 'variable' arguemnt to 'input'
Github-actions
- Add hash of requirements.txt to cache key of built pip packages ([2482](https://github.com/PrincetonUniversity/PsyNeuLink/issues/2482))
- Restrict scipy to <1.9.2 on x86 ([2502](https://github.com/PrincetonUniversity/PsyNeuLink/issues/2502))
- Use environment files to set outputs ([2506](https://github.com/PrincetonUniversity/PsyNeuLink/issues/2506))
- Restrict scikit-learn to <1.1.3 on x86 ([2511](https://github.com/PrincetonUniversity/PsyNeuLink/issues/2511))
- Fix setting of outputs
- Consider 'doc_requirements.txt' when generating cache key in doc CI jobs
- Consider 'dev_requirements.txt' when generating cache key in CI jobs
- Fix detection of wheel cache directory location ([2513](https://github.com/PrincetonUniversity/PsyNeuLink/issues/2513))
- Restrict statsmodels to <0.13.3 on x86 ([2516](https://github.com/PrincetonUniversity/PsyNeuLink/issues/2516))
- Run only the latest instance of the main CI workflows ([2537](https://github.com/PrincetonUniversity/PsyNeuLink/issues/2537))
- Check env var to tag selected OSes to run on self-hosted runners ([2546](https://github.com/PrincetonUniversity/PsyNeuLink/issues/2546))
- Generalize package name extraction from dependabot branch name ([2566](https://github.com/PrincetonUniversity/PsyNeuLink/issues/2566))
Github-actions/codeql
- Skip CI job on pushes that only update documentation ([2560](https://github.com/PrincetonUniversity/PsyNeuLink/issues/2560))
Github-actions/coedql
- Run codeql analysis on PRs to devel
Github-actions/install-pnl
- Only check version of a new package if it's in a requirements file
- Restrict jupyter-server to <2 ([2555](https://github.com/PrincetonUniversity/PsyNeuLink/issues/2555))
Github-actions/install-pnl/dependabot_pr
- Cleanup installation of the bumped package before installing PNL ([2481](https://github.com/PrincetonUniversity/PsyNeuLink/issues/2481))
- Skip package version check for not installed packages ([2483](https://github.com/PrincetonUniversity/PsyNeuLink/issues/2483))
Library/AutodiffComposition
- Drop empty docstring ([2567](https://github.com/PrincetonUniversity/PsyNeuLink/issues/2567))
Llvm
- Add sin, cos builtins
- Implement compiled Angle and SoftMax derivative Functions ([2528](https://github.com/PrincetonUniversity/PsyNeuLink/issues/2528))
Llvm/builtins
- Implement binomial distribution for N==1 ([2552](https://github.com/PrincetonUniversity/PsyNeuLink/issues/2552))
Llvm/codegen
- Use visit_Constant instead of visit_{Num,NamedConstant} if available
Maint
- Ignore mdf test autogenerated files ([2527](https://github.com/PrincetonUniversity/PsyNeuLink/issues/2527))
Models/Botvinnick
- Use top level import
Registry
- Add configurable prefix to auto generated component names
Requirements
- Restrict modeci_mdf to 64bit cpython ([2473](https://github.com/PrincetonUniversity/PsyNeuLink/issues/2473))
- Update pytest requirement from <7.1.3 to <7.1.4 ([2478](https://github.com/PrincetonUniversity/PsyNeuLink/issues/2478))
- Update pandas requirement from <1.4.4 to <1.4.5 ([2477](https://github.com/PrincetonUniversity/PsyNeuLink/issues/2477))
- Update matplotlib requirement from <3.5.4 to <3.6.1 ([2486](https://github.com/PrincetonUniversity/PsyNeuLink/issues/2486))
- Update pandas requirement from <1.4.5 to <1.5.1 ([2488](https://github.com/PrincetonUniversity/PsyNeuLink/issues/2488))
- Update autograd requirement from <1.5 to <1.6 ([2493](https://github.com/PrincetonUniversity/PsyNeuLink/issues/2493))
- Update pytest-cov requirement from <3.0.1 to <4.0.1 ([2492](https://github.com/PrincetonUniversity/PsyNeuLink/issues/2492))
- Update pandas requirement from <1.5.1 to <1.5.2 ([2503](https://github.com/PrincetonUniversity/PsyNeuLink/issues/2503))
- Update matplotlib requirement from <3.6.1 to <3.6.2 ([2497](https://github.com/PrincetonUniversity/PsyNeuLink/issues/2497))
- Update torch requirement from >=1.8.0,<1.12.0 to >=1.8.0,<1.13.0 ([2504](https://github.com/PrincetonUniversity/PsyNeuLink/issues/2504))
- Update pytest-xdist requirement from <2.6.0 to <3.1.0 ([2510](https://github.com/PrincetonUniversity/PsyNeuLink/issues/2510))
- Update pytest-benchmark requirement from <3.4.2 to <4.0.1 ([2507](https://github.com/PrincetonUniversity/PsyNeuLink/issues/2507))
- Update pint requirement from <0.20.0 to <0.21.0 ([2509](https://github.com/PrincetonUniversity/PsyNeuLink/issues/2509))
- Update pillow requirement from <9.3.0 to <9.4.0 ([2515](https://github.com/PrincetonUniversity/PsyNeuLink/issues/2515))
- Update pytest requirement from <7.1.4 to <7.2.1 ([2508](https://github.com/PrincetonUniversity/PsyNeuLink/issues/2508))
- Update matplotlib requirement from <3.6.2 to <3.6.3 ([2525](https://github.com/PrincetonUniversity/PsyNeuLink/issues/2525))
- Update pandas requirement from <1.5.2 to <1.5.3 ([2548](https://github.com/PrincetonUniversity/PsyNeuLink/issues/2548))
- Update torch requirement from >=1.8.0,<1.13.0 to >=1.8.0,<1.14.0
- Update torch requirement from >=1.8.0,<1.13.0 to >=1.8.0,<1.14.0 ([2553](https://github.com/PrincetonUniversity/PsyNeuLink/issues/2553))
- Update pytest-xdist requirement from <3.1.0 to <3.2.0 ([2554](https://github.com/PrincetonUniversity/PsyNeuLink/issues/2554))
- Use upper and lower bound for fastkde ([2561](https://github.com/PrincetonUniversity/PsyNeuLink/issues/2561))
- Update pillow requirement from <9.4.0 to <9.5.0 ([2565](https://github.com/PrincetonUniversity/PsyNeuLink/issues/2565))
- Bump fastkde from 1.0.19 to 1.0.20 ([2559](https://github.com/PrincetonUniversity/PsyNeuLink/issues/2559))
- Update networkx requirement from <2.9 to <3.1 ([2570](https://github.com/PrincetonUniversity/PsyNeuLink/issues/2570))
- Update toposort requirement from <1.8 to <1.9 ([2573](https://github.com/PrincetonUniversity/PsyNeuLink/issues/2573))
- Update toposort requirement from <1.9 to <1.10 ([2575](https://github.com/PrincetonUniversity/PsyNeuLink/issues/2575))
- Update matplotlib requirement from <3.6.3 to <3.6.4 ([2576](https://github.com/PrincetonUniversity/PsyNeuLink/issues/2576))
- Update numpy requirement to <1.22.5
- Reassociate operations in the DriftDiffusionAnalytical function and update numpy to <1.22.5 ([2476](https://github.com/PrincetonUniversity/PsyNeuLink/issues/2476))
Treewide
- Drop mentions of ControlMechanismRegistry
- Drop mentions of GatingMechanismRegistry
- Cleanup. Reduce the number of warnings issued during test execution ([2541](https://github.com/PrincetonUniversity/PsyNeuLink/issues/2541))
Utilities
- Check that the compared value is not an empty list
- Add fastpath when checking if object is compatible with itself
- Safe_equals: handle dict-like objects in np arrays ([2551](https://github.com/PrincetonUniversity/PsyNeuLink/issues/2551))