Releases: trevordevore/levure
Releases · trevordevore/levure
0.9.8.1
- Create temp folder for building standalone. In LiveCode 9.0.2 an error is reported if the folder doesn't exist.
- Log error if temp folder for copying files can't be deleted. This can happen if there is a file permissions issue.
0.9.8
levureAppGet
,levureAppSet
, andlevureAppHasProperty
now accept nested keys in string format using the>
character.levureAppGet
andlevureAppSet
now take an optional pCheckExistence parameter which will throw an error if the target property doesn't exist in theapp.yml
file.- Improved error reporting when parsing YAML.
- Errors that occur when loading helpers are now reported.
- Add pAppA array parameter to
finalizePackagerForPlatform
. - When creating a Levure app using the
create-levure-application.livecode
stack progress is output to the message box. - The Undo Manager "edit field" feature no longer includes trailing the CR when storing the current selection in an undo memento.
0.9.7
- Added concept of
template
ui components. LiveCode does not allow controls on a password protected stack to be copied. A newtemplates
key has been added toapp.yml
forui
components that should not have their binary stacks encrypted. Any script only stacks will be encrypted. If your application uses lots of templates for Data Grid's or other purposes then this makes yourapp.yml
file cleaner as you don't have to explicity exclude multiple binary stacks from being password protected. - The file system helper now processes the parameter passed to
urlWakeUp
message on mobile usingProcessCommandLineParameters
. The appropriate message or property is then set depending on whether a file or url triggered the message. - The logger helper no longers logs empty messages in
msgChanged
. - The preferences helper now uses an LCB libraries for macOS and iOS. These libraries use the native OS APIs to store user preferences. If you have an existing application that uses preferences on iOS then you will need to write a handler in
PreloadApplication
that reads in encoded array stored in the existing preferences file and then callsprefsSetPref
to store the value using the new iOS LCB module. - The undo manager helper now dispatches the
EditFieldMementosRestored
message to the target field when undoing a text edit change. (Only active if you callundoRegisterEditFieldType
.) undoReset
no longer wipes out thetarget
for the undo stack.- Added
undoGetTargetForStackCallbacks()
which returns the target that messages are sent to for an undo stack. - When opening a binary ".livecode" stack in Sublime Text it will now be opened in LiveCode.
- YAML parser now supports lists that use {}.
- Allow quoted strings key values within {} and [] and YAML.
- Encrypting ui folders with multiple ui stacks has been fixed. If a
ui
component folder had more than one ui stack in it only the encryption settings for the first stack would be honored. Now the packager generates the list of stacks that are not encrypted prior to moving the stacks into the distribution folder so that all stack encryption settings are honored. - Helpers can now define nested
register components
keys using the>
character (e.g. - key: sql yoga>configuration). - Behaviors defined in helpers are now loaded before general application behaviors.
- Behaviors are now loaded before resolving UI stack names.
LoadBehavior
messages are now dispatched to behavior stacks after all behaviors have been loaded.- Levure no longer tries to save preferences for "shared" if application isn't using "shared" preferences.
- The packager now accounts for libraries that have substacks.
- Add a basic
engine version
condition for externals/extensions in YAML. - Helpers now have a
package folders
option which specifies any folders that should be copied form the helper folder into the packaged application.
v0.9.6
Undo Manager API changes and fixes.
v0.9.5
- When the maximum number of allowed undos was reached in the Undo Manager the undo history would become corrupted.
- When purging the redo or undo queue the order was the reverse of what it should have been.
- The logger will now encode text as UTF-8 when target output is a file.
- The packager now accounts for
./
incopy files
destination
. This will place the file in the root output folder. - The field edits feature in the Undo Manager now logs an undo entry if the user hasn't typed anything for 20 seconds.
- Removed logger plugin from repo. Use
loggerOpenLogMonitor
instead.
v0.9.4
- When adding or removing a file to the recently opened list the wrong prefs API call was being made and an error would occur.
- The external used on macOS for preferences now has 64-bit support (thanks @livecodemark).
center window on screen
has been removed as a window manager stack property. It was been replaced bydefault loc
which takes a list of integers or percentages.- A number of fixes have been made to the window
rect
management code. - Added support for the
mac app store development
build profile. When packaging an application with this profile the application will be signed using theMac Developer: ...
certificate which can be used to test Mac App Store features in a sandbox environment prior to building for themac app store
. - Adds
build profiles filter
property. Thebuild profiles filter
is a comma delimited list of build profile names that affects packaging. It will include or exclude files based on the build profile being used to package the application. When the property is used with an asset (e.g. a helper or a file in thecopy files
section) the asset will be included in any of the build profiles in the list. If a build profile is prefixed with the!
character then the asset will be included in any build profile except that one. - The
EXTERNAL_EDITOR_PORT
.env variable was not being read properly. - Added
levureAppPrintConfig()
which prints out a text representation of the configuration array. - Added the
autoload
property toui
components. If set totrue
then the stack will be loaded into memory. This can be useful if the stack has images that need to be referenced by other stacks. levureStandaloneFilename()
was returning the wrong filename for a packaged app on macOS.- Renamed the
post build script
property inapp.yml
topackager callbacks stackfile
- Folders in a helper folder that begin with a "." are no longer packaged.
- Files in the root folder of a helper folder are no longer explicitly packaged. They must be listed in the
helper.yml
file. - Improved logging during packaging process.
- The
copy files
section will now maintain folder structure of files that are within theapp
folder. Previously a./subfolder/file.txt
referenced would be copied to the./
folder in the final package. Now it will be copied to the./subfolder
folder. finalizePackageForPlatform
now receives the following four parameters: pBuildProfile, pPlatform, pAppFolder, pOutputFolderfinalizePackagedAssets
now receives the following parameters: pBuildProfile, pPlatform, xAppAfinalizePackagedUIAsset
now receives the following parameters: pBuildProfile, pPlatform, pOutputFolder- Added the
finalizeStandaloneForPlatform
message. Handle this message instead ofstandaloneSaved
andmobileStandaloneSaved
. You can handle the messages in your applicationpackager callbacks stackfile
stack script. Parameters are pBuildProfile, pPlatform, pAppA, pAppFolder, pFolderSavedIn. - Added
levureGetUIStacks()
function that returns an array of all stacks that are consideredui
stacks. Helpers can registerui
stacks that are treated like ui stacks but which won't be included inlevureAppGet('ui')
.
v0.9.3
- When password protecting stacks during packaging substacks were not being password protected.
- When packaging a separate stack for password protected stacks is no longer created.
- Improved packaging callbacks which allow more sophisticated helpers. For example, helpers can now help you build installers during the packaging process.
- Fixed an issue when packaging an app on Windows when the app resided on a network drive.
version
andbuild
are now used to set version information when building for iOS and Android.- Added
loggerOpenLogMonitor
to logger helper. Displays log messages in a palette window which can be useful for debugging in the IDE or in test standalones. To use in a standalone use the following code inInitializeApplication
:
if levureBuildProfile() is "test" then
loggerOpenLogMonitor
end if