# Changelog ## Release 0.21.0 ### Additions - Add PluggableDeviceLibrary ### Changes - Upgrade to TensorFlow 2.13.0 - Add support for saving to and restoring from checkpoints ## Release 0.20.0 ### Additions - Implemented Send and Sync for SessionRunArgs ### Changes - Migrated from random to rand - Upgraded to TensorFlow 2.11.0 ### Fixes - Removed binaries from the repository ## Release 0.19.0 ### Additions - Improved debug formatting of tensors - Add accessors for operation named inputs and outputs - Support loading TensorFlow library dynamically at runtime ### Changes - Upgrade to TensorFlow 2.9.1 ## Release 0.18.0 ### Additions - Added eager API support (Big thanks to dskkato!) - Add pre-trained Keras model use example ### Changes - Upgrade to TensorFlow 2.8 - Update addition and regression_savedmodel examples' python code for tf2.5 - Migrate CI from Travis to GitHub Actions ### Fixes - Codegen cleanup - Fixed rustfmt on Windows ## Release 0.17.0 ### Additions - Support Tensor::from and Shape::from for arrays (requires Rust 1.51) - Add dtype and shape accessors to TensorInfo - Implement Scope::with_xla_cluster - Add Scope::with_kernel_label ### Changes - Upgrade to TensorFlow 2.5 - Deprecate Session::from_saved_model in favor of SavedModelBundle::load ## Release 0.16.1 ### Fixes - Fix Windows build ## Release 0.16.0 ### Additions - Stabilize new graph generation code (removed experimental_training feature) - Add Scope::{with_device, with_control_dependencies} - Add optional support for Tensor conversions to/from ndarray::Array - Add Library::op_list - Allow tensorflow-sys to download prebuilt windows releases ### Changes - Improve ergonomics for graph building - Allow conversions for arguments to generated ops - Implement From for arrays for Shape - Allow VariableBuilder::shape to take Into ### Fixes - Fix memory safety bug in Operation::control_inputs - Allow 0 colons in output names, default to index 0 - Fix docs.rs (hopefully) ## Release 0.15.0 ### Additions - Add generated code for all standard ops - Currently guarded by experimental_training feature - Add RecordReader for TFRecords - Add support for creating saved models - Document that BFloat16 is not an IEEE-754 16-bit float - Implement Send and Sync for Status - Add Tensor::get and Tensor::set ### Changes - Use std::alloc instead of aligned_alloc ## Release 0.14.0 ### Additions - Support for high-level graph building in pure Rust - Adds Scope, ops module, etc. - Currently guarded by experimental_training feature - Includes a basic xor example - Support requesting run metadata from Session::run - Implement TensorType for half::f16 - Add From<&[i64]> and From<&[u64]> for Shape - Add Tensor::shape - Add Shape::new ### Changes - Change return type of Graph::add_gradients to return optional gradients ### Fixes - Fix memory initialization bug in Operation::output_consumers