Skip to content

Releases: placemark/placemark

Repo reorg, Deploy to Vercel

27 May 22:38
7764800
Compare
Choose a tag to compare

This repository now only contains the /play source code - the non-fullstack clientside-only version of Placemark. That's what I've been maintaining, because Placemark-the-free-product needs to be free for me to run because I'm not making revenue. The fullstack application is still around at placemark-fullstack and if you want the real, full-fat, SaaS-capable app, it's still in the saas branch.

The other news is that it's easier to deploy this now! There's a Deploy to Vercel button which does exactly that. Here's that button for reference, clickable here:

Deploy with Vercel

Let a thousand Placemarks bloom!

placemark-vercel.mov

URL API

26 May 22:03
24fbf52
Compare
Choose a tag to compare

Placemark now supports a URL API, just like geojson.io does. So for example you can load

https://play.placemark.io/?load=https://d2ad6b4ur7yvpq.cloudfront.net/naturalearth-3.3.0/ne_110m_admin_0_tiny_countries.geojson

And it'll automatically download and add that GeoJSON file to the page.

You can also use data urls so the data can be in the URL:

https://play.placemark.io/?load=data:application/json,%7B%22type%22%3A%22Point%22%2C%22coordinates%22%3A%5B0%2C0%5D%2C%22properties%22%3A%7B%7D%7D


  • For data urls, if the data is geojson, it'll be instantly added. If it's another format, then it'll pop open a dialog
  • The URL api uses Placemark's default file detection, and if it fails, it'll generate an error message
  • The PR for this is here, if you'd like to read it: #72

Mapbox v3 and RTL support

10 Mar 16:05
dd0f48e
Compare
Choose a tag to compare

Pretty quick one this week!

  • RTL languages are now correctly displayed in geometry labels. Thanks @galdalali for reporting this! #57
  • Mapbox GL is updated to v3

Monorepo & /play fork

19 Feb 15:55
628dd98
Compare
Choose a tag to compare

This repo is now a monorepo. It uses pnpm to do it. In effect, this lets multiple npm modules with multiple package.json files live in the same repository and reuse some of each other's dependencies.

The big change that this enabled is #51 - a fork that supports the Placemark Play free interface again. And that interface is now hosted at https://play.placemark.io/ and the converter is online at https://play.placemark.io/converter

Both are client-side-only applications, so I can run them cheaply. It would be great if Placemark was modularized and this was a different configuration or a minimal frontend that reused modules, but this is an in-between step which is pretty dirty: the packages/play codebase is basically placemark with a ton of deletions. I have just enough time to try to make something useful, not enough time to do a proper job making it modularized right now. If you have time, please submit a PR!

Feb 10

10 Feb 23:14
100e47e
Compare
Choose a tag to compare

The theme of this week's changes is simplification. Placemark, the OSS project, started as exactly the codebase that was a software-as-a-service product. So it had things like billing, product analytics, the functionality to sign up for a mailing list, and so on. These things are fun, but don't really make sense if you're running an installation for your organization: you don't want to quota-limit maps and require upgrading and all of that. So, this week I removed from the codebase:

  • Stripe billing, its UI, webhook, proxy system, quota management, database management of stripe customers
  • CampaignMonitor integration, which was used for signing up to the mailing list
  • Posthog analytics, which were used for product analytics.

Between the two PRs 100e47e 100e47e this removed a lot of code and a lot of dependencies. Lightness!

The full-fat codebase with all of the SaaS integrations will remain in the saas branch.

February 3

03 Feb 19:09
6fbe905
Compare
Choose a tag to compare

Hi! I'm thinking about using Placemark releases as a way to checkpoint any kind of work or contributions that come in. Here's the first!

My highest priority for the near future with Placemark is to make it easy for people to contribute to the project. This means having solid documentation for development setup, support for dev with Docker, and reasonable versions of parts of the stack. It also means having good process for catching errors, including CI tests.

So, since Placemark was initially open sourced, here's what's new!

  • Prisma updated to v5 in #28. This is important because Prisma 4 had some bad issues that were triggered when it was used in Docker. v5 is the current version of Prisma and fixes those issues, plus it introduces some performance improvements.
  • @yuiseki contributed a Dockerfile in #16 🎉 🎉 ! Thank you!
  • @zeeyang contributed an update to the latest Blitz version in #19 Thank you!
  • We're now on TypeScript 5 (the current version) and Next.js 14 (the current version)
  • Tests that run on CI were introduced in #34, which should make future PRs easier to review!