- Atom 1.8.0 is now the officially supported version of Atom.
- Clicking on Find References preview now takes you to the reference.
- Fixed Remote Project reconnection after a network interruption (like bad wifi or waking).
- Fixed a scrolling bug in Open Files when the selected entry is the active file.
- Fixed remote searching for things that look like broken regexes (e.g.
foo(
). - Fixed the blame gutter not hiding if blame failed to load.
- Added local-only setting for specifying the clang library path.
- Fixed Nuclide buck source level iOS debugging.
- Show
#pragma mark
in Outline view.
- RN Packager output now appears in Console.
- Multiple sources can be shown at once in the console.
- Processes can be started and stopped from console source list.
- Added keyboard shortcut (
cmd-f
) to "Search in Directory" from the file-tree. - Fixed canceling a "save" after a file's remote project root is removed.
- Fixed removing a project after a re-start when that project's directory no longer exists.
- Hack grammar now handles
HEREDOC
's correctly.
General
- 2-3X faster remote connection initialization
- Fix bug with autoscrolling console
- Various bugfixes for build toolbar
- Build system can be selected using command palette
- Path search: Now respects Atom's “Ignored Names” setting
- More responsive file tree deletion for hg projects
Buck
- Build / test output now appears in the console
- Buck commands are now cancellable (press the stop button in the toolbar)
Python
- Autocompletion/hyperclick support for Buck-based Python projects
- Requires that a python_binary or python_unittest target for the source file has been built. Currently we don't automatically run buck build, so make sure to do so manually.
- Will not work if a dependent python_binary or python_unittest isn't present in a parent directory's TARGETS/BUCK file.
- Import/module resolution for autocompletion/hyperclick relative to top-level module
- New setting to toggle arguments autocompletion
Hotfix release. Fixes:
- Conflict resolver opening invalid file paths.
- Check heartbeat version while starting connection for smoother upgrades when the RPC protocol changes.
- Properly handle
getDigestSync
for remote files that no longer exist.
Hotfix release. The Context View was misbehaving and causing the remote hack service to timeout.
General
- More detailed Flow error messages.
- Remote Connection Dialog: Added a “Save” button to save changes to Connection Profiles.
- Remote Connection Dialog: Double clicking a profile now connects to that profile.
- Performance improvements for C++ outline view / diagnostics.
Source Control
- Added “Rename bookmark” ability to the bookmarks side bar.
Hotfix release
General
- [New Feature] The file-tree can display a list of open files.
- [New Feature] Drag to move files and directories in the file-tree, including ability to move multiple files at once with cmd/ctrl click.
- Opt-in new behavior for moving editors across panes via keyboard shortcuts (see details).
- Double click on an outline view item to select it in the editor.
- Fixed docs navigation on nuclide.io.
Internal
- Lots of new integration tests that improve Nuclide's reliability & speed up releases.
Source Control
- Better error handling and messages for publish failures.
- Diff View: Update UI for project additions/removals.
- Diff View: rate-limit the calls to
hg status
. - Show author in revision timeline
- Added “show history” to source control context menu.
Debugger
- C++ debugger: Various UX improvements for launching debuggee process
- More prominent debugger breakpoints
General
- Fixed: file-tree could spontaneously collapse on a flaky network.
- New Settings UI Pane (cmd-option-, or Nuclide Settings: Show from the command palette)
Source Control
- Diff View is now much faster showing the changed files.
Python
- Code formatting on local or remote using pyfmt or yapf, accessible using standard controls (context menu, cmd/ctrl+shift+c, or Edit→Text→Format Code). This will use rules from the nearest .style.yapf, or if not available use yapf's default (pep8). Currently pyfmt or yapf must be in the system path - the path to binary will be configurable in the near future.
- Find references, will only find results within the current file and PYTHONPATH at the moment.
- Hotfix for Python httplib server compatibility issues.
General
- After updating Nuclide, a notification now asks you to reload Atom.
- Atom 1.7.4 is now the minimally required version of Atom.
Source Control
- Clear diff view UI when the active file is deleted.
- Diff View: Fix various contents-override errors when the diff view is closed and opened on with a different file.
Flow
- Outline view now includes type declarations.
- Fixed race condition that often caused outdated Flow errors to appear, requiring multiple saves to get up-to-date errors.
C++
- Threads window for C++ debugger.
Hack
- Cmd-B Preview Definition Window.
Python
- Experimental: Autocompletion and go-to-definition for Python files.
Hack
- Debugger warns if HPHPD is attached.
C++
- Automatically select the first frame with source code during C++ debugging pause.
- Auto refresh C++ debugger attach process list.
- Decreased resource usage of background indexing processes.
Buck
- Added loading indicator for target selector.
- Re-enabled build progress indicator in the toolbar
- iOS simulator dropdown is now hidden for non-iOS projects.
Hotfix for an error being thrown during the upgrade process from <0.136 to >=0.137
- New feature: Added the type-system coverage information.
- Added support for #include hyperclick.
- Improved flags detection for header files.
- Added support for switch between header/source.
- Outline improvements:
- Overall responsiveness.
- Additional symbols and function params.
- Modifiers.
- Highlighting current symbol in the outline view.
- React Native attach UI.
- Typed in publish message is preserved if a publish is canceled.
- hg add and hg remove are reflected properly in the file-tree.
- Existing files can be added to and removed from the Mercurial from Source Control menu.
- Bump Atom version dependency to 1.7.3 and Node to 5.1.1.
- Nuclide logs are always written under system temp dir now.
- Filename search now supports full paths.
- z-index fix to combobox in buck build toolbar.
- Nuclide console now shows a notifications when there are new unseen messages.
- Reduced flickering in omni-search.
- Shadow breakpoint is displayed when hovering over the gutter for easier breakpoint toggle.
- Fix: file-tree and remote connection modals now appear properly in Atom Beta v1.8.
- Highlight pinned debugger values when they change.
- HHVM Toolbar remembers script arguments for launched scripts when tabs are switched.
- PHP Debugger stability fixes.
- Fix fast editing/saving with long-delay saves reverting user changes.
- Fix diff view updating block decorations to sync with out-of-diff-view edits.
- Fix publish suggestions racing with commit/amend.
- Fix a case when scrolling gets out of sync when opening a new file.
- Fix race condition that leads to closing/re-opening the Diff View not loading the revisions.
- Fix stuck in publishing state after publish/amend.
- Fix padding and invalid scrolling of changes at the end of a buffer.
- [UI] Fixed blame usage for 3rd-party themes (#484).
- [UI] Better theme coloring for diff blocks.
- [UI] Easier switching to Commit/Amend/Publish.
- [UI] Fix highlighting removed by Atom when editor not focussed when updated.
- [Experiment] Change the default comparison revision to show dirty changes (hg diff result).
- Fix: clicking on an item in the diagnostics panel no longer opens a new tab every click.
- Fix: reveal in file-tree does not freeze Nuclide any more.
- Remote
- Variety of remote project reliability improvements.
- Unsaved file contents will be reopened in a new tab if saving fails while closing a tab.
- Fix spurious 'file has changed on disk' messages in remote files.
- Quick-open: Fuzzy filename results now always rank at the top of Omnisearch.
- Working Sets now work on Windows.
- Fix z-index issue with Hyperclick suggestions.
- [New] Improved integration: Revert files/directories from the file tree and text editor context menu + shortcut (cmd+alt+shif+r).
- Fix file tree VCS status rendering with hg updates.
- Diff View Publish: faster feedback about the created/updated Phabricator revision.
- Fix mercurial diff stats spiking CPU with Atom >= 1.7 (open source).
- Show the
hg log
for a file or directory. You can launch this view in one of three ways:- In the active text editor, use the keyboard shortcut
ctrl-cmd-l
on OS X orctrl-shift-l
on Linux/Windows. (Mnemonic: L is for Log!). - In the file tree, right-click on a file or folder. From the context menu, select Source Control ▶ Show history.
- In the active text editor, right click. From the context menu, select Show history.
- In the active text editor, use the keyboard shortcut
- Render
module.exports
in Outline View.
- Go-to-declaration (cmd+click) now works for macros.
- Outline view fixed for Objective-C files.
- Improved autocompletion performance for large files.
Hotfix for outline view regression.
- Vastly improved file-tree performance for large repositories.
- Added a "Kill Nuclide and Restart" menu option to kill the remote server.
- Output pane now autoscrolls correctly.
- Fixed file-tree appearance with the one-light-ui Atom theme.
- Quick Open: Fixed bug where filename search fails to load at startup.
- Diff View: Improved file switching performance.
- Diff View: Fixed off-by-one diff view blocks.
- Added project selector in Debugger Launch/Attach UI (cmd+shift+A)
- Added outline view support for C++.
- Debugging:
- Fixed crash while stepping into function with parameters pointing to non-utf8 characters.
- Support simultaneous debugging from multiple Nuclide instances.
- Updated bundled React Native inspector to 0.14.9.
- Improved error messages for adb, syslog, and React Native debugging.
- Hotfix double publish.
- cmd+click on npm packages in
package.json
files to open the package's page on npmjs.com. - The file tree will now highlight changes from local git repositories.
- Test runner "Run in Debug Mode" checkbox.
- UX improvements for the Console window.
- UX improvements for Commit / Amend / Publish.
- Remote "Search in Directory" now finds all results.
- Improved search in the file-tree. Contributed by Alexander Juarez (@alexjuarez).
- C++: Hover over 'auto' variable declarations to reveal their type.
- C++: Automatically update include paths when
TARGETS
files change.
- Distraction-Free-Mode:
- Hide things the file tree and outline view to focus on your code.
- Toggle Distraction-Free-Mode from the toolbar's eye icon (or trigger the
nuclide-distraction-free-mode:toggle
command).
- Debugging:
- Native/C++ debugging for remote devserver.
- Datatips while debugging, hover over identifiers to display their value. Value datatips can be pinned and will update while debugging.
- Settings for specifying the paths of
adb
andsyslog
. - Source Control context menu in the file tree.
- Support for
BUCK.autodeps
files. - Enable open files ouside of file-tree in remote server.
- Outline view for JSON files.
- User-visible errors (with troubleshooting tips) are now raised when adb and syslog aren't on the
PATH
and you try to run them. - Made PHP debugger less crashy when stepping, setting breakpoints, and more.
- Text no longer jumps around while stepping in the debugger.
- File-tree scrolling performance was improved.
- Hide debugger panel after stop debugging.
- Nuclide will not load at all in Atom <1.3.0.
- Fixes an issue where the Diff View would fetch Mercurial data even if not visible.
- Fixes an issue where Mercurial commands would inherit personal user settings resulting in unexpected behavior when standard commands where aliased with flags.
- Outline View:
- Python support.
- Show flow class fields.
- Highlight the current location of the cursor for JavaScript.
- Made a handful of small improvements to outline view, including improving the UX when outlines are computed slowly.
- Datatip highlight color across themes.
- Async Repository incompatibility with v1.7.0-beta.
- Fix Diff View's tree highlighting deleted commit changes.
- The "Nuclide" menu is now before "Window" and "Help".
- Atom 1.6.1 is now the minimally required version.
- Outline view for Flow and Hack. Toggle with the outline icon on the toolbar, or with alt+o.
- Forward/Backwards Navigation Stack with
ctrl-
, andctrl-
. (ctrl-<
andctrl->
on linux). - New "Nuclide" top-level menu.
- Diff View:
- Browse history & commit (hg only).
- Persist commit messages between mode switches.
- Switching modes changes the diff method to show relevant changes only.
- Open from file tree will select the nearest file change within that directory (or in the selected root).
- Opening from the toolbar defaults to diffing the current working root (File tree Suitcase icon).
- Show multiple repos changes in browse mode, while in Commit mode, show only the active repository's relevant changes.
- nuclide-console messages can be copied to clipboard.
- Diff View: Opening a changed file won't revert user changes nor clear undo history.
- React Native debugger no longer pauses on loader breakpoint.
- Performance and stability wins for PHP script debugging, approximately a 2s speedup when launching scripts.
- Fix Remote "file changed on disk" notification without actual changes.
- Fix file reloads, conflict popups or reverting user changes on flaky / slow network connections.
- C++: Significantly faster (~50%) initialization times on devservers.
- Improved feature coverage for header files in Buck projects.
- Restarting Atom now clears Clang server state (or try "Clean and Rebuild" from the Nuclide menu).
- Static/out-of-scope variables are no longer shown in “locals” section of lldb debugger.
- Toolbar icons split into two groups when you upgrade to tool-bar 0.3.0.
- nuclide-output is now nuclide-console.
- Fixes for the
left-pad
/relative-date
npm unpublishing.
- Buck tests can now be triggered from,
- The "Test" button in the Buck toolbar, or
- via Atom commands (command palette or custom keyboard shortcut).
- Diagnostic/linter results table columns are now resizable.
- Settings for custom HHVM, RN node executable and Merlin (OCaml) paths.
- Support Clang macros and brief comments for autocompletion.
- Improvements to evaluation in the HHVM debugger.
- Improved the support for multiple windows in Working Sets.
- Debugger doesn't refresh when reloading React Native apps.
- Opening an already open remote file won't not discard all local changes.
- Focus and blur side bar children (like file-tree).
- Continued improvements to fuzzy file searching.
- Remote search for matches with
:
. - Preview tab support for Atom 1.6.0+.
Fixed:
- Server Crash related to Mercurial / Watchman upgrade rollout.
- Improved the support for multiple Nuclide windows in Working Sets.
Added:
- Show Hack Type Coverage - ctrl-alt-shift-V
- Display an error if the Flow server crashes, rather than silently ceasing to provide Flow features.
- Autofix for C++ diagnostics (e.g. for typos and missing semicolons)
- OCaml diagnostics and typehints
- Diff View auto-scroll to first change.
- Show connection profile info next to remote folders in file tree.
Fixed:
- Diff View: Fix multiple race conditions that caused user edits override.
- 3x Optimization to mercurial status queries during updates - fix halting nuclide.
- Better scrolling when navigating with hyperclick and diagnostics.
- Fix Hyperclick error when going out of screen range.
- Improved autocompletion for C++ function/method calls
Added:
- Added 'Current Working Root'
Fixed:
- Faster Path Search (blacklist yourself from GK nuclide_file_search_native in case of issues)
- Working Sets selection UI was aligned with core Atom for better compatibility with themes and other UI elements
- Correctly report invalid .buckconfig file
- A bug prevented certain types of Flow errors from appearing. This is now fixed.
- Some fixes for HHVM debugger printing of map-like arrays and other hierarchical data structures.
- HHVM script debugging breakpoints trigger more reliably.
Fixed:
- Slow typing caused by the FileTree - even when hidden.
- Fix Slow typing caused by health monitor.
- Fix FB login.
- Fix endDebugWhenNoRequests
Added:
- New feature: Working Sets - show only selected directories in the file-tree
- File tree keyboard navigation: Allows you to rapidly change the selected node by typing a prefix string.
- Buck toolbar now shows loading message while querying targets
- Diagnostics panel displays errors above warnings
Fixed:
- Improved Ctags search performance
- Fix some server connection issues
- Fix an assertion that can cause the server to crash periodically.
- Open a newly duplicated file on duplication.
- Pretty toolbar dividers.
- React Native debugger w/o Buck.
- React Native iOS simulator logs.
- HHVM output is shown in the output window.
- Correctly remember last connection profile.
- Close project files when removing project.
- CMD+C copying from "Find References".
- Add commands for debugging non-Buck React Native apps (requires react-native#5717)
- Add commands for running RN Packager without building via Buck
- Fixed “unknown call” warning in RN element inspector
- Added limit on Clang server memory usage
- Improvements to datatip UX: Datatips disappear on keydown, and the default delay is now 200ms and can be configured in settings (Packages > Nuclide > Nuclide-datatip > debounce delay). Also improved the mapping of mouse coordinates to code.
- Datatips are now pinnable.
- Make diagnostics look a bit more like datatips.
- Improved arc lint autofix - handling multi-line.
- Improvements to Diff View syncing.
- Diff View supports opening revealing files in the file tree and directly in the editor.
- Fixed specifying custom buck command.
- Fix: Debugger scrolling works in Atom 1.4.x.
- Added code formatting for clang.
- Added custom clang flags in the settings page.
- Minor improvements to remote file handling.
- Disable blinking cursor from readonly editors in (Diff View, Test Runner & Smartlog).
- Fixed the OCaml Merlin path config setting
- Fixed Clang autocomplete latency regression
- Fixed diagnostics for local PHP files
- Fixed diagnostics for Hack
- Improved reloading multiple remote projects after a crash
- Improved server reliability by handling invalid marshalling and Watchman recrawls
- Prevent opening files larger than 10MB on the server to prevent crashes
- Output:
- Panel for displaying log messages.
- adb-logcat provider (and commands for starting and stopping
adb
logcat).
- Hack: XHP syntax to language grammar.
- Server connection flakiness.
- File-tree: clicking on a selected node with preview tabs enabled opens the file.
- Type Hints:
- Better (faster) UX for triggering and interacting with type hints.
- ESC/cancel closes current type hint.
- Experimental support for flow "hint trees" (interactive UI for exploring nested types in type hints). To try it out, enable the "nuclide-flow: Enable Tree-structured Type Hints" setting.
- Lint: Autofix is now enabled by default.
- Eligible lint errors will have a "Fix" button in the gutter popup.
alt+shift+a
will fix all eligible errors in the current file.
- Debugger: HPHPD-style leading
=
syntax for evaluating expressions is now supported in the debugger console. - Debugger: Pass multi args to hhvm in script debugging.
- HHVM Debugger: Scripts launched from the HHVM toolbar can now be passed command line arguments.
- Debugger: Add a new contextual menu for regular breakpoints (conditional breakpoints in the works).
- Tool Bar: Add "Hide Tool Bar" context menu for Buck/HHVM.
- ctags: Improve relevancy for JS development, shows results even if Hack service is available.
- C++: Hyperclick performance improvements, better compile error messaging.
- Nuclide Server: Diagnostic improvements.
- Blame: Replaced individual show/hide commands with toggle.
- UI: Move Health icon from statusbar to toolbar.
- Dedicated toolbar shortcut icons for toggling the HHVM and Buck top bar.
- Include type information with clang results.
- Quick open for ctags.
- "Reload Atom" on server crash button.
- Connection profiles got a total makeover.
- Reduced clang cache memory consumption.
- diff-view context menu items appear both in Nuclide's file-tree and in Atom's tree-view.
- fb-watchman exceptions.
- Race condition that prevented the diff-view from re-opening on restart.
- React Native debugging for newer versions of React Native (Note: Node v4 still needs to be on Atom's path).
- Continued improvements to the experimental filename search.
- hg-repository now checks
default
instead of fb-specificremote/master
.
Nuclide is now a single Atom package named 'nuclide'. All 'nuclide-*' packages are deprecated and will be unpublished after this release.
- Node Debugger:
- Now works on node processes running any major version of node/iojs including 0.10.x, 0.12.x, 1.x, 2.x, 4.x, 5.x.
- Hyperclick:
- Anything that looks like it might be a valid web address is clickable. Eg. http://cats.com (http://cats.com/) (a word with a valid TLD).
- ctags support: any symbols in a valid 'tags' file in your project directory should be clickable.
- Fix Hyperclick errors with split panes.
- Settings:
- All settings are in one spot: Preferences → Packages → Nuclide → Settings.
- File Tree:
- Preview Tab support. Enable from Packages → tabs → Use Preview Tabs.
- Buck Toolbar
- RN Server checkbox value now remembered after restart
- Output window can now be moved and split
- C++ support:
- Significant performance improvements for diagnostics, autocompletion, and click-to-declaration
- Loading indicator will display in status bar while C++ files are parsing
- Stability: clang errors should no longer cause the Nuclide server to crash
- “Find References” support for clang-enabled projects (right click on any symbol)
- More robust Watchman integration for Mercurial and file-change reload features.
- Fix Mercurial blame for remote projects.
- Fix Diff View offset rendering for large diffs and split panes errors.
- Arc lint autofix beta:
- In the settings for the Nuclide package, check nuclide-diagnostics-ui: enableAutofix.
- There will then be a 'Fix' button in the popup for eligible lint problems.
- Improvements to prevent spawning many Mercurial processes.
- Diff View:
- Performance Optimizations (Caching and avoid expensive calls when Diff View is closed).
- Add a 'Navigation Bar' for easier (add/delete/change) line change scrolling
- Hyperclick / Go to definition Improvements:
- Go to definition doesn't collide with multi-cursor feature (not end up with multiple cursors).
- Hack: Go to definition shows a navigable suggestion list when hh_server can't determine the exact location of the (e.g. dynamically-typed method calls).
- Hack: XHP go to definition highlights XHP tags correctly (while it still jumps to the right place).
- UX: Fix cursor indicator for loading and result-ready.
- Support formatting of
const
requires in format-js
npm-only release. Our Node packages were released so that external packages could consume them, but we did not update any Atom packages.
This was tagged but not released due to an issue.
-
Bug Fix
- Exclude
nuclide-debugger-node
fromnuclide-installer
until we can fix the issue with its native dependencies getting built properly. Fixes #193. - Hack and Flow diagnostics are now removed appropriately when the corresponding project folder is removed.
- Exclude
-
Documentation
-
New Feature
- New Diagnostics UI Previously, we encouraged Nuclide users to install the third-party
linter package in order to see errors from our Flow and Hack
packages, but now we include our own packages for displaying diagnostics as part of Nuclide. We
divided this functionality across two Atom packages:
nuclide-diagnostics-store and
nuclide-diagnostics-ui. The former is the
model/controller component where diagnostics are reported and broadcast out to registered listeners.
The latter is the view component that subscribes to the model and presents diagnostics to the user
via editor gutters and a table view. The
nuclide-diagnostics-store
is capable of consuming providers that conform to thelinter
API in addition to its own API. This means that even if you disable thelinter
package, you will still see all of the same errors and warnings from packages that adhere to thelinter
API in Nuclide. - Buck We now support building with Buck in Nuclide. If the active
editor corresponds to a file in a Buck project (which means it has a
.buckconfig
file in its ancestor directory), then the Buck toolbar will be displayed at the top of your Atom window. From there, you can enter a Buck build target or alias, and then choose to build, run, or debug that target. (Note that like most features in Nuclide, this also works if you are working with remote files.) We also syntax highlightBUCK
files and make it possible tocmd-click
on build targets to navigate betweenBUCK
files. As Buck supplies all sorts of information about the structure of your project to Nuclide, you can expect us to provide even more integration with Buck going forward. - iOS support This release builds on top of the new Buck support to also provide support for
iOS. The major caveat is that your iOS project must be configured to
build with Buck in order to get support for iOS
development in Nuclide. Once you have made this investment, common IDE features, such as
autocomplete, click-to-symbol, and diagnostics reporting will be available for your iOS code in
Nuclide. You can also build, run, and yes, debug your iOS app from Nuclide. As is common in most
IDEs, you can click in the gutter of an editor to set a breakpoint. When running your app in debug
mode and you encounter a breakpoint, you can inspect it via the familiar
Chrome DevTools UI. Note that the
Console in the DevTools is wired up to the LLDB REPL, so you can issue LLDB commands such as
thread backtrace
. - cxx support In many ways, iOS support is just a special case of supporting the C-family of languages. However, the same caveat still applies: your cxx project needs to build with Buck in order to get support for autocomplete, click-to-symbol, and diagnostics.
- Hack improvements:
- Use
hh_client
for the diagnostics result if available for better accuracy and consistency and eliminate the false positives of cases not known for the local Hack model. - Prioritize Hack's context-sensitive autocompletions over grammar snippets.
- Autocomplete of static and instance methods does not require a typed prefix (to be more predictable).
- Updated hh_ide.js to the latest HHVM build.
- Use
- Flow improvements:
- Display all Flow errors in the entire project, rather than just those in files that have been recently opened.
- Fix Flow autocomplete, and use snippets to pre-fill function arguments.
- hg blame From the initial launch of Nuclide, one of our most unique features compared to
most editors is tight integration with Mercurial. In this release, we take things one step further
by adding support for
hg blame
. If your current file belongs to an Hg repository, you can right-click in the editor and choose Show Blame from the context menu to see the author and changeset ID for each line in a custom gutter. Right-click again and choose Hide Blame to remove the blame information. (Note that as stated in the README, this has been tested with Hg 3.4 and above.) - Diff View (works only for mercurial repositories): The Diff View now offers more help
discovering the uncommitted source control changes by showing a highlighted up-to-date file status
changes in a list on the right and changing the right pane editor to be editable and savable to
allow previewing the changes in realtime and saving the contents to the filesystem, when ready.
The Diff View is not yet able to detect and diff against the fork base of the source control to
allow amend commit diffs iterating on the same commit.
Usage (Open, Navigate, Edit and Save) is as follows:
- For a certain file, either choose Open in Diff View from the context menu or Packages > Open Diff View from the Atom's menu bar.
- Double-clicking changed files in the change list will load the diff for that file.
- Edit the right pane editor with an updated change and see the diff in real-time.
- (
cmd-s
) or File > Save will save the new contents to the filesystem.
- Connection Status: We now display an icon in the status bar to indicate whether a file is local or remote, and whether the server is connected or disconnected.
- nuclide-file-tree-deux We have heard your complaints about
nuclide-file-tree loud
and clear, so we have embarked on a rewrite of our file tree package named
nuclide-file-tree-deux
that uses proper React/Flux design patterns to ensure the tree is performant for the largest of directory structures. The new package has not reached feature parity with the existingnuclide-file-tree
quite yet, so it is available for dogfooding, but it is not enabled by default. Once we have achieved feature parity, we will replace the code fornuclide-file-tree
with that ofnuclide-file-tree-deux
and will delete thenuclide-file-tree-deux
package. - New service framework One of the primary features of Nuclide is support for developing remote files. This is more than just the ability to edit files on a remote machine: it also means surfacing information from developer tools that are running locally on that machine, such as Buck, Mercurial, Clang, Hack, and Flow. To that end, we design our integration with these tools to use asynchronous APIs that are agnostic to where the tools are running. Our pattern for doing this has been continuously evolving, but our most recent implementation focuses on definition files written in JavaScript/Flow with RPCs that return promises or observables. Our nuclide-buck-base package is the first to take advantage of this new framework, but we plan to retrofit the rest of our codebase to use this soon. We also intend to document it so that you can define your own remote services that plug into nuclide-server.
- New package: nuclide-move-pane The
nuclide-move-pane
package overrides the default behavior ofcmd/ctrl-k arrow
to move the pane rather than split it. If you want the original behavior, we encourage you to disable this package. - New package: nuclide-format-js This package is meant to help format JavaScript code in order
to speed up development. Currently, it has support for automatically adding, removing, and sorting
requires. It also understands Flow types and will promote or demote a
require()
when appropriate. This feature is still in an experimental phase: please see the README for the heuristics involved and how best to integrate it into your workflow. In the future we will be adding more AST based transformations that can be configured on and off.
- New Diagnostics UI Previously, we encouraged Nuclide users to install the third-party
linter package in order to see errors from our Flow and Hack
packages, but now we include our own packages for displaying diagnostics as part of Nuclide. We
divided this functionality across two Atom packages:
nuclide-diagnostics-store and
nuclide-diagnostics-ui. The former is the
model/controller component where diagnostics are reported and broadcast out to registered listeners.
The latter is the view component that subscribes to the model and presents diagnostics to the user
via editor gutters and a table view. The
-
Bug Fix
- Improve
nuclide-ocaml
behavior whenocamlmerlin
is missing or errors. Previously this could cause a crash.
- Improve
- Bug Fix
- Bug Fix
- Fixed the transpilation issue identified in #162.
- New Feature
- Babel files in Node and Atom packages are now pre-transpiled prior to publishing. This should
reduce initial startup time for
nuclide-server
as well as for Atom, post-Nuclide install. Bothnuclide-server
and Atom have schemes to cache their transpilations, but
- Babel files in Node and Atom packages are now pre-transpiled prior to publishing. This should
reduce initial startup time for
Scrubbed this release because it would have missed 55efd78b.
- Bug Fix
- New Feature
- Was long overdue for a release. There were 222 commits since
0.0.24
. - New Atom package:
nuclide-arcanist
. - New Atom package:
nuclide-diagnostics-store
. - New Atom package:
nuclide-diagnostics-ui
. - New Atom package:
nuclide-find-references
. - New Atom package:
nuclide-ocaml
.
- Was long overdue for a release. There were 222 commits since
- Bug Fix
- Back out Facebook-specific code.
- New Feature
- Was overdue for a release. There were 76 commits since
0.0.22
.
- Was overdue for a release. There were 76 commits since
- Polish
- Various small fixes in preparation for CodeConf 2015 demo.
- New Feature
- Target
linter-plus
rather thanlinter
Atom package: 1fc2358e.
- Target
Initial public release of Nuclide.