Download
Ark can be used freely, but it is limited to 1 seat.
If you like what you see but don't need any extra seats, please consider making a Donation to support its development.
In case you need extra seats, you can get a license. We have what we consider one of the best license approaches out there, you can get full information on the Pricing page.
Feel free to stop by Discord or consider subscribing to the mailing list to get updates.
Latest Release
2024/05/12
Features:
- MacOS server / cli / gui!
- Reworked how notifications get sent, they now are sent based on connection id and not user id (this means that if the same user is connected from 2 machines, he's up to date with notifications)
- Tooltips now have a delay before showing
- Moved Open App Folder from Debug to File menu
- Changed font to be 18pt by default, this way if somebody thinks font is too small they can scale it down and look better than scaling smaller font up
Past Releases
2024/05/02
Features:
- Added support for defining default app to launch for file / extension
- Double-Click now launches default app for that file (if defined)
- Alt + Double-Click now launches diff app depending on context (i.e. in history it launches with that version and the previous one, with other panels it uses local version with previous)
- Refactored how history diff menu is handled, now when in the history it will compare the version from that cl and not the local version
- Added support for shift + click in changes to select ranges within same changelist
- Ipv6 address input support in format [ip]:port
- Upgraded jai to 0.1.089
- Upgraded glfw to 3.4
- Upgraded imgui to 1.90.5
- Upgraded OpenGL to be 4.1 to match between Windows and upcoming MacOS version
Fixes:
- Server not clearing auth token when it was expired and the user logged in with password
- Server not loading the license
- Horizontal scrollbars now always visible to prevent flickering edge case
2024/04/20
Fixes:
- Fixed branch creation when we wouldn't immediately switch to it
- Fixed branch graph being broken after new branch was created until ark was relaunched
- Fixed reconcile not handled correctly when files with the same start had to be reconciled (e.g. deleting folder/file.txt and folder/file.txt_old)
2024/04/10
Features:
- Communication encryption, via TLS. Servers create their own certificate / private key on launch for convenience, but also supports dropping one there
- Login refactored so that the server now tells you if you're setting password or not, and if so you're now presented with confirm password field
- Changed logging to be tied to connection
- Started changing how logging is handled so that in the future we can more easily get bug reports that hide any important data
- Reworked how the whole network was setup. Now memory usage is far more under control when pushing huge shelves
Fixes:
- Fixed cli clients not saving logs
2024/03/17
Fixes:
- Changed how listen sockets are setup in order to allow immediate reconnect if crashed
- Fixed deserializing corrupt network messages (e.g. random ips connecting to server)
- Fixed current selected workspace not being properly saved / loaded
- Fixed crash from right click on cl -> download changes when there wasn't already a version of the file locally
- Fixed adding new project
- Fixed bug that would cause to never reload .ark_ignore when it didn't have any entries
- Fixed when OS discards file system events inside a child folder also discarding events from files in upper levels that we'd never know were changed
- Fixed launching server without -port parameter would use the default 9000 port instead of the port saved in the server config file
Notes:
- If you open an older project, depending on the size, it may take a while before ark loads and becomes responsive, given that in this release we upgrade the servers in order to compress all files stored
2024/03/13
Features:
- New ignore / lock file semantics. Please check documentation for more information (tl;dr: * supported in the middle and ! at the start of entries for exclusion)
- New Ignore Inspector panel (Views->Ignore Inspector), to help you understand why something is or isn't ignored in your project
- Refactored how ws_files are created, including caching of relative paths
Fixes:
- .ark_ignore file incorrectly reloaded when we couldn't open the file (e.g. text editor had a hold on it). We now will keep retrying until we achieve success
- Client crash when opening a workspace that is in a changelist that doesn't exist in this project
- When the server receives Ctrl+C or crashes we try to close the listen socket in order to be able to bind to it straight away
Notes:
- If you open an older project, depending on the size, it may take a while before ark loads and becomes responsive, given that in this release we upgrade the servers in order to compress all files stored
2024/02/26
Features:
- Windows version now has an icon, making it more distinguisable in the taskbar
Fixes:
- Bug that would disconnect new users without password with unknown user error
- Bug adding / editing connection that wouldn't properly set default host / port
Notes:
- If you open an older project, depending on the size, it may take a while before ark loads and becomes responsive, given that in this release we upgrade the servers in order to compress all files stored
2024/02/19
Fixes:
- Improved performance building the branch merges in changelist history when multiple branches are involved
- Fixed horizontal scrollbars in log, changes and changelist details panels
- Changed diff context menu to show the last 10 entries and place older ones under a sub-menu
Notes:
- If you open an older project, depending on the size, it may take a while before ark loads and becomes responsive, given that in this release we upgrade the servers in order to compress all files stored
2024/02/16
Fixes:
- Fixed bug introduced with utf8 fix from 0.6.1 that would make committing a lot of files extremely sluggish at the start
- Refactored network packet strategy in order to be more friendly for remote connections and Linux
- Limited the amount of requests handled, to limit the amount of memory allocated when pushing very big changelists
Notes:
- If you open an older project, depending on the size, it may take a while before ark loads and becomes responsive, given that in this release we upgrade the servers in order to compress all files stored
2024/02/07
Features:
- License changes, now Indie and Business licenses include the free seat from the Free version
Fixes:
- Bug with not using utf8 when trying to get the ws_file based on path
- Bug preventing opening shelf window when the workspace changelist it is tied to is empty
- Incorrect determination of common root changelist when trying to switch between branches if there's a non committed cl along the way
Notes:
- If you open an older project, depending on the size, it may take a while before ark loads and becomes responsive, given that in this release we upgrade the servers in order to compress all files stored
2024/02/05
Features:
- Linux server support
- Linux cli support
- Crash dump support: minidumps in Windows, fulldumps in Linux (requires gcore installed, which is part of gdb)
- Seats-based server license support (free version has 1 seat)
- Files are now stored compressed, making servers use 40-50% less space depending on data
- Cli commands implemented / improved: server, init, switch-branch, get, user-list, user-add, user-edit, project-list, branch-list, branch-add, changes, revert, commit
- Revamp of how cli commands are handled (more commands added, and now parameters are explicity, e.g. -email instead of -e)
- git-import cli command, which can be used for copying 1 branch to an Ark server (this was added for testing purposes, but may be useful for somebody)
Fixes:
- Bugs on server when a client would crash in the middle of a shelve
- Bugs on client when the server would crash in the middle of a get / shelve
Notes:
- From this version on, the zip will include ark.exe and ark-linux binaries for Windows and Linux respectively. Currently only x64 versions
- If you open an older project, depending on the size, it may take a while before ark loads and becomes responsive, given that in this release we upgrade the servers in order to compress all files stored
2023/11/03
Fixes:
- Manual merging not launching merge app
- Merging branches with multiple changelists that changed the same file not identifying that there was no conflicts
Notes:
- There were a lot of changes to saved formats to support branches, so this is the only version that will upgrade from versions < 0.5.1. From the next update, all that code to support these data version changes will be removed since it doesn't make sense for the project to carry on that tech debt
2023/11/02
Features:
- Added branching and merging support (full + cherry pick)
- New history panel more focused on visibility of branches
- Added branch colors, which can be changed and synced across the whole project
- Added Keep Theirs / Ours merge options in addition to Merge Manually
- Improved how we're listening to OS filesystem changes
- Stats panel a bit more compact
- Optimization pass for handling big changelists / commits / repos _much_ faster
- Added new icon to indicate a file has merge information
- Files are now alphabetically ordered in workspace changelists
- Bumped data version to 3
Fixes:
- Fixed lock assets not properly handled on launch
- Fixed crash when children files would get asset ids before the parent ids were received
2023/08/11
Features:
- Added support for "unique" utf8 file names
Fixes:
- Fixed proper identification of file name when files with ascii only letters were renamed
2023/08/04
Features:
- Added Shelves support
- Data version upgraded from 1 to 2
- Added shelf and commit times
- Added tooltips for workspace files
- Added way to clear / mark the log
- File context menus now allow to copy id, size and checksum
- Added support for high dpi screens, it defaults to auto (ie asks the monitor), but can be overriden in preferences
- Added mechanism to check manifest integrity, runs by default when version changes
- Improvements to Changelist / Shelf windows to be able to inspect every revision
- Empty workspace changelists now get automatically deleted (unless they are a shelf or a comment set)
- Improved diffs support via context menu
- Normalized how cl and asset ids are assigned (now at the project level, refactor necessary before tackling branches)
Fixes:
- Improved situations that because of way Windows would flag FS changes inside folders, it would cause Ark to reconcile the whole project when it didn't need to
2023/06/09
Features:
- Added locking support
- Added notifications (i.e. one directional messages between client and server)
- Added UI notifications (i.e. notifications that show up in the UI and the user has to interact with them)
- Added Ark window taskbar icon flashing when there are new notifications (will flash until selected)
- Added notification for users to know there are new changelists committed
- Added notifications for locks (locks received, lost, requested)
- Committing now allows you to keep hold of your locks
- Added support for "open with", allowing you to define application entries to open files
- Added context menu to commit/changelist/file windows
- Added context menu to log panel that allows you to open the log file / folder (if you're running a built-in server you can access that too)
- Added -app-folder parameter that can be used to launch with different app folder name
- Added preference to choose if you want to have the console for the built-in server visible or not
Fixes:
- Fixed getting a lot of assets (e.g. initial sync of an ongoing project), where it would cause it to jump back and forth to the same manifest and could cause the manifest entry to not be offset properly
- Fixed incorrect de-serialization of multi line strings
- Fixed rendering edge cases of ws_files
- Normalized rendering of ws_cls with multi-line comments across multiple places
2023/04/24
Fixes:
- Fixed usage of getenv Windows API to _wgetenv (the former would only work with ansi usernames...)
2023/04/24
Features:
- Reworked workspace creation to be more streamlined for first workspace
- Added support for built-in (aka local / personal) server
- Added support for auto reconnect
- Added ignore support for exact match (instead of using begins with)
Fixes:
- Fixed log panel scroll to bottom
- Fixed merge / diff argument hints not being used as the arguments when no arguments were supplied
- Fixed bug with "failed to open manifest" when trying to diff a file that belonged to the same manifest chunk we just had opened to append another asset
2023/03/08
First version.