Our future generation platform is in closed beta. During the beta, expect some rough edges, broken windows overlooking blue sky vistas, and regularly scheduled changes.

Already signed up? Great! You can ignore this.
Need to sign up? Request to participate.

Changelog

v1.2.0 (May 24th, 2022)

  • Added --no-cleanup flag for slack run, which persists the development version of your app in your workspace between runs.
  • Added breaking change warnings to app manifest validation
  • Fixed auto-update support on Linux
  • Updated default template to work with Deno v1.22
  • Added disclaimer about transferring app ownership between workspaces

v1.0.1 (May 5th, 2022)

  • Added support for passing Datastore type generics into client.apps.datastore.* calls. See Using Datastores for details.
  • Added support for directly calling Slack API methods. Now instead of client.apiCall('chat.postMessage', {...}), you can do client.chat.postMessage({...}). See Calling Slack API methods for details.
  • Quickstart installer script properly handles Deno upgrades
  • Panic events in the CLI are now logged
  • Improved logging for local run when developer exits
  • Fixed issue with activity --tail not working properly
  • Improved token rotation

v1.0.0 (April 19, 2022)

Did you build next-generation apps before April 19, 2022?
If you built apps on the next-generation platform before April 19, 2022, you will need to re-authorize your CLI into your workspace. Do this by running slack auth logout and then slack auth login.

What's new?

  1. Projects no longer include Workflows, Triggers, and Functions, and instead are fully centered around Functions.
  2. Functions have been rebuilt from the ground up. You can now create modular "Run On Slack functions" that are deployed to Slack.
    • Functions are defined in the Manifest, and implemented in "source files"
    • For DefineFunction, the id has been moved into the function definition and is now known as callback_id.
    • To make the transition easier, you can now test a function with the new Developer Shortcut that is automatically created for each function.
    • In the future, you can add these as steps to Workflow Builder.
    • In the future, supercharge existing Bolt apps with Remote functions.
  3. You no longer need to define Workflows or Triggers within the project in order to produce a fully functioning app.
  4. Tables have been supplanted by a stronger, more resilient system called Datastores (key-value storage for your apps).
  5. Project.ts is now manifest.ts; your apps are configured in your project's manifest.
  6. New apps require Deno version 1.20.0 or greater to use the new Deno Slack SDK.
  7. Manifests are authored in a manifest file, which can be js, ts, or json.
  8. Each function's runtime logic comes from its own file, which can be js or ts.
  9. The new SDK supports three main areas: functions, types, and datastores.
  10. For DefineType, the id has been moved into the type definition and is now known as callback_id.
  11. The schema types we support are now limited to channels, user, boolean, and string. We also support array of user, channel, and string enum.
  12. We no longer provide a client to every function, and instead let developers opt into the client by importing our separate API library that can be instantiated with the token helper.
  13. TypeScript types are available through the FunctionHandler.
  14. Admin audit logs are now tracked by Platform API instead of CLI SDK
  15. Deno Slack SDK is open sourced!
  16. slack create creates a Reverse String app using the new Deno SDK
  17. slack activity has a new look & feel for deployment logs
  18. slack run now deletes your dev app when the local development server stops
  19. slack doctor has a new look & feel with extra details
  20. slack list now lists all authed accounts instead of listing collaborators
  21. .slack/cli.json has been removed from the project
  22. slack.json is now a required file in the root of your project
  23. slack.json has a new format to make SDK updates smoother
  24. slack tables command is removed (see slack datastore)
  25. CLI no longer manages the creating, updating, & deleting of Triggers

What has not changed?

The following features and functionality have not changed:

  1. Logging in with slack login
  2. Creating an app with slack create
  3. Local development with slack run
  4. Deploying an apps with slack deploy
  5. Debugging deployed apps with slack activity --tail
  6. Managing collaborators with slack collaborators
  7. Using DefineFunction and DefineType

What about my Tables and the data in them?

We will keep your tables and the API routes to access them (apps.tables.*) for two weeks. Please use this time to extract any data that you would like to extract via the API. (The CLI/SDK will no longer support these routes, so you'll need to use the API directly). We've put together some scripts to help the migration process.