Flow 1.0.4 (09/4/18)
An update to the HTML – and a few other things.
We launched with a strong iOS export. Here, we make amends to all the lovely web people who have given Flow a run for its money:
- Don’t include empty css animation blocks in html export for non-animated layers
- Fix anchor point animations in html.
- Add ability to export animation tracks with multiple keyvalues in html
- Add ability to export step function easing curves in html
fix border width animations in safari and chrome
- Fix rotation export in HTML
- Fix exporting flipped vertical and flipped horizontal properties in html export
There’s more HTML improvements on the way, but this is a pretty decent step for now.
And, a few SVG updates to accompany the ones above:
- Don’t scale width of border when scaling SVG
- Fix SVG scaling
- Adjust SVG path string precision
A bit of a tune-up for iOS export:
- Patch strokeEnd Animation bug in iOS export
- Correctly animate border width in iOS export
- Export images into iOS as 1x
- Set initial corner radius of layers in exported ios projects
- Fix exporting contentMode in iOS export
UI / UX
To make Flow just a little bit more lovely to use, we improved the following things:
- Prevent insert shape drop down menu icon from being cut off
- Allow zooming of timeline with track pad
- Allow users to create timelines using one artboard
- Fix the checkboxes in the export panel so that clicking on their associated titles checks/unchecks the check box.
- Update code preview when switching to new timelines
- Add border color, border radius and border width code snippets to CodePreview
Tuning up how to spit out code:
- Move to the trash any previously exported timelines when reExporting the same Flow document
- Support exporting content mode of image layers in iOS and HTML
- Support exporting borders in iOS and HTML
Bugs & Crashes
- Fix bug causing flow files to become corrupted
- Fix crash occuring when resizing layers to 0x0
Flow 1.0.3 (08/8/18)
Here’s a few new things we updated this week.
A tiny bit of polish.
- Polish shape menu (kinda)
- Add hot keys to change focused timeline
A critical update to how we save files.
- Prevent bug whereby saving flow document can potentially corrupt the flow file
- Prevent crash when loading code preview
- Fix crash happening when user tries to bring up feedback window and main Flow Window is hidden or inactive.
Improved format for exporting code.
- Fix path animation on HTML export
- Store exported code in top level directory named after Flow Document
- Export timelines into separate folders
- Use unique bundle identifiers for every exported timeline
- Avoid overwriting timeline folders when timelines have the same name in the flow document.
Flow 1.0.2 (08/1/18)
Critters, everywhere, but not too many thankfully.
- Fix problem causing scene to be invisible in Flow for users on macOS
- Fix undoing an attributed string change
- Keep the playhead within the focused timeline’s duration after switching, adding or removing timelines
- Prevent crash due to stage drag handlers not having time set
A tiny addition.
- Added Dropdown for inserting new shape layers into Flow document
Always tightening this one up.
- Fix exporting of attributed string
- Use triple quotes swift syntax for multiline strings. (Makes it easier to read multiline the strings in exported code)
- Escape quotations in single line string in Swift export
Tuning up the web export – a very different structure than iOS, so we’ll be constantly updating this bit.
- Add top level art board element to HTML export
Flow 1.0.1 (07/23/18)
- Fixed a crash when scaling keyvalues
- Fixed iOS export when exporing multi-line strings in text fields
- Fixed lineJoin / lineCap export to iOS
- Fixed shadow offset for Y property when exporting
- Squashed a bug causing Flow to crash when opening a file that had its properties panel collapsed
- Draw title of property tracks in blue
- Open/close group icons in Timeline when expanding and collapsing group layer
- Added the ability to use the property panel to change the start/end time of multiple keyvalues
- Updated syntax highlighting to support multiline strings in code preview
- Can now print multi-line strings for attributed string text in iOS Export
Flow 1.0.0 (07/16/18)
Version yum point oh. Here we have the changes we’ve made since release 0.7.2 a few weeks ago.
The pretty, important things.
- Fixed white spot appearing in corner of hierarchy panel
- Use the user display’s color space instead of generic color space (looks more like Sketch colors now)
- Added dividers to the top of timeline headers
- Added a tiny little label that says “Timelines” in Timeline Hierarchy Header view
- Created a consistent blue color, applied it throughout the app’s style
- Updated button style and size top bar
- Updated style of timeline ruler view
- Added a shadow, and a tiny border (can you see it) to to scene to improve contrast between scene and stage
- Stopped drawing easing curves if there’s no space between keyvalues
The things that will make you smile, a.k.a the things that would make you not smile if they weren’t there.
- You can now increment layer property values by pressing up and down keys while your cursor is in their textfields on the properties panel.
- You can also increment in the keyvalue time fields
- Created a nice way of translating dev-speak to friendly language for error and alerts that pop up.\
- We now center the main artboard to the stage when switching between timelines, or opening new files.
- Add relative mode button that lets you change the values across all keyvalues for a property throghout the entire timeline.
- You can now snap the playhead to keyvalues on the timeline
- Fixed up how keyvalues snap to tick marks in the timeline header
- Timeline hierarchy and tracks collection view rows are in sync when collapsing and expanding (they were in a fight before)
- The stage now zooms relative to currently visible center of stage view
- Pause playback when dragging on the touch bar
- Added a bunch of tooltips
- Prevent interaction with trackview components which do not belong to the focused timeline (e.g. you can’t move the keyvalues of a Timeline that isn’t focused)
- Collapse and expand track views appropriately when switching focus to a new Timeline.
- Save flow version used to create flow file in .flow file
- Only show permissible easing curve functions in multi-keyvalue properties panel
- After copying keyvalues, you can now paste in place
- When moving layers on stage, you must now hold down command in order to snap layers to guides and edged, etc. (was the other way around before)
- MEGA performance increase by improving the signals infrastructure
- Improved stage performance when handling all timeline changes
- Improve sound track drawing performance
Here’s what we did to help you get media OUT of Flow…
- You can also export the current frame as PNG.
- Updated the compression settings for MP4 to Apple ProRes4444 / .mov < better quality than before.
- Hidden layers were getting through, now they down when exporting to Gif, PNG or movies
Here’s what we did to help you get code OUT of Flow…
- Added crypto utilities and verify digital signatures
- Added launch story board to exported iOS projects
- Added a block to suppress animations when creating views in a ViewController
- Added an app icon to exported iOS projects
- Export layer flipping on iOS (sometimes things were upside-down)
- Add even-odd fill rule on export (now you can have complex shapes with holes cut out properly)
- Timeline you’re exporting now gets slipped into a view that is centered in the exported iOS project
- Dash offset values are now exported
Bug Fixes (General)
Things that should have worked in the first place…
- Copying and pasting text layers within Flow
- When pasting keyvalues onto another layer, prevent unnecessary extension of timeline duration
- Remove track if necessary after keyvalue pasting operation
- Fixed a rounding bug in PasteKeyValuesForTrackCommand
- Load source file from archive if Sketch file can’t be deserialized
- Clip values inputed by user in textfields in properties panel and keyvalues panel (e.g. can’t make the stroke end 100)
- Fix undoing deletion of layers
- Prevent sizes from being negative while being changed by relative mode
- Update resizing constraints after resizing layers
- Fix problem when resizing timeline
- Insert tracks at proper indicies in timeline hierarchy
- Update selection in timelineView hierarchy when expanding nodes
- Expand nodes in the timeline hierarchy to match ^
- Updates position of playhead scrubber properly
- Fix calculation of snapped time in TimelineView Model
- Fix rounding issue in snapToClosestTickTime method
- Apply User settings when reopening document
Bug Fixes (Code Export)
More things that should have worked in the first place…
- Fix shadow export
- Fix path export
- Fix font export
- Fix export problem for rotations during reset
- Fix exporting mask animations in iOS
- Fix animation flickering in iOS
- Fix miter limit when exporting HTML
- Fix exporting of Textlayers whose fonts are not found on users system
- Fix path animations on iOS export
- Fix dash pattern animation export
- Make sure shadows don’t show when shadow color is clear
Crashes & Beachballs
Things that shouldn’t happen…
- Stop flow from crashing when selecting timeling after opening flow file with properties panel collapsed
- Prevent user from selecting empty playback range causing crash
New tidbits you can change in Flow…
- Added Dash pattern offset property
- Added a flipping panel with segmented control
- Converted horizontal/vertical flip properties to be non-animating
- Created a property panel for dash pattern keyvalues
Improvements to the code preview window…
- Added a new custom black code preview style
- Added a tiny little message to the code preview window when no layers have been selected
- Added a split view to handle layout code on the left, and animation code on the right
- Updated the aesthetic of the code preview window (styles, colors, fonts, etc)
A few things audio…
- Ensure sounds can be played when reopening Flow file with sound in it
- Set max duration for sound tracks to 30s (sorry, you won’t be able to listen to Over the Hills and Far Away)
There’s only a few bullet points in this one, but it was a lot of work that made Flow immensely better…
- Save normalized paths so that manipulating width or height of layers doesnt affect path property of shape layer
- Add path equalization to enable path animations
- Use normalized paths everywhere
Flow 0.7.2 (06/29/18)
A little hot fix for your Friday afternoon.
SHADOW IMPORT/EXPORT BUG FIX
Thanks to some lovely feedback we received today, we found that we weren’t properly importing shadows from Sketch, or exporting them to code.
- Set default shadow opacity so shadows are visible in Flow after importing.
Flow 0.7.1 (06/26/18)
Are you thinking to yourself… “Didn’t they update yesterday?”
Yessss we did.
TIMELINE BUG FIX
There was a bug on the timeline that we found shortly after releasing.
- Fixes an area selection bug where keyvalues weren’t being selected after scrolling downwards quite a ways (for animations with lots of tracks).
Flow 0.7.0 (06/25/18)
Right, so usually I like to try and organize these release notes into categories so you can see a little easier just what we’ve been up to. Buuuuut, this time… there’s just too much, and I’m on my second cup of coffee, and there’s about 10 other things to do, and we’re trying to get to a V1.0 in a few weeks, so really…
The big news is…
This one is so butter. We’ve rebuilt the timeline so that it can handle 2 mega things:
- Zooming! - Yes, you can zoom in an out.
- Area Select! - MMMMMM, you can use your mouse to select a bunch of key values.
The timeline is so sweet now.
Also another biggie. We’ve dramatically improved performance. It’s not easy balacing time and space, but we hope this new version is definitely less beachbally than the previous release.
All The Other Things
The list was too long to wrangle this time, so here it is:
- Execute selection and deselection of hierarchy rows on main thread to ensure they don’t interfere with reload
- Fix grouping moving and ungrouping nodes
- Archiving tests
- Fix timeline hierarchy update problems
- Fix Timeline Selection bugs and crashes
- Dont resize group when removing one of its sublayers
- Fix moving layers command bug
- Fix reloading of tracks
- Made open folder button at TemplateExportProgressWindow
- Performance improvements
- Fix release problems
- Updater fixes
- Made dashPattern panel
- Fix problem when computing row changes
- Reload before expanding and collapsing
- Enable live resizing optiosn for root layers
- Handle updating the timeline when grouping and ungrouping and moving layers in hierarchy
- Fix Bug preventing the deletion of tracks when deleting layers.
- Snap play head to visible tick marks when dragging playhead and holding down CMD
- Copy/Paste Tracks
- Fix eye Icon bug
- Fix soundTrack insert removal indexing bug
- Fix keyvalue scaling
- Fixed the logic for fading step right and left function
- Fix drag and drop
- Bug FIX: Clicking on easing curve in track should pop up easing curve controller”
- Fix algin keyvalue undoing
- prevent splitting step left right and middle animatins
- Fix crash when area selecting out of range in timeline
- Polish panels background colors and broders
- Fix bug causing crash when removing first timeline
- Set timeline cursors via cursor rects
- Update DevMateKit to latest version
- Show correct time in timeline pop up when dragging past beginning or end of timeline duration.
- Fix problem where tracks would be cut off when resizing
- Add TimelineHierarchyViewModel fix crashes
- Allow splitting of layer and timeline Tracks
- Add keyvalue hitting radius to metrics
- Add pop up back to timeline
- Added functionality to grey out sound and shape in the insert menu.
- Polish timeline esthetics
- Add file for defining night build pipeline
- Implemented hand tool functionality in timeline
- Check export directory and print better error
- Added Tests for ExtendTimeline and ScaleTimeline commands
- Reduce memory use
- Usee all available size for timeline content view
- Track cursor when dragging
- Release script improvements
- Remove unnecessary
- Fix flow file openning
- New timeline
- Fix memory leaks
- Changed the stage background color for light theme
- Fixed adding sound bug
- Update stage colour
- verify code signing in Release script and sign embedded libraries in Flow
- Move Angle.swift to FlowCore and Make FlowCore a dynamic library instead of a static library.
- Multiple applications of Keyvalue Distribute and Alignment commands should not have any affect after the first one.
- Removed shadow opacity property
- Added a test to check that anchor points dont move while scaling a middle KEyvalue
- Allow selection of sublayers that our outside of groups bounds
- Remove unnecessary resizing of group during grouping command
- Polish Multi keyvalue info panel
- Adjust timeline selection box stroke and fill
- Clip values of properties when they exceed or subceed max and min values respectively
- Additional features for the scale and clip/expand popup box in timeline
- Add timeline zoom slider
- Give user feed back when clicking on keyvalues align distribution icons
- Fixed minior alignKeyvalue bugs
- Added timelineselectionBox fillcolor
- Hook up keyvalues alignment/distribution Buttons to Commands
- Allow selection of sublayer outside of group bounds
- Create Sound Drag Handler Use trackView in stead of SoundTrack View.
- Implemented DistributeKeyvaluesAcrossTracksCommand
- created Distribute Keyvalues within Track and Tracks Commands
- Add resize group to fit menu item
- When clicking on timline or layer keyframe not all selected keyvalues (not in key frame) are deselected
- Implement dragging keyframes
- Fix KeyFrame Selection
- Add basic keyvalue alignment
- Have only one timeline expanded at a time
- DuplicATING keyvalues via dragging in timeline
- Added relative changes mode
- Implement Scaling of keyvalues with TimelineView via dragging
- Remove refitting of group when moving sublayers
- No longer re-fit group after resizing
- Fix area selection box drawing
- Optimize dragging of multiple keyvalues (without scaling) and fix selection bugs when dragging.
- Fix duration undo titles prefill text field
- Add scale and expand options to duration
- Grouping Fixes
- Correct playback selection when scrolling the timelineView
- Fix undo for deleting tracks
- Cleaned up timeline playback range selection
- Fix Move Keyvalues bug when dragging to the left past t =
- Move drag tolerance to base gesture handler only invoke timeline area select hander when drag does not start on to of keyvalue or keyframe
- Added timeline zooming
- Move Multiple Keyvalues
- Add ability to select keyframes
- Handle time range selection
- Add TimelineAreaSelectHandler
- Create TimelineGesture handler
- Refactored selection logic in timeline fix selection bugs
- Allow dragging after clicking to set animation position
- Created TrackRowView
- SyncUp vertical scrolling for tableview and outlineview of timeline
- Round time when checking for key values
- Clean up timelineView UI
- Changing coordinates of view when clicking timeline
- Split TimelineView into An Outline View and a TableView to Enable Zooming and panning in the future
- Save scene scale and offset to document
- Changed keyvalues time panel checks round earlier on property textfields linted
- Removed unused connections
- Remove unused TrackViewControllers when track nodes are removed from node hierarchy
- Deselect keyvalues on brief mouseUp
- centred small artboards in sketch
- Move logic from trackview into VC
- Added scaling keyvalues on multikeyvalue panel
- Create pastekeyvaluesintolayer
- Keep selected keyvalues selected if clicking on selected keyvalues
- Keep keyvalues selected if shift click in timeline
- Let multi-keyvalues panel call set animation curves command
- Always round edges of tracks
- Update copy keyvalue structure
- Made start and end time editable for multi key value panel
- Made ScaleKeyvaluesCommand
- Draw left and or right side of keyvalues and track sections squared off when step animations are present to give user visual cue of step animation
- Make left and right arrow keys move timeline scrubber
- Change which extract function called
- Made step track colours lighter
- Fix layer resizing problem
Flow 0.6.0 (05/19/18)
Another wicked release coming your way, brought to you by the lovely Flow team.
Sketch 50 beta came out, and things broke again, but we fixed them:
- Importing paths
- Importing images
- Importing text layers
All work again.
Like music to my ears. This is one I’ve been waiting for for a long time.
- You can select multiple key values.
- And copy them…
- And paste them…
- Which requires some backend majique to remove redundant keyvalues
- And also requires a much needed Multiple Keyvalue info panel
- To make things easier we created some backend copy / paste helpers
- Made sure the easing curve option ignore keyvalue pairs with the same value
- Improved copy infrastructure
A New Step Curve
Ever feel like you just wanted to be somewhere else right now? Well, until today, so did keyvalues. Now you can set a special kind of curve between two keyvalues that makes them JUMP from one value to the other without animating. It’s like saying “Don’t animate between 10 and 20”, and it’s lovely.
- Adds step curve option for animations
- Support step animation in HTML export
- Support step animation in iOS export
- Adds color-tone change to track areas where steps happen
And for some lovely improvements to the user experience and interface:
- Resize group layer when sublayer is deleted
- Expand group in hierarchy view after undo brings back group
- Remove jump when changing anchor point
- Code preview works for multiple selection on hierarchy view
- Made send feedback button in main window work again
- Delete tracks in timelineview when deleting a layer
- Resize scenes if too small in sketchImport window
- Fix selection box problems
- Prevent deletion of layers if dragging
- Prevent skipping around in timeline while dragging on stage
- Generate code if code preview is brought up
The things we fixed when exporting your animations to code:
- Round values on export
- Export Images with the same name
- Fix image and font changes on exported HTML
- Made finish export only occur after export finishes
- Prevent playing animation while mouse is down
- Fix gradient export
- Fix mask export for iOS
- Store images by hash in image catalog
- Clear out test files for release < lightens the load
- Fix group resizing when rotated
- Fix problem when dragging too far with locked aspect ratio
- Update gradient mask when necessary
- Fix crash when resizing
I’m going to be honest here, if you grouped layers then had a good time with them, then decided they didn’t really get along and that they probably shouldn’t be in the same group, then you ungrouped them…. well, honestly, we used to just destroy all your hard work.
- Grouping used to destroy animations. Now it doesn’t.
Flow 0.5.0 (03/16/18)
Ok, this release is so big I’ve got to break it up into little bits…
The major reason for taking so long to get back to you with a really great update is that we completely rebuilt our code export pipeline to use templates. This approach makes it “super” easy to customize the code output of Flow into ANY LANGUAGE YOU CAN THINK OF (probably even Latin).
Here’s what we added and fixed for export:
- Added templates < wham.
- Added HTML template
- Added HTML/CSS animation export
- Rebuild iOS export
- Added exporting sounds (iOS) 🎶
- Smart font exporting (iOS) - don’t export system font files, or files specified at www.iosfonts.com
- Fixed exporting text and attributed strings
- Fixed a reset issue for the timeline in an exported project (iOS)
- Fixed how we handle horizontal and vertical flips / scaling in animations (iOS)
- Fixed path rotation export - sets values instead of incrementing them.
- Fixed path animation export
- Added support for exporting masks (iOS)
- Remove old codegen framework
- Use new monolithic interface for Flood (TBH I have no idea what that means, but it’s by far the best commit title for this releasae!)
We updated a few things in the interface, however more of this will be apparent in the NEXT release:
Here’s what we added and fixed for UI:
- Made parent tracks look like child tracks (renders keyvalues into parent tracks, adds gaps, etc…)
- Added a new export panel UI
- As a user you can more easily move keyvalues between, or on top of other values
- Updated the team list in the welcome window
- Initiate code export with a key combo: CMD+E
- Added a Send Feedback help menu item
- Updated a link to tutorials
- Made the eye / lock icons share a single column (option key toggles between them)
- … AND
- … LAST BUT NOT LEAST
- Added the ability to drag and drop layer rows in the hierarchy panel!!@!@#!@#! (@jerbear poured a lot of bsat into this to make it tip-top)
We did our best to take all the great feedback and improve on some critical issues.
Here’s what we added and fixed for UX:
- Fixed the hide / lock button behaviour
- If an animation is running and you change something, the timeline will now pause
- Disabled the ability to accidentally right-click while dragging a keyvalue
- Image tracks do not get generated if there is no change between artboards (this was actually quite tricky because they’re treated like completely separate objects even though they may look identical)
- Fixed the re-expansion of the timeline (e.g. after undoing)
- Fixed the resizing of groups
- Fixed a small problem with layers having the same name
- Added backwards compatibility for text color changes in old Sketch files
- Prevent a silly and almost utterly unintelligible error dialog when exporting and overwriting folders
- Wrote a much nicer, friendly, and generally more eloquent error message when loading old Sketch files
- Fixed some issues with undoing of group move actions
- Fixed / re-added the deletion of keyvalues
- Fixed code preview (we lost it along the way)
We tried to make things a little smoother as well.
- Put the rendering of code preview on a background thread.
- Increased responsiveness of the app when selecting many layers at the same time.
This is a bit like UX, because don’t you just hate it when things don’t look the way you want them to?
Here’s what we added and fixed for Sketch Import:
- Extracted Sketch Kit (our lib for importing / handling Sketch files) into seperate library
- Updated Flow to read Sketch version 49 files - I really wish we knew the future and could anticipate their releases
- Fixed importing of text color
- Fixed mask animation importing
- Remove UUID from Keyvalues (thanks for the tip > @andydent)
- Handle things better when a user has chosen artboards which don’t match
- Handle pattern fill types
We added hundreds and hundreds of automated tests to help us keep things stable so your creativity can keep on Flowing. (By “we” I mean Kobe and Joel)
We added a help window – and some content, but not a lot of content, because we’re a small team, and we’re trying hard, very hard, to bring you a great tool, so we have to spread ourselves a bit thin, but we’re doing our best.
Flow 0.4.4 (03/2/18)
Two small fixes to catch up with the latest file versions in Sketch:
- Updated import to handle Sketch 49 file format
- A kiss from Jeremie
Flow 0.4.3 (02/8/18)
A couple of small fixes to catch up with the latest file versions in Sketch:
- Updated import functionality to properly “handle” slices on images
- Updated import for text color
- New, more clear layout for the .dmg (now it makes sense)
Flow 0.4.2 (10/29/17)
- Removes group layers when they become empty
- Draws shapes into the layer hierarchy (mmmmmmm)
- You can now select layers – in the hierarchy panel – that are locked or hidden… This doesn’t select them on the stage.
- Keeps all your selected rows selected when the document is refreshing (otherwise this would be really annoying).
- You can only edit properties of selections if they’re unlocked and visible.
- You can’t Ducplicate anymore, but you can Duplicate (thx @Michael Franco).
- Fixes the generation of SVG code, it’s prettier now.
- Prevents the exporting of iOS standards fonts (per: iosfonts.com).
- Minimum build is now OSX 10.11 (thx @Martin von Siebenthal).
Flow 0.4.1 (10/23/17)
- Update the brand! New app logos galore ;)
- Adds a nice button for toggling the visibility of layers that are off of the main artboard.
- Updated the look of thumbnails via a lovely QuickLook plugin.
- Lots of visual polishing on the Hierarchy Panel.
- Prevent deleting an object when deleting a track in the timeline.
- Update parent tracks based on child track length in the timeline viewer.
- Update links to external sites and email addresses, they now use createwithflow.com ;)
- Track views show markers for key values in their child tracks.
- Fixes for using custom fonts.
- Keep timeline open while refreshing the document (i.e. so it doesn’t collapse all the time).
- Fixes a bug where editing text in the property field crashed the application.
- Update colors for selected tracks in timeline viewer.
- Hots up the hierarchy view by adding custom icons depending on the layer type.
- Puts some much needed love into how the eye / lock icons work in the hierarchy panel.
- Fixed a bug where groups wouldn’t have opacity applied during import.
- Fixes an error when exporting code with custom fonts.
- Fixes a crash caused by an invalid layer state.
- Makes an error message more palatable – for ensuring duplicate artboards have the same hierarchies.
Flow 0.4.0 38a (10/23/17)
- It was Travis’ birthday two days ago and he was too lazy to write any notes.
Flow 0.4.0 37a (10/19/17)
- It’s Travis’ birthday in two days ago and he can’t be bothered to write any notes.
Flow 0.4.0 36a (09/27/17)
- There’s really no good excuse for not writing anything.