Bike Outliner 2 Releases
Bike 2 is in preview stage
-
Bike 2.0 (Preview) (279)
Added
- Window-layout options in Settings > Document
- Many new theme options for configuring window appearance
- New option: Settings > Hide editor toolbars and panels when typing
- Auto-hiding glass controls in View > Enter Full Window mode
- Sidebar Cmd/Option+Up/Down navigation now jumps between groups
- Use toggle behavior for Go To Sidebar/Editor/Inspector commands
- Expanded sidebar drag-and-drop capabilities. Drag to and from most locations
- New
"indent"attribute allowing rows to be “over-indented” (Bike 1.x and TaskPaper style)
Fixed
- Improved row text move and delete commands
- Ordered list numbering across viewport gaps
- Go To issues when the sidebar had not yet been made visible
- IME improvements, including fixes for Korean input and likely others
- Improved per-window restorable state (more state restored, with better accuracy)
- Fixed a problem where pasted rows could appear in a broken collapsed state
- Fold state restoration for rows without a persistent ID
Changed
- New documents now start with one empty row
- Many refinements to the default theme (see as example for new options)
- Collapse Row now folds only selection-cover rows, not every selected row
For extension authors
- Added
Screeninterface;screensandmainScreenon the global. Window.frame,Window.screen, andPanelHandle.frameare now read/writeshowPanel({ frame })replaces the separatex/y/width/height/screenoptions.StyleContext.isFullWindow(renamed fromisInterfaceHidden) andStyleContext.viewportContentInsets.StyleContext.consecutivePath: number[]replacesorderedIndex; covers both ordered and heading runs.
-
Bike 2.0 (Preview) (278)
- Restored a broader set of built-in themes
- Added relative color syntax for use in theme files
Refined “Go To…” and “Move To…”:
- Can now target any row, not just sidebar items
- Prefix filter with
-to search across all rows - In “Go To…”, prefix with
>to execute commands - Added menu items that insert these prefixes automatically
Fixed
- Improved performance of
moveTextin large outlines - Fixed word drag case where original word was lost track of
- Link hover only shows URLs when the pointer is over text
- Sidebar leaf chevron color/alpha now matches its row label
- After a failed search, the caret returns to the original search anchor
Themes & Extensions
- Breaking changes to ChoiceBox API
- Breaking changes and additions to Color API
- Building your extension should type-check it to indicate needed changes
-
Bike 2.0 (Preview) (277)
Go To…now includes all sidebar locationsMove To…now includes all sidebar locations (except queries)- Updated menus for improved organization and consistency
- Updated default and Solarized theme colors
- Fixed crash on quit
Extensions
- Added
activateto bike, Document, Window, Editor, and Panel. - Added
prepareRowrequirement to Sidebar LocationItem - Added
light-dark(<light>, <dark>)theme color expressions
-
Bike 2.0 (Preview) (276)
- Updated to Swift 6
- Support opening
#ROWIDlinks - Added “Disable animations in Low Power Mode” setting
- Added Go > Sidebar (⌘1), Editor (⌘2), Inspector (⌘3)
Fixed
- Hang when closing an outline with an active filter
- Word-drag selection losing track of the start word
- Brief “flash” of dragged rows at their origin on drop
- Indented blank lines preserved when round-tripping Bike Markdown
- Fixed an issue where clicks on fold/focus decorations were sometimes ignored
Extensions
Window.subtitleread/write accessOutline.resolveLinkfor resolving URLs and#ROWID
-
Bike 2.0 (Preview) (275)
- Added setting to disable animations in Low Power Mode
- Fixed paste crash when inserting empty text
- Fixed link button being unclickable due to style
- Fixed hang when closing document with active filter
- Improved breadcrumb trimming to respect word boundaries
Extensions
- Added JSRowRun bridge so the
run::axis works from JS extensions - Fixed
parent::axis returning grandparent when evaluated from a run
-
Bike 2.0 (Preview) (274)
- Added button to show/hide inspector
- Added Restore All Settings in General preferences
- Compress redundant text in breadcrumb (Navigate to calendar day)
- Fixed word-granularity drag selection losing the original double-clicked word
- Fixed font size slider changing line height
- Fixed font family popup resetting size to 13pt
- Fixed window opening with zero height after Restore All Settings
Extensions
- Replaced AppleScript
resolvewithget rowcommand - Fixed
showAlertfields being silently dropped - Fixed
bike.defaults.observenever firing in app context - Fixed shared Settings/Inspector
bike.defaults
-
Bike 2.0 (Preview) (273)
- Changed to optional persistent ids
- Fixed link IDs not being remapped on import
- Fixed threading issue when deallocating editor
- Fixed memory leaks in JavaScript extension runtime
-
Bike 2.0 (Preview) (272)
- Added external file change detection
- Fixed spelling marks breaking typing slide animation
- Fixed block delete dropping selection when all siblings deleted
- Fixed formatting palette staying open when ⌘Return steals focus
- Fixed Escape toggle restoring entire row instead of previous text selection
- Fixed imported markdown documents not restoring after relaunch
- Fixed crash in regex replace with non-participating capture group
- Fixed nested inline formatting sort order producing wrong markdown
- Fixed opening
.txtfiles being loaded as Markdown
Extensions
- Show caret line in unfocused editors when setting enabled
- Fixed crash accessing
bike.windowsin some cases
-
Bike 2.0 (Preview) (271)
- Fixed ordered list number alignment with row text
- Fixed hide interface re-entrancy issue on macOS 26.4
- Fixed imported markdown handling in pasteboard decoding
- Fixed crash on quit when drag pasteboard had promises
- Fixed links in DOM contexts (inspector, settings, sheets) not opening in browser
- Fixed
rowIndexFromcharacter index conversion with multi-byte characters
Extensions
- Added Keychain API for secure password/token storage
- Added Extension settings API (Bike > Settings > Extensions)
- Namespaced globals (such as
extensionURL) tobike.extensionURL, etc
-
Bike 2.0 (Preview) (270)
- Added Help menu items
- Improved Commands Explorer UI
- Fixed sidebar selection drawing
- Fixed over-escaping in markdown export
- Fixed blank lines lost during Bike Markdown round-trip
- Fixed ordered list numbering reset after blank lines
- Improved drag and drop performance in sidebar and editor
Extensions
- Added new system fill colors
-
Bike 2.0 (Preview) (269)
- Added titlebar indicator for logged errors
- Added Settings > General > Show/hide menu images
- Load themes directly from extensions (no copy to themes folder)
- Removed .bikemd format-you’ll need to rename to .md
- Reworked file format handling (.bike vrs .html etc)
- Sync control show/hide to mouse cursor visibility
- Work to unify/polish explorer windows
- Show propper ids in path explorer
- Fixed text commands to work in text mode
- Fixed all known crashes (keep sending!)
Extensions
Added
extensionURL. Use to generate URLs for files contained in extension’s folder. Common case would be to show images in DOM context or style context. -
Bike 2.0 (Preview) (268)
Added
- Added Bike > Interface Explorer
- Added Bike > Extensions Explorer
- Expand All / Collapse All commands (+ By Level)
==mark==markdown syntax for highlight/mark formatting- Text semantics commands for move, delete, cut, copy, paste
- Include more system level commands from Cocoa keybindings
Changed
- Updates to inspector UI
- Standardize status bar popup UI’s
- Select All expands immediately to document scope
- Moved Settings > Keybindings to Bike > Commands Explorer
- Moved Window > Logs Explorer to Bike > Logs Explorer
- Moved Window > Outline Path Explorer to Bike > Outline Path Explorer
Fixed
- Sorting order
- Ordered list numbering
- Editor Filter context menu Cut/Copy actions
- Focus out decoration action maintains scroll position
Extensions
Changes to extension-kit structure and location.
It’s longer a mono-repo that you fork and work in. Instead it’s a package that you depend on. Now includes tooling for unit tests and releasing extensions.
New location: https://github.com/bike-outliner/extension-kit
- Added panel/window API
- Added defaults and window restorable state JSONStore APIs
- Added
AttributedString.fromMarkdown()andfromHTML()APIs - Added typing to DOMScript message protocols (See example-extensions)
- Derive extension name and id from folder name. No more manifest name, id
- Split core extensions into: https://github.com/bike-outliner/core-extensions
- Split example extensions into: https://github.com/bike-outliner/example-extensions
- Renamed !bike.bkext to bike.bkext
- Removed !startup.bkext
-
Bike 2.0 (Preview) (266)
- Added inspector tabs
- Added status bar items
- Lots of performance and memory tweaks
Extensions:
- Added extension API for status bar messages
- Changed
inspector.addItemAPI to include tab symbol console.lognow always shows up in Window > Logs Explorer
Extensions DOM Contexts:
- Updated
common.csswith lots of system styles - Updated
common.tsandcomponents.tsadding standard components - For example, use
SFSymbolto show system symbol in DOM Context
For examples of new styles and components see updated Calendar and Tutorial extensions that are included in the bike-extension-kit.
-
Bike 2.0 (Preview) (265)
- Added
get()method to color themes - Derive default caret and active line colors from system selection color
- Fixed crash when pasting hierarchical (indented) text
- Fixed markdown escaping to avoid unnecessary escapes (Still more to do)
- Added
-
Bike 2.0 (Preview) (264)
- Fixed cut/paste sometimes cutting more than selected
-
Bike 2.0 (Preview) (263)
- Added Settings > Keybindings
- Added Show keybindings in “Show Commands” lists
- Added “Include in new documents” option filter queries
- Changed open URL to activate app and prompt user
Fixes
- Fixed caret up/down movement getting stuck on same row
- Fixed autocorrect duplicate apostrophe when smart quotes is off
- Fixed sidebar disclosure button not clickable after item gains children
- Fixed sidebar query selection not updating on back navigation
- Fixed preserve other text styles when setting font weight
- Fixed word marked as misspelled while still typing it
- Fixed sidebar drag-and-drop ordering
- Fixed Copy as Bike Markdown excludes front matter
- Fixed some BikeMarkdown encoder/decoder bugs
- Fixed crash when creating heading after joining rows
- Fixed occasional crash on extension reload
- Benchmarking and optimization
-
Bike 2.0 (Preview) (262)
- Custom sidebar selection drawing without vibrancy
- Changed hide/show interface animation to not bounce
- Removed find/filter navigation from back/forward history
Fixes
- Fixed scroller flash when toggling hide/show interface
- Fixed link title editing broken by paste-link-to-selection feature
- Fixed fontWeight not overriding bold fontTraits in theme resolution
- Fixed crash when moving a row into itself via Move to Index Row
-
Bike 2.0 (Preview) (261)
- Added toggle interface button to toolbar
- Added theme-configurable separator colors
- Added navigation history for document boundary, find, and filter match jumps
- Pre-fill Save panel filename from first sentence of document content
- Path bar improvements, including hover-to-expand segment
- Detect indentation in plain text and RTF paste/import
Fixes
- Fixed Logs Explorer window close detection
- Fixed outline editor not becoming first responder on new document
- Fixed stale hover highlights when cursor is hidden during typing
- Fixed font descriptor resolution for theme fontFamily, fontWeight, and fontTraits
- Fixed Select All and large selections scrolling the viewport to the selection head
-
Bike 2.0 (Preview) (260)
- Added return key icon to Create Row
- Added appearance metadata field to themes
- Added anchored incremental search to the Find panel
- Added new Logs Explorer with additional logging sources
- Added a set of AI-generated themes as examples (starting points)
- Further refined sidebar selection behavior
- Removed filter field from the focus chain when collapsed
- Applied links to selected text when pasting rich linked content
- Preserved trailing whitespace for TextExpander and similar tools
Fixes
- Fixed a crash in typing animations
- Fixed a crash in Typography settings
- Fixed a crash during sidebar selection updates
- Fixed an issue where selection was not scrolled into view after moving rows
- Fixed an issue where the spelling panel would skip the next misspelling
- Fixed row controls acting on the cursor row instead of the clicked row
-
Bike 2.0 (Preview) (259)
Added
- Add Link to Row
- Pin Row command (⌘Y)
- ChoiceBox API. see
bike.showChoiceBox() - Themes & Theme API Lots of additions. Themes can now be used to style many comment elements, see “all features” example in
bike-extension-kit/api/theme. I think I’m done making big changes to themes. Now’s a good time to explore and report any problems you run into.
Fixed
- Sidebar selection logic is more polished
- NSOutlineView crash when deleting multiple sidebar items at once
- Empty
queryParametersno longer adds trailing?to URLs (broke Hookmark Mail links) - Autocorrect bugs: attribute extraction with substring offsets, race conditions with rapid keystrokes (I think!)
Changed
- Sidebar API:
addActionchanged toaddLocation - ChoiceBox UI is now a more standard flat list without preferences
- Show Commands now includes a more complete list of outliner commands
-
Bike 2.0 (Preview) (257)
- Added Sidebar (actions, index, pinned, queries)
- Added View > Hide Interface (⌘.)
- Added Outline > Move to Index Row
- Added Go > Focus Index Row
- UI Reversal, dropped glass, added more theming
- Removed
+shortcut for unordered list replacement (use-) - Standardized on term
levelacross AppleScript, API, and internal code - Fixed crash when opening links in Hebrew text (out-of-bounds index)
- Expanded theme support (see
bike-theme.jsonin bike-extension-kit)
API
- Added
Outline.observeChangesto see fine grained outline changes - Added accessors to row including
Row.ancestors, etc - Added
AttributedString.countto get character count - Renamed editor style
editor.focusModetowritingFocusMode - Limited Sidebar API to new
addActioncall - Updated
bike-extension-kitextensions to use new APIs.
-
Bike 2.0 (Preview) (254)
Holiday cooking is upon me—today: 15 lb of masa into tamales.
Unfortunately, this preview release is not fully baked, but it has already been
in prep far too long, so I am releasing it anyway. One major missing feature is
outline filtering. Lots of other rough edges too. If you are using preview
builds for real work, you may want to downgrade to build
253 after giving this version a
quick try.The biggest change in this release is the adoption of Apple’s new Liquid Glass
UI in Bike. I have arrived at a design that I like, but feedback is always
welcome. Hopefully it can be made even better. See the forums for discussion
about why the UI is the way it is.Added
- Empty row in new documents
- Move up/down (maintain level) commands
- Text wrapping keybindings (quotes, brackets, parentheses)
- Editor style functions:
selection-ancestor(),selection-descendant() - New Row API properties (
level,prevBranch,nextBranch,isAncestor,isDescendant) - Improved transaction options (labels, spring timing)
Fixed
- Markdown code span escaping
- Mouse cursor icon update issues
attributedString.replaceAPI bug- Keybinding prefix matching (full prefix required)
- Crashes evaluating some outline paths
- Pasting short (<4 char) plain text
- Outline path queries with multibyte quoted chars (e.g.
"ü") - Bikemd formatting: no escape after numbers like
1 hello - Delete-forward on empty line now reattaches children correctly
- Outline keybindings only activate when the Outline Editor has focus
- Editor redraw when moving between displays with different resolutions
- Multiple API crashes caused by invalid values (
null,undefined)
Changed
- Removed
selection-covered()editor style function .bikefiles now require markup; empty files created viatouchwill not open- Updated API definitions to reflect new Row properties and transaction options
-
Bike 2.0 (Preview) (253)
- Added outline metadata APIs for extensions.
- Added Edit > Paste > Paste and Render Markdown.
- Fixed Edit > Paste > Paste and Match Style.
- Fixed
selectTextAPI inJSOutlineEditor. - Fixed memory leak; memory should go down again when closing windows.
- Fixed ignoring front-matter in plaintext files unless
bikemd: trueis set. - Fixed default outline path search to be case-insensitive.
- Fixed error in
RTFEncoderthat could crash when pasting (PDF, etc.).
I’ve been working to make it easier for AIs to build Bike extensions. Part of that work is to show the AI how to use Bike’s AppleScript
evaluatecommand to test and debug code snippets interactively. These changes are to support that effort.- Added
explainQuerytoJSOutline. - Improved detail in error reporting from OSA Script
evaluatecommands. - Updated
WebViewDOMScriptManagerto accept inline scripts in addition to file paths.
-
Bike 2.0 (Preview) (252)
- Fixed Improved attribute handling when read/write
.bikefiles - Fixed
{"bikemd": true}frontmatter in Plain Text file opens content as.bikemd
- Fixed Improved attribute handling when read/write
-
Bike 2.0 (Preview) (251)
- Added JSON metadata to all supported formats
- Added Escape Markdown syntax (that you type) in
.bikemd - Added encoding of unordered rows with
+list marker in.bikemd - Updated AppleScript command to
evaluatescripts - Updated to no longer prefix attributes with
data-at runtime - Updated AppleScript
select rowbehavior to match Bike 1.x - Fixed focus mode paragraph
- Fixed Learn and Ignore Word
- Fixed paste into empty document
- Fixed invalid characters no longer breaking file load
- Fixed problems in save dialog when changing file formats
- Fixed cases where autocorrect was doing the wrong thing
- Fixed API bug that could include extra rows when removing or moving rows
- Removed Outline metadata APIs — a more flexible option will be added soon
-
Bike 2.0 (Preview) (247)
.bikemdis now strictly list-based.bikemdnow represents all outline data, using Pandoc attributes when needed- Updated runtime tag names to better align with HTML standards — for example:
link → a,emphasis → em,highlight → mark,strikethrough → s, etc.
Bike Markdown is still a work in progress, but I think a lot closer to a stable format now. More details in the forums and feedback encuraged! Known bugs at moment: Problems with code spans and horizontal rules. Also no escaping is being performed yet, so if you type in Markdown syntax it will be interpreted as such on next file load.
The changing of runtime tag names may break some things. For example those names are used in themes, so you’ll need to update any custom themes you have. Also if you have Bike Extension code the processes attributed strings, the attribute names will have changed.
-
Bike 2.0 (Preview) (246)
- Added Bike Markdown format (.bikemd)
- Added Edit > Copy > Copy as Bike Markdown
- Added to/from Markdown API
- Improved pasting links
-
Bike 2.0 (Preview) (245)
New
- Support for opening row links
- Multiple views of the same outline:
- Window ▸ Duplicate Tab
- Window ▸ Duplicate Tab to New Window
Improved
- Drag-and-drop animations
- Typewriting scrolling animations
Changed
- Use space key in block mode to toggle done
- Dropping a branch on itself now requires holding a modifier key
Fixed
- Document file extension settings
- Row handle clicks sometimes not registering
- Crash when opening a context menu in block-mode rows
API
- Extended Keybinding active modifiers API
- Changed
URLproperty names and mutability
-
Bike 2.0 (Preview) (244)
- Added drag and drop
Also added API to support drag and drop configuration through editor styles. Including:
context.isDragSource,selection-covered(),drop-indicator(), and new decorationcapabilities. -
Bike 2.0 (Preview) (243)
- Added Themes panel in Settings
- Moved Editor Style from View → Settings
- Moved Text Wrap (now “Line Width”) from View → Settings
- Fixed issue: commands no longer affect collapsed or hidden rows
- API updates (for extension authors only):
- selection.rows now returns only visible rows
- Renamed some items—update bike-theme-kit and rebuild. Type errors will appear if your extension uses renamed items.
Themes are currently quite limited. Goal here is to test the concept and basic implementation. I’ll add new capabilities in the future.
-
Bike 2.0 (Preview) (242)
- Fixed OPML file save/load
- Fixed restore split sizes on macOS 26 (Tahoe)
-
Bike 2.0 (Preview) (241)
- Added spelling highlights when typing
- Added find highlights when Command-F finding
- Added search highlights when Command-Shift-F searching
- Active Bike when calling New Document from Dock menu
- Fixed
document.frontmostWindowAPI to not always return null
-
Bike 2.0 (Preview) (240)
- Added Format > Add Link
- Added Format > Show Formatting…
- Added Context menu to outline editor
- Added text replacements (spelling, zzz, etc) on Return
- Highlight active replacement (last, before caret moves)
- Fixed some text rendering issues with RTL text (not all)
-
Bike 2.0 (Preview) (239)
- Added Crash reporter
- Printing shows current focus/folds
- Fixed problem saving as Plain Text
- Fixed Vietnamese (and other) text input problems
- Fixed launch problems on earlier macOS 15.x releases
-
Bike 2.0 (Preview) (238)
- Added License panel
- Added Preview release indicator
- Added Text caret to empty outline
- Added View > Editor Zoom
- Added View > Editor Style (Moved from Window menu)
- Added Restorable state for folded rows
- Added Restorable state for View > Text Wrap, Focus, etc
- Reorganized settings panels
- Changed some of the theme and settings API
- Fixed repeat clicks (now work) on decoration buttons
- Fixed some broken caches, performance is a bit better
- Fixed broken scroll correction, scroll to end of document, etc
Implemented many settings “per editor”. If you change that setting (such as Text Wrap) then it will effect the frontmost editor and also set a new default that new editors will use. Any already open editors will keep their current value.
-
Bike 2.0 (Preview) (237)
- Fixed to embed latest “Bike (default)” style.
-
Bike 2.0 (Preview) (236)
- Added Keybindings API
bike.keybindings.activeModifiers - Added Option-Click on row handle to expand/collapse completely
- Added Hide declared API command from palette by starting name with
.. - Implemented View > Text Wrap menu
- Implemented View > Focus Mode menu
- Implemented View > Typewriter Mode menu
- Fixed Control-o to split line
- Fixed Hide Statusbar menu item label
- Fixed Delete focused row doesn’t crash
- Fixed Crash when undoing deleted rows in some cases
- Fixed Keybindings API initial state in new documents
- Fixed Crash when opening completely empty .bike/.opml files
- Fixed Unit tests running again. Doesn’t effect release, but it’s been a while :)
I had said I would get settings connected this release. Didn’t quite make it, but I did get lots of other features implemented and bugs fixed.
- Added Keybindings API
-
Bike 2.0 (Preview) (235)
- Improved block quote styling
- Improved block selection styling
- Changed
mergeDistancestyle property tomergable - Fixed crash when Option-Return in line with spaces
- Fixed
editor.transactionAPI to return result of passed closure - Fixed block selection to show selection for all rows, not just ends
Lots of work on styling internals that enables new rounded styles for block selection and blockquote rows. Also refined decoration animations to stay in better sync with text content.
-
Bike 2.0 (Preview) (234)
- Added blur behind moving rows
- Added
mergeDistanceto decoration style - Renamed
OutlineStyletoEditorStylein API
When mergeDistance is set similar decorations (equal style & nearby frames) are merged together into an irregular shape. This makes it possible to draw nice exterior borders and rounded corners around decorations that span multiple runs. In a future release I hope to make this work for text and row decorations too.
-
Bike 2.0 (Preview) (233)
- Added click focus to focus in/out
- Added click handle to expand/collapse
- Added click link button to open link
- Added API to add commands to decorations
- Added CommandContext to CommandAction in API
- Added commandName to Decoration style, removed action
- Fixed effectiveRange parameter in AttributedString API
-
Bike 2.0 (Preview) (232)
- Animations polish
- Don’t fade removed rows
- Snap caret when text wrap changes
- Bounce row and caret on split/join (souring on it)
- Improve focus in/out animations
- Improve scale animations (used during filtering)
- Fixed decoration sizes when zoomed out
-
Bike 2.0 (Preview) (231)
231:
- Fixed MORE crashes when reading some unicode
230:
- Added Printing
- Added Finder Preview
- Added Finder Thumbnails
- Fixed clipboard read/write text APIs
- Fixed crash when reading some unicode
-
Bike 2.0 (Preview) (229)
- Added back Find Count
- Added back Text Checking
-
Bike 2.0 (Preview) (228)
- Added back Sort Rows
- Added back Group Rows
- Added back Delete Rows
- Added back Duplicate Rows
- Added back Find & Replace
-
Bike 2.0 (Preview) (227)
- Added back Shortcuts
- Added back AppleScript
- Added back Copy/Paste of rich text
- Added back Go > Back / Forward navigation
Lots of porting Bike 1 code to Bike 2 this release.
I’ve ported Shortcuts and AppleScript support from Bike 1.x. Generally same
features, but with a few wrinkles. For example Bike 2 doesn’t have hoisted rows,
so that API is removed. Also Bike 2 adds run script commands to run Javascript
code in extension app context. -
Bike 2.0 (Preview) (226)
- Fixed crash when opening Window > Outline Path Explorer
Finished user guide documentation for the updated extension system. Also finished related screencasts:
-
Bike 2.0 (Preview) (225)
One step back, two steps forward.
Lots of changes to the extension system. Lots of internal changes to style and
layout systems. Likely introduced some new bugs in the process, but cleaned up a
lot and will get to fixing visual bugs next.High level extension system changes:
-
In previous releases Bike would automatically build extensions for you.
That’s been removed. Now use the Bike Extension
Kit to build extensions. -
In previous releases styles and extensiosn were separate. Now styles are a
part of the extension system. Calling them outline styles now instead of themes. -
New documentation and tutorials to explain it all.
-
-
Bike 2.0 (Preview) (224)
- Added
Outline.getRowById - Fixed Outline Path Explorer window to update
- Removed
sourceparam from Keybindings an Commands APIs
- Added
-
Bike 2.0 (Preview) (223)
- Fixed some memory leaks
- Added
AttributedString.toHTML() - Fixed spelling of
AttributedString.subsringmethod - Added
host_permissionsmanifest key. To use thefetchAPI your extension needs both thefetchpermission and the fetched URL needs to match one of the patterns inhost_permissions.
-
Bike 2.0 (Preview) (222)
- Added Window > Log Explorer for extension developers
- Changed postMessage and onMessage API to use Json instead of strings
-
Bike 2.0 (Preview) (221)
- Improved extension error logging
- Relaxed base
tsconfig.jsonsettings - Added
orderingsupport to sidebar items - Updated Creating Extensions documentation
- Added github repository to share Bike extensions
-
Bike 2.0 (Preview) (220)
- Added bike.commands.toString for debugging
- Added bike.keybindings.toString for debugging
- Added
valueto all cases of OultinePathValue - Fixed keybindings to again recognize modifiers
- Fixed keybindings documention, use - as separator
-
Bike 2.0 (Preview) (219)
- Added
fetch(fetchpermission) API - Added
outlineEditor.observeSelectionAPI - Added
window.observeFrontmostOutlineEditorAPI - Added more editor API for folding and focus testing
- Changed some fields in
outlineEditor.selection - Removed network access in DOMScripts (fetch should always fail)
I have added an example inspector item to the @Bike extension that puts these
changes together. To try it out fully select a word in your outline. You should
see a list of synonyms show in the inspector. Dig into the @Bike extension to
see how it works… but the basic idea isfetchhappens in the app context. It
requires thefetchpermission. It sends results to the DOMScript context.Questions welcome!
- Added
-
Bike 2.0 (Preview) (218)
- Added
bike.showAlertAPI - Added
window.presentSheet(domScriptpermission) API - Added
window.inspector.addItem(domScriptpermission) API - Added URL open method and other URL (
openURLpermission) API - Added type parameters to clipboard API
- Improved zoom animations when filtering
- Show selected rows at full scale when filtering
- Moved bike provided extension code from @Startup to @Bike
- Fixed
console.logoutput to show in Safari inspector - Fixed sidebar clicks to work when multiple windows open
New release! Big effort this time around is giving extensions the ability to
display their own UI in WebViews. Along the way I also managed to reorganize a
bunch of things. Please see discussion in the forums. - Added
-
Bike 2.0 (Preview) (216)
- Added
setMetadataandgetMetadatato outline API - Fixed memory leaks and reloading extensions after code change
- Fixed problems with extension defined keybindings that used modifier keys
- Fixed
<ul>element (root row) attributes to round trip through Bike format
- Added
-
Bike 2.0 (Preview) (215)
- Added sidebar live queries
- Fixed layout bugs (more remain)
- Fixed some memory leaks
Sidebar queries are configured by the extension API. If you have run a previous version of Bike 2 a @Startup extension is installed that doesn’t use that API, so you won’t see live query. If that’s the case you can delete that @Startup extension, and then restart Bike. A new @Startup extension will be created that uses the new API. To do this:
- Open Bike > Extensions… menu item.
- In the Finder window that opens, delete the @Startup extension.
- Restart Bike.
Now when you create a heading in your outline it should show in the sidebar under “Headings”, you might have to expand “headings” to see it. You can modify your @Startup extension to create your own live queries.
-
Bike 2.0 (Preview) (214)
- Added ability to provide id for new rows.
- Added extension API tutorial
-
Bike 2.0 (Preview) (213)
- Added extension API for row text
- Added extension API to create outline from query
- Changed extension API import / export options
- Fixed filtering to select first match in block mode
- Fixed pasting when in text mode (ie Raycast emojis)
- Fixed keybindings breaking after command-tab away from Bike
- Fixed named keys (such as
spaceordownarrow) in keybindings
-
Bike 2.0 (Preview) (212)
Extension API Changes:
- Added
Outline.insertRows,Outline.moveRows,Outline.removeRows - Added
Outline.query,Outline.scheduleQuery,Outline.streamQuery - Added
Outline.importRows,Outline.exportRows - Fixed
console.logto show in Safari insprector and Console.app - Fixed Outline Path Explorer to always show frontmost outline view state
- Fixed live reload of @Startup extension
- Added
-
Bike 2.0 (Preview) (211)
- Simplified Outline > Folding
- Added filtering (Shift-Command-F)
- Added extension API: Commands, keybindings, sidebar items
-
Bike 2.0 (Preview) (210)
Automatic software update is broken for this version. Fixed for next… I think! You’ll need to download and install manually.
The focus of this release is on themes and outline paths. Themes have changed a lot since the previous preview release.
Learn more:
- Watch theme building tutorial
- Read in progress Bike 2 Guide
-
Bike 2.0 (Preview) (209)
- Added software update
- Polished selection model
- Started outline search/filtering. Work in progress
- More app infastructure, including settings. Much of it is not connected