- Updated `bincode` to version 2.0.1, modifying serialization calls to use the new API with `serde` support.
- Added new dependencies in `Cargo.lock`, including `alloca`, `atomic-waker`, and `aws-lc-rs`, ensuring compatibility with the latest features.
- Refactored file creation and serialization logic in `build.rs` for improved clarity and performance.
- Updated various dependencies in `Cargo.toml` to their latest versions, enhancing overall project stability and functionality.
- Bumped versions for several dependencies, including `anyhow`, `async-compression`, `jiff`, `memchr`, `pest`, and `time`, ensuring compatibility with the latest features and fixes.
- Adjusted the `notify` dependency in `memofs` to conditionally include platform-specific features for macOS, enhancing cross-platform support.
- Updated checksums in `Cargo.lock` to reflect the new versions, maintaining integrity and security of the dependency tree.
- Update notify dependency from 4.0.18 to 8.2
- Add notify-debouncer-full 0.7 for event debouncing
- Rewrite StdBackend to use new debouncer API and EventKind system
- Add 13 stress tests including undo/redo simulation
Co-authored-by: Cursor <cursoragent@cursor.com>
- Updated `embed-resource` version in `Cargo.toml` and `Cargo.lock` to 3.0.6 for enhanced functionality.
- Upgraded several dependencies including `dirs`, `dirs-sys`, `float-cmp`, and `hashbrown` to their latest versions for better performance and security.
- Modified the build script to handle resource compilation more gracefully by using `embed_resource::NONE`.
- Enhanced the `syncback` command to automatically download Roblox place files from the asset delivery API, allowing for zero-argument usage.
- Updated `Cargo.toml` to include compression features for `reqwest` and moved `tempfile` to dependencies.
- Introduced a new `download` argument in `SyncbackCommand` to specify place IDs for downloading.
- Implemented logic to resolve input file paths, prioritizing downloads when necessary.
- Added sourcemap generation after successful syncback and refreshed the git index if in a repository.
- Updated tests to validate the new download functionality and sourcemap creation.
- Introduced a new `SyncbackStats` module to track and report issues during syncback, including duplicate names, unknown classes, and properties.
- Updated the `syncback_loop` and related functions to utilize the stats tracker, logging summaries of issues encountered.
- Enhanced property filtering and instance syncing to record statistics on unknown classes and properties.
- Modified tests to ensure consistent output by normalizing temporary paths in snapshots.
- Added `regex` dependency for path normalization in tests.
- Bump versions of several packages: `insta` to 1.46.2, `portable-atomic` to 1.13.1, `portable-atomic-util` to 0.2.5, `slab` to 0.4.12, `zerocopy` to 0.8.37, `zerocopy-derive` to 0.8.37, and `zmij` to 1.0.18.
- Update checksums for the modified packages to ensure integrity and compatibility.
- Updated various dependencies in Cargo.toml and Cargo.lock, including `env_logger`, `fs-err`, and `clap`, to their latest versions for enhanced functionality and security.
- Refactored CLI argument handling in `build.rs` and `mod.rs` to align with the new `clap` version, improving error reporting and verbosity options.
- Added new packages such as `anstream`, `colorchoice`, and `jiff` to enhance project capabilities.
- Bump versions of `cc`, `find-msvc-tools`, `zerocopy`, and `zerocopy-derive` packages.
- Update checksums for the modified packages to ensure integrity and compatibility.
- Bump versions of `clap` and `zerocopy` packages in Cargo.lock.
- Add `log` dependency to memofs Cargo.toml.
- Improve logging in the file watcher thread to capture errors and trace events, enhancing reliability and debugging capabilities.
- Bumped versions of several dependencies, including `anyhow`, `backtrace`, `crossbeam-channel`, `csv`, `futures`, `hyper`, `log`, `num_cpus`, `rayon`, `reqwest`, `serde`, `serde_json`, `thiserror`, `tokio`, `profiling`, `yaml-rust2`, `blake3`, and `indexmap` to their latest releases for enhanced functionality and security.
- Updated submodule reference for `rbx-dom` to the latest commit.
- Adjusted dependencies in `crates/memofs` and `crates/rojo-insta-ext` to align with the updated versions, ensuring consistency across the project.
- Introduced rbx-dom as a submodule, updating the .gitmodules file to include its path and repository URL.
- Modified Cargo.toml to reference rbx-dom dependencies using local paths instead of Git URLs, facilitating easier local development.
- Updated Cargo.lock to include new dependencies and versions, enhancing the project's dependency management.
- Added logic in meta_file.rs to skip None OptionalCFrame values during serialization, improving data handling.
Replaces `serde_json` parsing with `jsonc-parser` throughout the
codebase, enabling support for **comments** and **trailing commas** in
all JSON files including `.project.json`, `.model.json`, and
`.meta.json` files.
MSRV bumps from `1.83.0` to `1.88.0` in order to
use the jsonc_parser dependency.
<p dir="auto">in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2636858743" data-permission-text="Title is private" data-url="https://github.com/rojo-rbx/rojo/issues/989" data-hovercard-type="pull_request" data-hovercard-url="/rojo-rbx/rojo/pull/989/hovercard" href="https://github.com/rojo-rbx/rojo/pull/989">#989</a>, we changed Rojo's version number on the master branch to 7.4.4. This is a little odd, because 7.4.4 is already released, is diverged from the master branch, and we are not working towards 7.4.4 on the master branch. If we're going to spend time on this, I think we should use a more appropriate version number.</p>
<p dir="auto">This PR changes the version number to 7.5.0-prealpha, since Rojo's master branch is currently undergoing development towards 7.5.0. We will most likely <strong>not</strong> be making a release of this version - the only intent is better clarity for those running Rojo's latest master.</p>
Due to the rewrite of the plugin's core sync loop and the change for the
Notify backend on MacOS, along with all the other changes in 7.4.0, it
makes sense for us to use a release candidate before actually cutting a
proper `7.4.0` release.